未验证 提交 fa63ef0f 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #15844 from mrdoob/fbxloader

FBXLoader: Support some Maya textures and changed default material to white.
......@@ -499,7 +499,7 @@ THREE.FBXLoader = ( function () {
break;
default:
console.warn( 'THREE.FBXLoader: unknown material type "%s". Defaulting to MeshPhongMaterial.', type );
material = new THREE.MeshPhongMaterial( { color: 0x3300ff } );
material = new THREE.MeshPhongMaterial();
break;
}
......@@ -532,11 +532,13 @@ THREE.FBXLoader = ( function () {
parameters.color = new THREE.Color().fromArray( materialNode.DiffuseColor.value );
}
if ( materialNode.DisplacementFactor ) {
parameters.displacementScale = materialNode.DisplacementFactor.value;
}
if ( materialNode.Emissive ) {
parameters.emissive = new THREE.Color().fromArray( materialNode.Emissive.value );
......@@ -547,31 +549,37 @@ THREE.FBXLoader = ( function () {
parameters.emissive = new THREE.Color().fromArray( materialNode.EmissiveColor.value );
}
if ( materialNode.EmissiveFactor ) {
parameters.emissiveIntensity = parseFloat( materialNode.EmissiveFactor.value );
}
if ( materialNode.Opacity ) {
parameters.opacity = parseFloat( materialNode.Opacity.value );
}
if ( parameters.opacity < 1.0 ) {
parameters.transparent = true;
}
if ( materialNode.ReflectionFactor ) {
parameters.reflectivity = materialNode.ReflectionFactor.value;
}
if ( materialNode.Shininess ) {
parameters.shininess = materialNode.Shininess.value;
}
if ( materialNode.Specular ) {
parameters.specular = new THREE.Color().fromArray( materialNode.Specular.value );
......@@ -594,7 +602,12 @@ THREE.FBXLoader = ( function () {
parameters.bumpMap = self.getTexture( textureMap, child.ID );
break;
case 'Maya|TEX_ao_map':
parameters.aoMap = self.getTexture( textureMap, child.ID );
break;
case 'DiffuseColor':
case 'Maya|TEX_color_map':
parameters.map = self.getTexture( textureMap, child.ID );
break;
......@@ -602,12 +615,12 @@ THREE.FBXLoader = ( function () {
parameters.displacementMap = self.getTexture( textureMap, child.ID );
break;
case 'EmissiveColor':
parameters.emissiveMap = self.getTexture( textureMap, child.ID );
break;
case 'NormalMap':
case 'Maya|TEX_normal_map':
parameters.normalMap = self.getTexture( textureMap, child.ID );
break;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册