瀏覽代碼

Merge pull request #87126 from ryevdokimov/fix-84424(2)

Fix position and basis of 3D Scenes instantiated via drag and drop
Rémi Verschelde 1 年之前
父節點
當前提交
a1cc37966c
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      editor/plugins/node_3d_editor_plugin.cpp

+ 2 - 1
editor/plugins/node_3d_editor_plugin.cpp

@@ -4371,7 +4371,8 @@ bool Node3DEditorViewport::_create_instance(Node *parent, String &path, const Po
 		}
 
 		Transform3D new_tf = node3d->get_transform();
-		new_tf.origin = parent_tf.affine_inverse().xform(preview_node_pos);
+		new_tf.origin = parent_tf.affine_inverse().xform(preview_node_pos + node3d->get_position());
+		new_tf.basis = parent_tf.affine_inverse().basis * new_tf.basis;
 
 		undo_redo->add_do_method(instantiated_scene, "set_transform", new_tf);
 	}