using UnityEngine;
public class OceanWave : MonoBehaviour
{
//海浪的速度
public float waveSpeed = 1f;
//海浪的大小
public float waveScale = 0.5f;
//海浪的高度
public float waveHeight = 0.5f;
private Mesh mesh;
private Vector3[] originalVertices;
private Vector3[] currentVertices;
private void Start()
{
mesh = GetComponent<MeshFilter>().mesh;
originalVertices = mesh.vertices;
currentVertices = new Vector3[originalVertices.Length];
}
private void Update()
{
for (int i = 0; i < originalVertices.Length; i++)
{
Vector3 newVertex = originalVertices[i];
newVertex.y += Mathf.Sin(Time.time * waveSpeed + originalVertices[i].x + originalVertices[i].z) * waveScale * waveHeight;
currentVertices[i] = newVertex;
}
mesh.vertices = currentVertices;
mesh.RecalculateNormals();
}
}