From becfdbf8142bd52796d88a33c326da322e5048d8 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 8 Sep 2024 14:40:20 +0200 Subject: [PATCH] chore: omit skel node when dumping gltf without armature --- src/ObjWriting/XModel/Gltf/GltfWriter.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp index 05512e73..8d1017f5 100644 --- a/src/ObjWriting/XModel/Gltf/GltfWriter.cpp +++ b/src/ObjWriting/XModel/Gltf/GltfWriter.cpp @@ -89,6 +89,10 @@ namespace gltf.nodes.emplace(); m_mesh_node = gltf.nodes->size(); + + if (xmodel.m_bones.empty()) + m_root_node = m_mesh_node; + gltf.nodes->emplace_back(std::move(meshNode)); } @@ -96,6 +100,9 @@ namespace { JsonNode rootNode; + if (xmodel.m_bones.empty()) + return; + if (!xmodel.m_name.empty()) rootNode.name = std::format("{}_skel", xmodel.m_name); @@ -104,9 +111,7 @@ namespace rootNode.children.emplace(); rootNode.children->push_back(m_mesh_node); - - if (!xmodel.m_bones.empty()) - rootNode.children->push_back(m_first_bone_node); + rootNode.children->push_back(m_first_bone_node); m_root_node = gltf.nodes->size(); gltf.nodes->emplace_back(std::move(rootNode));