Can we get displacement in Path Tracer?

I am trying to use Quixel materials in UE5.3 and use Path Tracer. 5.3 Path Tracer does seem to support Nanite but not sure how far it will go in displacing flat surfaces.

My mesh currently looks like this –

For this, I am using a plane imported from Maya with about 20x20 subdivs (tried 50x50 but got the same results). Enabled Nanite in Unreal’s mesh options. Added the displacement map with maganitude of 2.0 and center of 0.5. Trim Relative Error set to 0.1 and Fallback Target set to Relative Error with value of .01.

The shader has the displacement map connected to it. In the console I have

r.RayTracing.Nanite.Mode 1

r.Nanite.Tessellation 1

And in my Engine.ini I have

r.Nanite.Allowtessellation=1

Raytracing shadows are disabled in the Directional Light and also have disabled

r.RayTracing.Shadows.EnableTwoSidedGeometry

Still the mesh seems to be breaking and having these weird polygonal shadows on it. Is there any way to improve this and use it in Path Tracing?

2 Likes

I sadly don’t have an answer and struggle with the first problem, to get tessallation in pathtracer, displacement map is connected, i even subdiv the a test plane, but pathtracer only renders a flat surface. Even with all the console command enabled.

Could you help me with this one please :pray:

5 Likes

For the polygonal shadows try using path tracer pro or checking your nanite fallback, nanite does work with path tracing so I’ve been confused for the same reason you are since its not working with me either, I wonder if theres a command that we’re missing that we dont know about.

1 Like

https://www.youtube.com/watch?v=4NCGiE1IK5k Might help with the shadows issue specifically for path tracing

Hello ! I’m sorry to bother again on this topic, but I was really wondering if the image the OP posted at the beginning was really a pure subdivided plane with a displacement map on it ? I’m trying to achieve nanite tesselation in path-tracer but it seems to not be working at all, although the image at the top seems to be getting a little bit of result. Could someone explain a bit more or should I just understand that displacement isnt working at all in pathtracing ?

I had the same issue, so i tried with geometry script, which works fine, but if you have a blend material you cant work with it. So i made a function for WPO which works as the displacement in Nanite (with midpoint and magnitude , which i call it displacement). So you include this function on your material and you enable “evaluate world position offset in raytracing” in the details panel for your geometry. If you want to assign this on geometry around the corner don’t forget to import this mesh with a small bevel and unified smoothing groups. Enjoy