Why does NME effect disappear on smaller objects?

I think this is probably a beginning NME question! Here’s my material: Babylon.js Node Material Editor

I’ve got an object here that has a nice pearlescent effect when the camera rotates around. Babylon.js Playground

However, if I scale the object down and keep everything else the same, the effect disappears. https://playground.babylonjs.com/#YJ2E84#1

Is there maybe some scale factor I am obviously missing in NME that will apply the same effect no matter the object size?

Hi brittany,

It’s hard to be completely sure, but it looks like your pearlescence logic (which I’m guess is the big sequence in your NME shader that has to do with Fresnel stuff) predicates its logic on world space. Operating in world space will make it sensitive to changes in absolute scale, which it sounds like isn’t what you’re going for. An alternative might be to replace your world-space logic with view- or screen-space logic; that would make the the effect react to how the model appears on screen as opposed to how it occupies space in the world. Hope this helps, and best of luck!

2 Likes

Thanks for the suggestion and pointing me in the right direction! I added in a normalization to the world coordinates, and that seems to have done the trick.

https://nodematerial-editor.babylonjs.com/#MH2KJK

2 Likes