浏览代码

change convertMetalRoughFactors to use respective fields for PBRMetallicRoughnessMaterial

Nicholas Barlow 4 年之前
父节点
当前提交
dde8c343e0
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      serializers/src/glTF/2.0/glTFMaterialExporter.ts

+ 6 - 3
serializers/src/glTF/2.0/glTFMaterialExporter.ts

@@ -848,10 +848,13 @@ export class _GLTFMaterialExporter {
      */
     private _convertMetalRoughFactorsToMetallicRoughnessAsync(babylonPBRMaterial: PBRBaseMaterial, mimeType: ImageMimeType, glTFPbrMetallicRoughness: IMaterialPbrMetallicRoughness, hasTextureCoords: boolean): Promise<_IPBRMetallicRoughness> {
         const promises = [];
+        const baseColor = (babylonPBRMaterial as PBRMaterial).albedoColor || (babylonPBRMaterial as PBRMetallicRoughnessMaterial).baseColor;
+        const metallic = (babylonPBRMaterial as PBRMaterial).metallic || (babylonPBRMaterial as PBRMetallicRoughnessMaterial).metallic;
+        const roughness = (babylonPBRMaterial as PBRMaterial).roughness || (babylonPBRMaterial as PBRMetallicRoughnessMaterial).roughness;
         const metallicRoughness: _IPBRMetallicRoughness = {
-            baseColor: (babylonPBRMaterial as any).albedoColor,
-            metallic: (babylonPBRMaterial as any).metallic,
-            roughness: (babylonPBRMaterial as any).roughness
+            baseColor: baseColor,
+            metallic: metallic,
+            roughness: roughness
         };
 
         if (hasTextureCoords) {