Jelajahi Sumber

Merge pull request #10318 from donmccurdy/feat-gltf-emission-textures

Add support for glTF emission and specular textures.
Mr.doob 8 tahun lalu
induk
melakukan
370b1f95da
1 mengubah file dengan 25 tambahan dan 1 penghapusan
  1. 25 1
      examples/js/loaders/GLTFLoader.js

+ 25 - 1
examples/js/loaders/GLTFLoader.js

@@ -1086,7 +1086,27 @@ THREE.GLTFLoader = ( function () {
 
 				if ( Array.isArray( materialValues.emission ) ) {
 
-					materialParams.emissive = new THREE.Color().fromArray( materialValues.emission );
+					if ( materialType === THREE.MeshBasicMaterial ) {
+
+						materialParams.color = new THREE.Color().fromArray( materialValues.emission );
+
+					} else {
+
+						materialParams.emissive = new THREE.Color().fromArray( materialValues.emission );
+
+					}
+
+				} else if ( typeof( materialValues.emission ) === 'string' ) {
+
+					if ( materialType === THREE.MeshBasicMaterial ) {
+
+						materialParams.map = dependencies.textures[ materialValues.emission ];
+
+					} else {
+
+						materialParams.emissiveMap = dependencies.textures[ materialValues.emission ];
+
+					}
 
 				}
 
@@ -1094,6 +1114,10 @@ THREE.GLTFLoader = ( function () {
 
 					materialParams.specular = new THREE.Color().fromArray( materialValues.specular );
 
+				} else if ( typeof( materialValues.specular ) === 'string' ) {
+
+					materialParams.specularMap = dependencies.textures[ materialValues.specular ];
+
 				}
 
 				if ( materialValues.shininess !== undefined ) {