34 lines
915 B
C#
34 lines
915 B
C#
using UnityEngine;
|
|
using UnityEngine.Rendering.HighDefinition;
|
|
|
|
[ExecuteInEditMode]
|
|
public class FitToWaterSurface : MonoBehaviour
|
|
{
|
|
public WaterSurface targetSurface;
|
|
|
|
public bool includeDeformation = true;
|
|
|
|
public bool excludeSimulation;
|
|
|
|
private WaterSearchParameters searchParameters;
|
|
|
|
private WaterSearchResult searchResult;
|
|
|
|
private void Update()
|
|
{
|
|
if (targetSurface != null)
|
|
{
|
|
searchParameters.startPositionWS = searchResult.candidateLocationWS;
|
|
searchParameters.targetPositionWS = base.gameObject.transform.position;
|
|
searchParameters.error = 0.01f;
|
|
searchParameters.maxIterations = 8;
|
|
searchParameters.includeDeformation = includeDeformation;
|
|
searchParameters.excludeSimulation = excludeSimulation;
|
|
if (targetSurface.ProjectPointOnWaterSurface(searchParameters, out searchResult))
|
|
{
|
|
base.gameObject.transform.position = searchResult.projectedPositionWS;
|
|
}
|
|
}
|
|
}
|
|
}
|