// Update is called once per frame void Update() { if (!Application.isPlaying) { triangulator = new Triangulator (); Vector2[] vertex = polyCollider.points; triangulator.UpdatePoints (vertex); int[] index = triangulator.Triangulate (); Vector3[] vertex3D = new Vector3[vertex.Length]; for (int i = 0; i < vertex.Length; i++) { vertex3D [i] = vertex [i]; } Vector2[] uvs = new Vector2[vertex.Length]; for (int i=0; i < uvs.Length; i++) { uvs [i] = new Vector2 (vertex [i].x, vertex [i].y); } Mesh msh = new Mesh (); msh.vertices = vertex3D; msh.triangles = index; msh.uv = uvs; msh.RecalculateBounds (); msh.RecalculateNormals (); mshFilter.mesh = msh; } }