From a73e80b5316c631486daf206b33f34d8962e4acd Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Tue, 10 Oct 2023 18:32:30 -0400 Subject: [PATCH] mdlpart: Improve exported GLTF hierarchy a bit --- parts/mdl/mdlpart.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/parts/mdl/mdlpart.cpp b/parts/mdl/mdlpart.cpp index 2e50d3b..603c953 100644 --- a/parts/mdl/mdlpart.cpp +++ b/parts/mdl/mdlpart.cpp @@ -232,6 +232,7 @@ void MDLPart::exportModel(const QString& fileName) { auto& gltfSkin = gltfModel.skins.emplace_back(); gltfSkin.name = gltfSkeletonNode.name; + gltfSkin.skeleton = 0; for (int i = 1; i < gltfModel.nodes.size(); i++) { gltfSkin.joints.push_back(i); } @@ -273,6 +274,8 @@ void MDLPart::exportModel(const QString& fileName) { gltfNode.name = models[0].name.toStdString() + " Part " + std::to_string(i) + ".0"; gltfNode.skin = 0; + gltfSkeletonNode.children.push_back(gltfModel.nodes.size()); + gltfNode.mesh = gltfModel.meshes.size(); auto& gltfMesh = gltfModel.meshes.emplace_back(); @@ -356,6 +359,10 @@ void MDLPart::exportModel(const QString& fileName) { } } + auto &scene = gltfModel.scenes.emplace_back(); + scene.name = models[0].name.toStdString(); + scene.nodes = {0}; + tinygltf::TinyGLTF loader; loader.WriteGltfSceneToFile(&gltfModel, fileName.toStdString(), true, true, false, true); }