1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Fix the absolute NodePath was calculated incorrectly when "Reparent to New Node"

Since the new parent node has not yet been added to the tree, the
`new_base_path` needs to be calculated using the `base_path`.
This commit is contained in:
风青山
2025-07-17 21:57:22 +08:00
parent f92f1ce9c0
commit 2f5af689fd
2 changed files with 7 additions and 2 deletions

View File

@@ -176,7 +176,7 @@ void MeshInstance3D::_resolve_skeleton_path() {
Ref<SkinReference> new_skin_reference;
if (!skeleton_path.is_empty()) {
Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(get_node(skeleton_path));
Skeleton3D *skeleton = Object::cast_to<Skeleton3D>(get_node_or_null(skeleton_path)); // skeleton_path may be outdated when reparenting.
if (skeleton) {
if (skin_internal.is_null()) {
new_skin_reference = skeleton->register_skin(skeleton->create_skin_from_rest_transforms());