Copy link to clipboard
Copied
im using shape nodes to drive height on a PBR material, and when i use anything other than a straight linear gradient, i get a pixel border edge. This seems to occure when i use a Transform2D and offset a shape off the canvas.
It is an artifact of the rendering engine when edge pixels are not at the default height but some interpolation is needed to set the transition to the next texel which of course is outside the boundary of the material. Render engines will either, treat the next texel as a tiled image (which for a tiled material is a good assumption), treat it as the default height, or provide options. I cannot see any options in 3D Designers render options.
In Blender this is taken care of in the material's dis
...Copy link to clipboard
Copied
It is an artifact of the rendering engine when edge pixels are not at the default height but some interpolation is needed to set the transition to the next texel which of course is outside the boundary of the material. Render engines will either, treat the next texel as a tiled image (which for a tiled material is a good assumption), treat it as the default height, or provide options. I cannot see any options in 3D Designers render options.
In Blender this is taken care of in the material's displacement node by setting the extrapolation method which sets how pixels outside the image boundary are treated. Changing from the default 'Repeat' which works well for tiled materials, to either 'Extend' or 'Clip' resolves the rendering issue.
Substance 3D Render:
The same outputs rendered in Blender with displacement set to 'Extend' (for demo of the issue only, no attempt to match lighting etc)
Dave
Copy link to clipboard
Copied
I appreciate your response greatly! The Extend solution may work for me, however I'm using Maya's Deform > Texture feature to apply the heightmap to a polygonal plane, and that feature isn't available. What's even more odd is checking the heightmap in photoshop, i see no pixel edge error (no white/black border).
What leads me to think this isn't a rendering bug is if you take a look at this youtube tutorial, the user is clearly showing a clean height interp using a linear gradient.
https://www.youtube.com/watch?v=IhQBS_O3w3k&t=658s
Why can't i get the same result?
Copy link to clipboard
Copied
If you plug a linear gradient into the height output in the current version, the video you linked was made two years ago,you will see the same issue.
The reason you don't see any issue in Photoshop is that the material itself is fine. It is the way the render engine, which has changed in the current version, treats the next texel outside of the material when interpolating. It is not so much a bug, as a lack of user options in the render settings. Unfortunately, I don't use Maya so can't advise on render or displacement settings in that application.
Copy link to clipboard
Copied
Appreciate you taking the time to respond, I will have to solve the rendering issue in Maya on my end then. Glad to see its solvable in Blender - I may have to switch lol.
Thanks!!
Copy link to clipboard
Copied
If anyone has this problem in Maya the solution is to uncheck the Wrap U and Wrap V in the place2dTexture node:
Thank you dave!
Copy link to clipboard
Copied
You're welcome. Sorry I didn't know the Maya settings but seeing your screenshot it does make sense.
Dave
Find more inspiration, events, and resources on the new Adobe Community
Explore Now