Ver código fonte

Merge pull request #53140 from V-Sekai/gltf_naming_fix

Rémi Verschelde 4 anos atrás
pai
commit
dbe0e4613a
1 arquivos alterados com 5 adições e 2 exclusões
  1. 5 2
      modules/gltf/gltf_document.cpp

+ 5 - 2
modules/gltf/gltf_document.cpp

@@ -598,9 +598,9 @@ Error GLTFDocument::_parse_scenes(Ref<GLTFState> state) {
 		}
 
 		if (s.has("name") && !String(s["name"]).empty() && !((String)s["name"]).begins_with("Scene")) {
-			state->scene_name = _gen_unique_name(state, s["name"]);
+			state->scene_name = s["name"];
 		} else {
-			state->scene_name = _gen_unique_name(state, state->filename);
+			state->scene_name = state->filename;
 		}
 	}
 
@@ -4960,6 +4960,9 @@ void GLTFDocument::_assign_scene_names(Ref<GLTFState> state) {
 
 		n->set_name(_gen_unique_name(state, n->get_name()));
 	}
+
+	// Assign a unique name to the scene last to avoid naming conflicts with the root
+	state->scene_name = _gen_unique_name(state, state->scene_name);
 }
 
 BoneAttachment *GLTFDocument::_generate_bone_attachment(Ref<GLTFState> state, Skeleton *skeleton, const GLTFNodeIndex node_index, const GLTFNodeIndex bone_index) {