chore: omit skel node when dumping gltf without armature

This commit is contained in:
Jan 2024-09-08 14:40:20 +02:00
parent 9b64ba1623
commit becfdbf814
No known key found for this signature in database
GPG Key ID: 44B581F78FF5C57C

View File

@ -89,6 +89,10 @@ namespace
gltf.nodes.emplace(); gltf.nodes.emplace();
m_mesh_node = gltf.nodes->size(); m_mesh_node = gltf.nodes->size();
if (xmodel.m_bones.empty())
m_root_node = m_mesh_node;
gltf.nodes->emplace_back(std::move(meshNode)); gltf.nodes->emplace_back(std::move(meshNode));
} }
@ -96,6 +100,9 @@ namespace
{ {
JsonNode rootNode; JsonNode rootNode;
if (xmodel.m_bones.empty())
return;
if (!xmodel.m_name.empty()) if (!xmodel.m_name.empty())
rootNode.name = std::format("{}_skel", xmodel.m_name); rootNode.name = std::format("{}_skel", xmodel.m_name);
@ -104,8 +111,6 @@ namespace
rootNode.children.emplace(); rootNode.children.emplace();
rootNode.children->push_back(m_mesh_node); 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(); m_root_node = gltf.nodes->size();