Przeglądaj źródła

ColladaLoader: Define fallback material and apply it

Pascal Häusler 7 lat temu
rodzic
commit
173d7eca9b
1 zmienionych plików z 7 dodań i 3 usunięć
  1. 7 3
      examples/js/loaders/ColladaLoader.js

+ 7 - 3
examples/js/loaders/ColladaLoader.js

@@ -3183,6 +3183,8 @@ THREE.ColladaLoader.prototype = {
 
 		}
 
+		var fallbackMaterial = new THREE.MeshPhongMaterial( { color: 0xff00ff ) };
+
 		function resolveMaterialBinding( keys, instanceMaterials ) {
 
 			var materials = [];
@@ -3194,11 +3196,13 @@ THREE.ColladaLoader.prototype = {
 				if ( id === undefined ) {
 
 					console.warn( 'THREE.ColladaLoader: Material with key %s not found. Apply fallback material.', keys[ i ] );
-					id = instanceMaterials[ Object.keys( instanceMaterials )[ 0 ] ];
+					materials.push( fallbackMaterial );
 
-				}
+				} else {
 
-				materials.push( getMaterial( id ) );
+					materials.push( getMaterial( id ) );
+
+				}
 
 			}