Triangle.ConvertToMeshes C# (CSharp) Méthode

ConvertToMeshes() public static méthode

public static ConvertToMeshes ( List triangles, string name = "TriangleMesh" ) : List
triangles List
name string
Résultat List
    public static List<Mesh> ConvertToMeshes(List<Triangle> triangles, string name = "TriangleMesh")
    {
        List<Mesh> res = new List<Mesh> ();

        Mesh mesh = new Mesh();
        res.Add (mesh);
        mesh.name = name+"_"+res.Count;
        List<int> indices = new List<int>();
        List<Vector3> positions = new List<Vector3>();
        List<Vector2> uvs = new List<Vector2>();
        int i = 0;
        foreach (var t in triangles){
            for (int j=0;j<3;j++){
                indices.Add(i);
                positions.Add(t.points[j].ToVector3());
                uvs.Add(t.uvs[j].ToVector2());
                i++;
            }
            if (i >= 65534) {

                // save current mesh data
                mesh.vertices = positions.ToArray();
                mesh.uv = uvs.ToArray();
                mesh.SetIndices(indices.ToArray(), MeshTopology.Triangles,0);
                // reset mesh data
                mesh = new Mesh();
                res.Add (mesh);
                mesh.name = name+"_"+res.Count;
                indices = new List<int>();
                positions = new List<Vector3>();
                uvs = new List<Vector2>();

                i = 0;
            }
        }
        mesh.vertices = positions.ToArray();
        mesh.uv = uvs.ToArray();
        mesh.SetIndices(indices.ToArray(), MeshTopology.Triangles,0);
        return res;
    }