예제 #1
0
    // 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;
        }
    }