Sinus for rolling waves

I got this script on a plane mesh doing some nice rolling waves however it looks a bit too perfect - the “waves” are rolling in one direction only. I’d like to add some noise to it

var scale = 10.0;
var speed = 1.0;
private var baseHeight : Vector3[];

function Update () {
        var mesh : Mesh = GetComponent(MeshFilter).mesh;
        
        if (baseHeight == null)
                baseHeight = mesh.vertices;
        
        var vertices = new Vector3[baseHeight.Length];
        for (var i=0;i<vertices.Length;i++)
        {
                var vertex = baseHeight*;*

vertex.y += Mathf.Sin(Time.time * speed+ baseHeight.x + baseHeight.y + baseHeight_.z) * scale;
vertices = vertex;
}
mesh.vertices = vertices;
mesh.RecalculateNormals();
}_

You can add some perlin noise to the waves:

#pragma strict

var scale = 10.0;
var speed = 1.0;
var noiseStrength = 4.0;

private var baseHeight : Vector3[];

function Update () {
        var mesh : Mesh = GetComponent(MeshFilter).mesh;
 
        if (baseHeight == null)
                baseHeight = mesh.vertices;
 
        var vertices = new Vector3[baseHeight.Length];
        for (var i=0;i<vertices.Length;i++)
        {
                var vertex = baseHeight*;*

vertex.y += Mathf.Sin(Time.time * speed+ baseHeight.x + baseHeight.y + baseHeight_.z) * scale;
vertex.y += Mathf.PerlinNoise(baseHeight.x + noiseWalk, baseHeight.y + Mathf.Sin(Time.time * 0.1) ) * noiseStrength;
vertices = vertex;
}
mesh.vertices = vertices;
mesh.RecalculateNormals();
}_

Add at the end of the update function to update the MeshCollider:

GetComponent().sharedMesh = mesh;

However, changing a static collider like this is very intensive for physics. So I suggest adding a kinematic Rigidbody.