I'm seeing some metalness PBR weirdness, is it supposed to work like this? Or are these bugs? I'm kind of new to the metalness workflow.
We're exporting models from 3ds Max 2018 to the
glTF model format using the
Max2Babylon exporter and viewing them in the
BabylonJS web player.
First issueThe ball with Diffuse:white, Roughness:white, Metalness:white... shouldn't the ball be brighter?
The ball with Diffuse:grey, Roughness:white, Metalness:white ... should the ball be darkening like this?
The rest of the balls look basically correct to me.
Second issueAmbient occlusion seems to be occluding direct light, but it should only be occluding ambient right?
All these meshes are using diffuse:white, roughness:white, metalness:black.
There's a white light at upper left.
The knot has baked ambient occlusion, the top ball has white AO, the middle ball has grey AO, the bottom ball has black AO.
Shouldn't the bottom ball have zero ambient, but still be hit by the direct light? It has a white diffuse after all...
Would love a sanity check on these.
Replies
The rough metal ball is a grey area I think - appearance will depend greatly on what they're doing with the microsurface light scattering calculations and what they're doing to the IBL in it's way through the Shader.
Once the metalllc map becomes white you should lose all diffuse lighting, that combined with scattering from the roughness will naturally result in less light hitting the camera than hits the surface so it's not implausible that the object would appear darker with regard to specular response.
Do you know how they're sampling the specular IBL?
It might be worth trying a coloured IBL and/or pitching it against arnold/whatever for a sanity check. The realtime implementations are all fundamentally bollocks so it's worth double checking them against something that does the sums properly
Thanks for the reply. Talking with the BabylonJS guys.
It's often useful to apply gradients as maps when attempting to reverse engineer these things.