未验证 提交 30c07bc9 编写于 作者: C camnewnham 提交者: GitHub

FBXLoader: Check null textures before assignment (#22114)

* FBXLoader: Check null textures before assignment

FBXLoader: Check null textures before assignment

Use !==

FBXLoader: don't assign maps if images are missing

* Update FBXLoader.js

Clean up code style.
Co-authored-by: NMichael Herzog <michael.herzog@human-interactive.org>
上级 e53301f5
...@@ -620,7 +620,11 @@ class FBXTreeParser { ...@@ -620,7 +620,11 @@ class FBXTreeParser {
case 'DiffuseColor': case 'DiffuseColor':
case 'Maya|TEX_color_map': case 'Maya|TEX_color_map':
parameters.map = scope.getTexture( textureMap, child.ID ); parameters.map = scope.getTexture( textureMap, child.ID );
parameters.map.encoding = sRGBEncoding; if ( parameters.map !== undefined ) {
parameters.map.encoding = sRGBEncoding;
}
break; break;
case 'DisplacementColor': case 'DisplacementColor':
...@@ -629,9 +633,13 @@ class FBXTreeParser { ...@@ -629,9 +633,13 @@ class FBXTreeParser {
case 'EmissiveColor': case 'EmissiveColor':
parameters.emissiveMap = scope.getTexture( textureMap, child.ID ); parameters.emissiveMap = scope.getTexture( textureMap, child.ID );
parameters.emissiveMap.encoding = sRGBEncoding; if ( parameters.emissiveMap !== undefined ) {
break;
parameters.emissiveMap.encoding = sRGBEncoding;
}
break;
case 'NormalMap': case 'NormalMap':
case 'Maya|TEX_normal_map': case 'Maya|TEX_normal_map':
parameters.normalMap = scope.getTexture( textureMap, child.ID ); parameters.normalMap = scope.getTexture( textureMap, child.ID );
...@@ -639,13 +647,21 @@ class FBXTreeParser { ...@@ -639,13 +647,21 @@ class FBXTreeParser {
case 'ReflectionColor': case 'ReflectionColor':
parameters.envMap = scope.getTexture( textureMap, child.ID ); parameters.envMap = scope.getTexture( textureMap, child.ID );
parameters.envMap.mapping = EquirectangularReflectionMapping; if ( parameters.envMap !== undefined ) {
parameters.envMap.encoding = sRGBEncoding;
parameters.envMap.mapping = EquirectangularReflectionMapping;
parameters.envMap.encoding = sRGBEncoding;
}
break; break;
case 'SpecularColor': case 'SpecularColor':
parameters.specularMap = scope.getTexture( textureMap, child.ID ); parameters.specularMap = scope.getTexture( textureMap, child.ID );
parameters.specularMap.encoding = sRGBEncoding; if ( parameters.specularMap !== undefined ) {
parameters.specularMap.encoding = sRGBEncoding;
}
break; break;
case 'TransparentColor': case 'TransparentColor':
...@@ -681,7 +697,17 @@ class FBXTreeParser { ...@@ -681,7 +697,17 @@ class FBXTreeParser {
} }
return textureMap.get( id ); const texture = textureMap.get( id );
if ( texture.image !== undefined ) {
return texture;
} else {
return undefined;
}
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册