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); }