Selaa lähdekoodia

Merge pull request #49458 from JFonS/fix_unwrap_xform

Rename get_parent_spatial() to get_parent_node_3d()
Rémi Verschelde 4 vuotta sitten
vanhempi
commit
07b8fffa7c

+ 1 - 1
doc/classes/Node3D.xml

@@ -20,7 +20,7 @@
 				Forces the transform to update. Transform changes in physics are not instant for performance reasons. Transforms are accumulated and then set. Use this if you need an up-to-date transform when doing physics operations.
 			</description>
 		</method>
-		<method name="get_parent_spatial" qualifiers="const">
+		<method name="get_parent_node_3d" qualifiers="const">
 			<return type="Node3D">
 			</return>
 			<description>

+ 1 - 1
editor/import/resource_importer_scene.cpp

@@ -1213,7 +1213,7 @@ void ResourceImporterScene::_generate_meshes(Node *p_node, const Dictionary &p_m
 					Node3D *n = src_mesh_node;
 					while (n) {
 						xf = n->get_transform() * xf;
-						n = n->get_parent_spatial();
+						n = n->get_parent_node_3d();
 					}
 
 					Vector<uint8_t> lightmap_cache;

+ 7 - 3
scene/3d/node_3d.cpp

@@ -285,8 +285,12 @@ Transform3D Node3D::get_local_gizmo_transform() const {
 }
 #endif
 
-Node3D *Node3D::get_parent_spatial() const {
-	return data.parent;
+Node3D *Node3D::get_parent_node_3d() const {
+	if (data.top_level) {
+		return nullptr;
+	}
+
+	return Object::cast_to<Node3D>(get_parent());
 }
 
 Transform3D Node3D::get_relative_transform(const Node *p_parent) const {
@@ -751,7 +755,7 @@ void Node3D::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("get_scale"), &Node3D::get_scale);
 	ClassDB::bind_method(D_METHOD("set_global_transform", "global"), &Node3D::set_global_transform);
 	ClassDB::bind_method(D_METHOD("get_global_transform"), &Node3D::get_global_transform);
-	ClassDB::bind_method(D_METHOD("get_parent_spatial"), &Node3D::get_parent_spatial);
+	ClassDB::bind_method(D_METHOD("get_parent_node_3d"), &Node3D::get_parent_node_3d);
 	ClassDB::bind_method(D_METHOD("set_ignore_transform_notification", "enabled"), &Node3D::set_ignore_transform_notification);
 	ClassDB::bind_method(D_METHOD("set_as_top_level", "enable"), &Node3D::set_as_top_level);
 	ClassDB::bind_method(D_METHOD("is_set_as_top_level"), &Node3D::is_set_as_top_level);

+ 1 - 1
scene/3d/node_3d.h

@@ -125,7 +125,7 @@ public:
 		NOTIFICATION_LOCAL_TRANSFORM_CHANGED = 44,
 	};
 
-	Node3D *get_parent_spatial() const;
+	Node3D *get_parent_node_3d() const;
 
 	Ref<World3D> get_world_3d() const;