// Crest Ocean System // Copyright 2020 Wave Harmonic Ltd using UnityEngine; namespace Crest.Examples { /// /// Places the game object on the water surface by moving it vertically. /// [AddComponentMenu(Crest.Internal.Constants.MENU_PREFIX_EXAMPLE + "Ocean Sample Height Demo")] public class OceanSampleHeightDemo : MonoBehaviour { /// /// The version of this asset. Can be used to migrate across versions. This value should /// only be changed when the editor upgrades the version. /// [SerializeField, HideInInspector] #pragma warning disable 414 int _version = 0; #pragma warning restore 414 SampleHeightHelper _sampleHeightHelper = new SampleHeightHelper(); void Update() { // Assume a primitive like a sphere or box. var r = transform.lossyScale.magnitude; _sampleHeightHelper.Init(transform.position, 2f * r); if (_sampleHeightHelper.Sample(out var height)) { var pos = transform.position; pos.y = height; transform.position = pos; } } } }