瀏覽代碼

Merge pull request #13172 from cnspaha/patch-6

ColladaLoader: Fallback if material doesn't match
Mr.doob 7 年之前
父節點
當前提交
20bb0a5f62
共有 1 個文件被更改,包括 13 次插入1 次删除
  1. 13 1
      examples/js/loaders/ColladaLoader.js

+ 13 - 1
examples/js/loaders/ColladaLoader.js

@@ -3519,6 +3519,8 @@ THREE.ColladaLoader.prototype = {
 
 		}
 
+		var fallbackMaterial = new THREE.MeshBasicMaterial( { color: 0xff00ff ) };
+
 		function resolveMaterialBinding( keys, instanceMaterials ) {
 
 			var materials = [];
@@ -3526,7 +3528,17 @@ THREE.ColladaLoader.prototype = {
 			for ( var i = 0, l = keys.length; i < l; i ++ ) {
 
 				var id = instanceMaterials[ keys[ i ] ];
-				materials.push( getMaterial( id ) );
+
+				if ( id === undefined ) {
+
+					console.warn( 'THREE.ColladaLoader: Material with key %s not found. Apply fallback material.', keys[ i ] );
+					materials.push( fallbackMaterial );
+
+				} else {
+
+					materials.push( getMaterial( id ) );
+
+				}
 
 			}