소스 검색

GLTFLoader: Set glTF primitive extensions to userData.

Don McCurdy 4 년 전
부모
커밋
5602d421d6
2개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      examples/js/loaders/GLTFLoader.js
  2. 3 0
      examples/jsm/loaders/GLTFLoader.js

+ 3 - 0
examples/js/loaders/GLTFLoader.js

@@ -3191,6 +3191,7 @@ THREE.GLTFLoader = ( function () {
 
 
 		var parser = this;
 		var parser = this;
 		var json = this.json;
 		var json = this.json;
+		var extensions = this.extensions;
 
 
 		var meshDef = json.meshes[ meshIndex ];
 		var meshDef = json.meshes[ meshIndex ];
 		var primitives = meshDef.primitives;
 		var primitives = meshDef.primitives;
@@ -3287,6 +3288,8 @@ THREE.GLTFLoader = ( function () {
 
 
 				assignExtrasToUserData( mesh, meshDef );
 				assignExtrasToUserData( mesh, meshDef );
 
 
+				if ( primitive.extensions ) addUnknownExtensionsToUserData( extensions, mesh, primitive );
+
 				parser.assignFinalMaterial( mesh );
 				parser.assignFinalMaterial( mesh );
 
 
 				meshes.push( mesh );
 				meshes.push( mesh );

+ 3 - 0
examples/jsm/loaders/GLTFLoader.js

@@ -3256,6 +3256,7 @@ var GLTFLoader = ( function () {
 
 
 		var parser = this;
 		var parser = this;
 		var json = this.json;
 		var json = this.json;
+		var extensions = this.extensions;
 
 
 		var meshDef = json.meshes[ meshIndex ];
 		var meshDef = json.meshes[ meshIndex ];
 		var primitives = meshDef.primitives;
 		var primitives = meshDef.primitives;
@@ -3352,6 +3353,8 @@ var GLTFLoader = ( function () {
 
 
 				assignExtrasToUserData( mesh, meshDef );
 				assignExtrasToUserData( mesh, meshDef );
 
 
+				if ( primitive.extensions ) addUnknownExtensionsToUserData( extensions, mesh, primitive );
+
 				parser.assignFinalMaterial( mesh );
 				parser.assignFinalMaterial( mesh );
 
 
 				meshes.push( mesh );
 				meshes.push( mesh );