Bladeren bron

ObjectLoader: Handle deprecated MultiMaterial. See #11220.

Mr.doob 8 jaren geleden
bovenliggende
commit
fa4bcdacba
2 gewijzigde bestanden met toevoegingen van 21 en 14 verwijderingen
  1. 0 12
      src/loaders/MaterialLoader.js
  2. 21 2
      src/loaders/ObjectLoader.js

+ 0 - 12
src/loaders/MaterialLoader.js

@@ -145,18 +145,6 @@ Object.assign( MaterialLoader.prototype, {
 
 		if ( json.gradientMap !== undefined ) material.gradientMap = getTexture( json.gradientMap );
 
-		// MultiMaterial
-
-		if ( json.materials !== undefined ) {
-
-			for ( var i = 0, l = json.materials.length; i < l; i ++ ) {
-
-				material.materials.push( this.parse( json.materials[ i ] ) );
-
-			}
-
-		}
-
 		return material;
 
 	}

+ 21 - 2
src/loaders/ObjectLoader.js

@@ -363,8 +363,27 @@ Object.assign( ObjectLoader.prototype, {
 
 			for ( var i = 0, l = json.length; i < l; i ++ ) {
 
-				var material = loader.parse( json[ i ] );
-				materials[ material.uuid ] = material;
+				var data = json[ i ];
+
+				if ( data.type === 'MultiMaterial' ) {
+
+					// Deprecated
+
+					var array = [];
+
+					for ( var j = 0; j < data.materials.length; j ++ ) {
+
+						array.push( loader.parse( data.materials[ j ] ) );
+
+					}
+
+					materials[ data.uuid ] = array;
+
+				} else {
+
+					materials[ data.uuid ] = loader.parse( data );
+
+				}
 
 			}