|
@@ -314,7 +314,7 @@
|
|
|
|
|
|
var FBX_ID = textureNode.id;
|
|
|
|
|
|
- var name = textureNode.name;
|
|
|
+ var name = textureNode.attrName;
|
|
|
|
|
|
var fileName;
|
|
|
|
|
@@ -488,6 +488,17 @@
|
|
|
|
|
|
parameters.color = parseColor( properties.Diffuse );
|
|
|
|
|
|
+ }
|
|
|
+ if ( properties.DisplacementFactor ) {
|
|
|
+
|
|
|
+ parameters.displacementScale = parseFloat( properties.DisplacementFactor.value );
|
|
|
+
|
|
|
+ }
|
|
|
+ if ( properties.ReflectionFactor ) {
|
|
|
+
|
|
|
+ parameters.envMapIntensity = parseFloat( properties.ReflectionFactor.value );
|
|
|
+ parameters.reflectivity = parseFloat( properties.ReflectionFactor.value );
|
|
|
+
|
|
|
}
|
|
|
if ( properties.Specular ) {
|
|
|
|
|
@@ -496,7 +507,7 @@
|
|
|
}
|
|
|
if ( properties.Shininess ) {
|
|
|
|
|
|
- parameters.shininess = properties.Shininess.value;
|
|
|
+ parameters.shininess = parseFloat( properties.Shininess.value );
|
|
|
|
|
|
}
|
|
|
if ( properties.Emissive ) {
|
|
@@ -511,7 +522,7 @@
|
|
|
}
|
|
|
if ( properties.Opacity ) {
|
|
|
|
|
|
- parameters.opacity = properties.Opacity.value;
|
|
|
+ parameters.opacity = parseFloat( properties.Opacity.value );
|
|
|
|
|
|
}
|
|
|
if ( parameters.opacity < 1.0 ) {
|
|
@@ -528,14 +539,25 @@
|
|
|
|
|
|
switch ( type ) {
|
|
|
|
|
|
+ case 'Bump':
|
|
|
+ case ' "Bump':
|
|
|
+ parameters.bumpMap = textureMap.get( relationship.ID );
|
|
|
+ break;
|
|
|
+
|
|
|
case 'DiffuseColor':
|
|
|
case ' "DiffuseColor':
|
|
|
parameters.map = textureMap.get( relationship.ID );
|
|
|
break;
|
|
|
|
|
|
- case 'Bump':
|
|
|
- case ' "Bump':
|
|
|
- parameters.bumpMap = textureMap.get( relationship.ID );
|
|
|
+ case 'DisplacementColor':
|
|
|
+ case ' "DisplacementColor':
|
|
|
+ parameters.displacementMap = textureMap.get( relationship.ID );
|
|
|
+ break;
|
|
|
+
|
|
|
+
|
|
|
+ case 'EmissiveColor':
|
|
|
+ case ' "EmissiveColor':
|
|
|
+ parameters.emissiveMap = textureMap.get( relationship.ID );
|
|
|
break;
|
|
|
|
|
|
case 'NormalMap':
|
|
@@ -543,12 +565,33 @@
|
|
|
parameters.normalMap = textureMap.get( relationship.ID );
|
|
|
break;
|
|
|
|
|
|
+ case 'ReflectionColor':
|
|
|
+ case ' "ReflectionColor':
|
|
|
+ parameters.envMap = textureMap.get( relationship.ID );
|
|
|
+ parameters.envMap.mapping = THREE.EquirectangularReflectionMapping;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'SpecularColor':
|
|
|
+ case ' "SpecularColor':
|
|
|
+ parameters.specularMap = textureMap.get( relationship.ID );
|
|
|
+ break;
|
|
|
+
|
|
|
+ case 'TransparentColor':
|
|
|
+ case ' "TransparentColor':
|
|
|
+ parameters.alphaMap = textureMap.get( relationship.ID );
|
|
|
+ parameters.transparent = true;
|
|
|
+ break;
|
|
|
+
|
|
|
case 'AmbientColor':
|
|
|
- case 'EmissiveColor':
|
|
|
case ' "AmbientColor':
|
|
|
- case ' "EmissiveColor':
|
|
|
+ case 'ShininessExponent': // AKA glossiness map
|
|
|
+ case ' "ShininessExponent':
|
|
|
+ case 'SpecularFactor': // AKA specularLevel
|
|
|
+ case ' "SpecularFactor':
|
|
|
+ case 'VectorDisplacementColor': // NOTE: Seems to be a copy of DisplacementColor
|
|
|
+ case ' "VectorDisplacementColor':
|
|
|
default:
|
|
|
- console.warn( 'THREE.FBXLoader: Unknown texture application of type %s, skipping texture.', type );
|
|
|
+ console.warn( 'THREE.FBXLoader: %s map is not supported in three.js, skipping texture.', type );
|
|
|
break;
|
|
|
|
|
|
}
|