From c5f145786f4c6d2fe4bea831dfc16e52228920a5 Mon Sep 17 00:00:00 2001 From: chai <215380520@qq.com> Date: Sun, 19 May 2024 16:05:01 +0800 Subject: * move --- .../GameCode/SuperSimpleOceanAnimation.cs | 47 ++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs (limited to 'Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs') diff --git a/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs b/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs new file mode 100644 index 0000000..f30e181 --- /dev/null +++ b/Thronefall_1_0/GameCode/SuperSimpleOceanAnimation.cs @@ -0,0 +1,47 @@ +using System; +using UnityEngine; + +public class SuperSimpleOceanAnimation : MonoBehaviour +{ + private Vector3 startPosition; + + private float time; + + [SerializeField] + private Vector3 waveHeight; + + [SerializeField] + private float waveFrequency = 0.5f; + + [SerializeField] + private Vector3 waveSideways; + + [SerializeField] + private float waveSidewaysFrequency = 0.5f; + + [SerializeField] + private Material targetMaterial; + + [SerializeField] + private float panSpeed = 2f; + + private Vector2 offset; + + private void Start() + { + startPosition = base.transform.position; + } + + private void Update() + { + time += Time.deltaTime; + offset.x = time * panSpeed; + base.transform.position = startPosition; + base.transform.position += waveHeight * Mathf.Sin(time * waveFrequency * MathF.PI); + base.transform.position += waveSideways * Mathf.Sin(time * waveSidewaysFrequency * MathF.PI); + if (targetMaterial != null) + { + targetMaterial.SetTextureOffset("_BaseMap", offset); + } + } +} -- cgit v1.1-26-g67d0