summaryrefslogtreecommitdiffstats
path: root/modules/gltf/skin_tool.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gltf/skin_tool.cpp')
-rw-r--r--modules/gltf/skin_tool.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/modules/gltf/skin_tool.cpp b/modules/gltf/skin_tool.cpp
index a344334d93..1522c0e324 100644
--- a/modules/gltf/skin_tool.cpp
+++ b/modules/gltf/skin_tool.cpp
@@ -602,6 +602,11 @@ Error SkinTool::_create_skeletons(
skeleton->set_bone_pose_rotation(bone_index, node->transform.basis.get_rotation_quaternion());
skeleton->set_bone_pose_scale(bone_index, node->transform.basis.get_scale());
+ // Store bone-level GLTF extras in skeleton per bone meta.
+ if (node->has_meta("extras")) {
+ skeleton->set_bone_meta(bone_index, "extras", node->get_meta("extras"));
+ }
+
if (node->parent >= 0 && nodes[node->parent]->skeleton == skel_i) {
const int bone_parent = skeleton->find_bone(nodes[node->parent]->get_name());
ERR_FAIL_COND_V(bone_parent < 0, FAILED);