1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-22 12:07:45 +00:00

mdlpart: Improve exported GLTF hierarchy a bit

This commit is contained in:
Joshua Goins 2023-10-10 18:32:30 -04:00
parent 2dceeeaec3
commit a73e80b531

View file

@ -232,6 +232,7 @@ void MDLPart::exportModel(const QString& fileName) {
auto& gltfSkin = gltfModel.skins.emplace_back(); auto& gltfSkin = gltfModel.skins.emplace_back();
gltfSkin.name = gltfSkeletonNode.name; gltfSkin.name = gltfSkeletonNode.name;
gltfSkin.skeleton = 0;
for (int i = 1; i < gltfModel.nodes.size(); i++) { for (int i = 1; i < gltfModel.nodes.size(); i++) {
gltfSkin.joints.push_back(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.name = models[0].name.toStdString() + " Part " + std::to_string(i) + ".0";
gltfNode.skin = 0; gltfNode.skin = 0;
gltfSkeletonNode.children.push_back(gltfModel.nodes.size());
gltfNode.mesh = gltfModel.meshes.size(); gltfNode.mesh = gltfModel.meshes.size();
auto& gltfMesh = gltfModel.meshes.emplace_back(); 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; tinygltf::TinyGLTF loader;
loader.WriteGltfSceneToFile(&gltfModel, fileName.toStdString(), true, true, false, true); loader.WriteGltfSceneToFile(&gltfModel, fileName.toStdString(), true, true, false, true);
} }