private MeshData GetSeaBottomData() { var size = _heigthData.GetLength(0); if (size % 2 == 0) { throw new ArgumentException(); } var step = size - 1; var vertices = Assistant.CreateVertices(2, Consts.UnitSize); for (int x = 0; x < size; x += step) { for (int z = 0; z < size; z += step) { vertices[((x / step) * ((size - 1) / step + 1)) + (z / step)].y = _heigthData[x, z] * _maxHeight; } } return(new MeshData() { Vertices = vertices, Triangles = Assistant.CreateTriangles(2), UVs = Assistant.CreateUvs(2) }); }