diff --git a/glTF-BinImporter/GltfRhinoConverter.cs b/glTF-BinImporter/GltfRhinoConverter.cs index 001f981..e4f35b4 100644 --- a/glTF-BinImporter/GltfRhinoConverter.cs +++ b/glTF-BinImporter/GltfRhinoConverter.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using glTFLoader.Schema; namespace glTF_BinImporter { @@ -100,6 +101,11 @@ public bool Convert() for(int i = 0; i < gltf.Meshes.Length; i++) { + if (gltf.Meshes[i].Name == null) + { + OverwriteMeshName(i, gltf.Meshes[i], gltf.Nodes); + } + GltfRhinoMeshConverter converter = new GltfRhinoMeshConverter(gltf.Meshes[i], this, doc); meshHolders.Add(converter.Convert()); } @@ -109,6 +115,16 @@ public bool Convert() return true; } + private void OverwriteMeshName(int meshIndex, Mesh gltfMesh, Node[] gltfNodes) + { + for (var i = 0; i < gltf.Nodes.Length; i++) + { + var node = gltf.Nodes[i]; + if (node.Mesh != meshIndex || node.Mesh == null) continue; + gltf.Meshes[meshIndex].Name = node.Name; + } + } + private void ProcessHierarchy() { HashSet children = new HashSet();