|
@@ -401,7 +401,7 @@
|
|
|
for ( var nodeID in materialNodes ) {
|
|
|
|
|
|
var material = parseMaterial( materialNodes[ nodeID ], textureMap, connections );
|
|
|
- materialMap.set( parseInt( nodeID ), material );
|
|
|
+ if ( material !== null ) materialMap.set( parseInt( nodeID ), material );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -431,6 +431,10 @@
|
|
|
|
|
|
}
|
|
|
|
|
|
+ // Seems like FBX can include unused materials which don't have any connections.
|
|
|
+ // Ignores them so far.
|
|
|
+ if ( ! connections.has( FBX_ID ) ) return null;
|
|
|
+
|
|
|
var children = connections.get( FBX_ID ).children;
|
|
|
|
|
|
var parameters = parseParameters( materialNode.properties, textureMap, children );
|
|
@@ -446,8 +450,8 @@
|
|
|
material = new THREE.MeshLambertMaterial();
|
|
|
break;
|
|
|
default:
|
|
|
- console.warn( 'THREE.FBXLoader: No implementation given for material type %s in FBXLoader.js. Defaulting to basic material.', type );
|
|
|
- material = new THREE.MeshBasicMaterial( { color: 0x3300ff } );
|
|
|
+ console.warn( 'THREE.FBXLoader: No implementation given for material type %s in FBXLoader.js. Defaulting to standard material.', type );
|
|
|
+ material = new THREE.MeshStandardMaterial( { color: 0x3300ff } );
|
|
|
break;
|
|
|
|
|
|
}
|
|
@@ -1416,7 +1420,7 @@
|
|
|
|
|
|
} else {
|
|
|
|
|
|
- material = new THREE.MeshBasicMaterial( { color: 0x3300ff } );
|
|
|
+ material = new THREE.MeshStandardMaterial( { color: 0x3300ff } );
|
|
|
materials.push( material );
|
|
|
|
|
|
}
|