コード例 #1
0
    public MeshContainer GenerateMesh(int region = -1, bool generateUV = false, int depth = -1)
    {
        TMutableGeoMesh geomesh = new TMutableGeoMesh();

        xCollectVertexes(geomesh, region, depth);
        geomesh.IndexTriangles();

        BuildNormals();

        List <Vector3> vertices = new List <Vector3>();
        List <Vector3> normals  = new List <Vector3>();
        List <Vector2> uv       = new List <Vector2>();

        foreach (int nodeIndex in geomesh.indexes)
        {
            vertices.Add(xNodes[nodeIndex].position);
            normals.Add(xNodes[nodeIndex].normal);
        }

        //Debug.Log(vertices.Count);
        //Debug.Log(geomesh.triangles.Count);

        /*Mesh mesh = new Mesh();
         * mesh.vertices = vertices.ToArray();
         * mesh.normals = normals.ToArray();
         * mesh.triangles = geomesh.triangles.ToArray();
         * return mesh;*/

        MeshContainer meshContainer = new MeshContainer();

        meshContainer.vertices  = vertices.ToArray();
        meshContainer.normals   = normals.ToArray();
        meshContainer.triangles = geomesh.triangles.ToArray();

        return(meshContainer);
    }