Browse Source

Babylon Entities PBR Material Fixes

MackeyK24 8 năm trước cách đây
mục cha
commit
210ba0bb42

+ 20 - 8
Exporters/3ds Max/BabylonExport.Entities/BabylonPBRMaterial.cs

@@ -125,6 +125,12 @@ namespace BabylonExport.Entities
         public float? metallic { get; set; }
 
         [DataMember]
+        public bool useMicroSurfaceFromReflectivityMapAplha { get; set; }
+
+        [DataMember]
+        public bool linkRefractionWithTransparency { get; set; }
+
+        [DataMember]
         public bool useRoughnessFromMetallicTextureAlpha { get; set; }
 
         [DataMember]
@@ -170,28 +176,34 @@ namespace BabylonExport.Entities
             specularIntensity = 1.0f;
             cameraExposure = 1.0f;
             cameraContrast = 1.0f;
+            indexOfRefraction = 0.66f;
+            useRadianceOverAlpha = true;
+            useSpecularOverAlpha = true;
             useEmissiveAsIllumination = false;
 
             // Default Null Metallic Workflow
             metallic = null;
             roughness = null;
-            useRoughnessFromMetallicTextureAlpha = false;
+            useRoughnessFromMetallicTextureAlpha = true;
             useRoughnessFromMetallicTextureGreen = false;
 
+            microSurface = 0.9f;
+            useMicroSurfaceFromReflectivityMapAplha = false;
+
             overloadedShadowIntensity = 1.0f;
             overloadedShadeIntensity = 1.0f;
 
             ambient = new[] { 0f, 0f, 0f };
-            albedo = new[] { 0f, 0f, 0f };
-            reflectivity = new[] { 0f, 0f, 0f };
-            reflection = new[] { 0f, 0f, 0f };
+            albedo = new[] { 1f, 1f, 1f };
+            reflectivity = new[] { 1f, 1f, 1f };
+            reflection = new[] { 0.5f, 0.5f, 0.5f };
             emissive = new[] { 0f, 0f, 0f };
 
             overloadedAmbient = new[] { 0f, 0f, 0f };
-            overloadedAlbedo = new[] { 0f, 0f, 0f };
-            overloadedReflectivity = new[] { 0f, 0f, 0f };
-            overloadedEmissive = new[] { 0f, 0f, 0f };
-            overloadedReflection = new[] { 0f, 0f, 0f };
+            overloadedAlbedo = new[] { 1f, 1f, 1f };
+            overloadedReflectivity = new[] { 0.3f, 0.3f, 0.3f };
+            overloadedEmissive = new[] {1f, 1f, 1f };
+            overloadedReflection = new[] { 1f, 1f, 1f };
         }
     }
 }