Browse Source

GLTFLoader: Fix node name assignment order.

Don McCurdy 4 years ago
parent
commit
f93cfa4150
2 changed files with 8 additions and 4 deletions
  1. 4 2
      examples/js/loaders/GLTFLoader.js
  2. 4 2
      examples/jsm/loaders/GLTFLoader.js

+ 4 - 2
examples/js/loaders/GLTFLoader.js

@@ -3413,6 +3413,9 @@ THREE.GLTFLoader = ( function () {
 
 		var nodeDef = json.nodes[ nodeIndex ];
 
+		// reserve node's name before its dependencies, so the root has the intended name.
+		var nodeName = nodeDef.name ? parser.createUniqueName( nodeDef.name ) : '';
+
 		return ( function () {
 
 			var pending = [];
@@ -3504,8 +3507,7 @@ THREE.GLTFLoader = ( function () {
 			if ( nodeDef.name ) {
 
 				node.userData.name = nodeDef.name;
-
-				node.name = parser.createUniqueName( nodeDef.name );
+				node.name = nodeName;
 
 			}
 

+ 4 - 2
examples/jsm/loaders/GLTFLoader.js

@@ -3476,6 +3476,9 @@ var GLTFLoader = ( function () {
 
 		var nodeDef = json.nodes[ nodeIndex ];
 
+		// reserve node's name before its dependencies, so the root has the intended name.
+		var nodeName = nodeDef.name ? parser.createUniqueName( nodeDef.name ) : '';
+
 		return ( function () {
 
 			var pending = [];
@@ -3567,8 +3570,7 @@ var GLTFLoader = ( function () {
 			if ( nodeDef.name ) {
 
 				node.userData.name = nodeDef.name;
-
-				node.name = parser.createUniqueName( nodeDef.name );
+				node.name = nodeName;
 
 			}