Explorar o código

change convertMetalRoughFactors to use respective fields for PBRMetallicRoughnessMaterial

Nicholas Barlow %!s(int64=4) %!d(string=hai) anos
pai
achega
dde8c343e0
Modificáronse 1 ficheiros con 6 adicións e 3 borrados
  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) {