This is a common question, with few possible workarounds .
Our starting point , is a simple sphere with a displacement map file.
Once the sphere gets scaled (for this example we will choose a value of 10), the displacement value will change as well.
The fix would be one of the following
A- File Node approach
In the file node adjust the “Alpha Gain” to match the same "Object Scale" value
you can also automate this by creating a simple expression as follow
file1.alphaGain = pSphere1.scaleX;
Where file1 is the name of your file node, and assuming you scaled the object uniformly therefore scale X = Scale Y = Scale Z
B- Mental ray custom Shader approach
Disconnect the displacement file from the SG node itself
Under the mental ray section in the SG node > click on the Displacement Shader
Choose mib_texture_lookup21 node > Click on the Tex and navigate to your displacement file
In the mib_texture_lookup21 place a value of 1 for “Factor”
now the displacement values will not change regardless of the object scale





Subscribe
Comments