Hello! I was wondering if anybody knows if/when the 3DS Max Exporter will support the new sheen and clearcoat features that are being introduced with Babylon 4.0.
The real answer once the west coast wakes up & gets to work, but you can probably answer it yourself, if there is a spot where 3ds Max handles these itself, then it probably yes for sure.
If we find a way to plug it into max and maya then we will obviously do it
Thank you both for the quick response. I understand that these things take time and appreciate the effort being put into it!
I’m very excited we can start using Sheen, Clearcoat, Subsurface, etc. in 4.0. Kudos to you guys for exposing these in the Sandbox.
I prefer it when exporters use setups that try to maintain parity with the built-in offline renderer. This makes it easier to preview the material while authoring, and to re-use the inputs for ground-truth offline rendering.
- Physical Material
- Material Mode: Advanced (to expose the Reflection controls)
- Advanced Reflectance Parameters > By IOR (pbr.sheen.isEnabled = false;). This is the material default in 3ds Max.
- Advanced Reflectance Parameters > Custom Curve (pbr.sheen.isEnabled = true;)
- Advanced Reflectance Parameters > Edge = 1 (pbr.sheen.intensity = 1;) This is the default 3ds Max value. I’m not sure if this is the upper value limit in BabylonJS?
- Advanced Reflectance Parameters > Edge = 0 (pbr.sheen.intensity = 0;).
- Generic Maps > Reflection Color (Refl Color Map) = (pbr.sheen.texture). This could be used to define the RGB input texture.
- Basic Parameters > Reflection color swatch = Use the Reflection color swatch to specify pbr.sheen.color if no bitmap is present in Reflection Color input. Or is this color a multiplier on the Sheen bitmap, like the Base Color swatch is on the Base Color bitmap? If so, then it could simply always be exported.
- Generic Maps > Reflection Weight (Reflectivity Map) = If a bitmap is plugged into here, then we could be repack it into the pbr.sheen.texture Alpha to use as the intensity factor. In 3ds Max, we can use the bitmap parameters to extract a bitmap’s alpha, by setting Alpha Source: Image Alpha, and Mono Channel Output: Alpha, and RGB Channel Output: Alpha as grey. This way, I can input the same PNG into both Reflection Color (RGB) and Reflection Weight (Alpha).
The one parameter pbr.sheen.intensity doesn’t seem like enough control to me. It would be great if we could add an exponent to control the curve as well. The “Slope” value outlined here in red might be a good way to export it. An inverse curve is around 0.01, flat curvature is about 0.5, and an exponential curve is around 10.
A Max file + textures to test with:
eyqn7935_sheen-test.zip (2.9 MB)
Thanks a lot for this preliminary work by the way!
You’re welcome! Just a prelim set of ideas, totally open to others’ feedback.
I’m also interested in diving into ideas for how to handle Clearcoat, Subsurface, etc. Hope to get to this next week.