public UnityMesh(AssetCollection assetCollection, VisualizerMesh visualizerMesh, UnityNode parent, string label) : base(parent, label) { var renderer = gameObject.AddComponent <MeshRenderer>(); var color = visualizerMesh.Color.ToUnityColor(); renderer.material = assetCollection.CreateMaterial(color); var filter = gameObject.AddComponent <MeshFilter>(); filter.mesh = visualizerMesh.ToUnityMesh(); }
public static Mesh ToUnityMesh(this VisualizerMesh visualizerMesh) { var vertices = visualizerMesh.Vertices.Select(vertex => new Vector3(vertex.X, vertex.Y, vertex.Z)) .ToArray(); var triangleIndices = visualizerMesh.TriangleIndices.SelectMany(list => list).ToArray(); var mesh = new Mesh(); mesh.vertices = vertices; mesh.triangles = triangleIndices; mesh.RecalculateNormals(); return(mesh); }
public void AddMesh(VisualizerMesh mesh) { nodes.Add(mesh); }
public void AddMesh(VisualizerMesh mesh) { var meshNode = new UnityMesh(assetCollection, mesh, rootNode, mesh.Label); nodes.Add(meshNode); }