Skip to content

Commit 988a7f7

Browse files
committed
Merge pull request #111507 from nikitalita/fix-skeleton-dynamic-physics
Scene importer: Fix skeleton path when physics body type is dynamic
2 parents 0b4cca3 + 03923c6 commit 988a7f7

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

editor/import/3d/resource_importer_scene.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1699,6 +1699,11 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
16991699
base = col;
17001700
} break;
17011701
case MESH_PHYSICS_RIGID_BODY_AND_MESH: {
1702+
NodePath skeleton_path = mi->get_skeleton_path();
1703+
Skeleton3D *skeleton = nullptr;
1704+
if (!skeleton_path.is_empty()) {
1705+
skeleton = Object::cast_to<Skeleton3D>(mi->get_node_or_null(skeleton_path));
1706+
}
17021707
RigidBody3D *rigid_body = memnew(RigidBody3D);
17031708
rigid_body->set_name(p_node->get_name());
17041709
_copy_meta(p_node, rigid_body);
@@ -1714,6 +1719,10 @@ Node *ResourceImporterScene::_post_fix_node(Node *p_node, Node *p_root, HashMap<
17141719
rigid_body->set_physics_material_override(pmo);
17151720
}
17161721
base = rigid_body;
1722+
if (skeleton) {
1723+
skeleton_path = mi->get_path_to(skeleton);
1724+
mi->set_skeleton_path(skeleton_path);
1725+
}
17171726
} break;
17181727
case MESH_PHYSICS_STATIC_COLLIDER_ONLY: {
17191728
StaticBody3D *col = memnew(StaticBody3D);

0 commit comments

Comments
 (0)