コード例 #1
0
    public void UpdateMesh()
    {
        Triangulator sc = GetComponent <Triangulator>();

        if (sc != null)
        {
            int        numberOfPoints = sc.GetNumberOfPoints();
            Vector3[]  vertices;
            MeshFilter mf;
            Mesh       mesh;
            mf       = GetComponent <MeshFilter>();
            mesh     = mf.mesh;
            vertices = new Vector3[numberOfPoints];

            Vector2[] uvs = new Vector2[numberOfPoints];

            //  int[] triangles = new int[(numberOfPoints - 2) * 3];
            int[] triangles = new int[(numberOfPoints) * 3];
            triangles = sc.GetTriangulatorIdxs();

            mesh.vertices  = sc.GetVertices();
            mesh.triangles = triangles;
            mesh.uv        = MyVector3Extension.ToVector2Array(mesh.vertices);
            UnityEditor.MeshUtility.Optimize(mesh);
            mesh.RecalculateNormals();

            for (int i = 0; i < mesh.vertices.Length; i++)
            {
                Debug.Log("generator vert:" + mesh.vertices[i]);
            }
            Debug.Log(mesh.vertices.Length.ToString() + " mesh.ver len");
        }
    }