WaterBasic.cs 903 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using UnityEngine;
  3. namespace UnityStandardAssets.Water
  4. {
  5. [ExecuteInEditMode]
  6. public class WaterBasic : MonoBehaviour
  7. {
  8. void Update()
  9. {
  10. Renderer r = GetComponent<Renderer>();
  11. if (!r)
  12. {
  13. return;
  14. }
  15. Material mat = r.sharedMaterial;
  16. if (!mat)
  17. {
  18. return;
  19. }
  20. Vector4 waveSpeed = mat.GetVector("WaveSpeed");
  21. float waveScale = mat.GetFloat("_WaveScale");
  22. float t = Time.time / 20.0f;
  23. Vector4 offset4 = waveSpeed * (t * waveScale);
  24. Vector4 offsetClamped = new Vector4(Mathf.Repeat(offset4.x, 1.0f), Mathf.Repeat(offset4.y, 1.0f),
  25. Mathf.Repeat(offset4.z, 1.0f), Mathf.Repeat(offset4.w, 1.0f));
  26. mat.SetVector("_WaveOffset", offsetClamped);
  27. }
  28. }
  29. }