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; } } } }