Download

Enabling PN Triangles or Crack Free Displacement causes default material to appear on certain meshes

Straightforward issue, but no solution is apparent to me.

When I enable PN Triangles or Crack Free Displacement on my tessellated material, it changes to the default material on specific meshes. It works on the cubes that come in the first person shooter template, but not on the mesh that the material is intended for.

Here are two pictures to illustrate:

The default cube on the left works in both cases.

Can anyone tell me how to fix this?

I don’t like bumping my own threads, but a solution would be really nice if anyone has one!

When a material is rendered as the default material it means the material did not compile correctly. Normally you see these errors in the material editor, but considering it works on the other object there is something else causing the problem.

Are they potentially using the same base material, but different material instances with different settings? If so you might want to open the material instance and check for any errors there.

If that doesn’t solve it: are the meshes both of the same type? Materials need proper usage flags for different mesh types. Normally the editor should properly set these automatically, but when this goes wrong it could also have this effect.

Finally you could try setting the preview mesh of the material to the problematic mesh, this should allow you to debug the material directly in the material editor, which should make finding the cause a bit easier.

I would just disable the option. pretty sure it doesn’t do anything anyways.

Thanks for the advice Arnage, I’ll try those suggestions.

I’ve never known Crack-Free Displacement to work personally.

Enable Adjacency Buffer in the Mesh.
That worked like charm for my case.

Necrobumping… Same issue, tried making sure adjacency buffer was on, no joy… No material errors either, it just doesn’t compile the shader. Is there anything else in the FBX import pipeline that could need to be set?

If you are using functions maybe one of them is causing the compile error and you do not see it in the final material?
Usually instances of the material will show red errors though. you can try to see if one is generated for you by creating a material instance… (not sure why the FBX pipeline would be linked to this though? material is one thing, the FBX mesh another.)

Hi, just want to make sure in case you tried activating this on an already imported mesh and missed applying the setting.
Only enabling the checkbox next to build adjacency buffer won’t do the trick, you also would need to apply the change at the bottom of build settings.
This at least solved the problem when I had it.

But I can imagine that the geometry itself can cause problems, since the adjacency buffer will contain information about faces, edges and adjacent faces (as the microsoft Direct3d docs state) therefore I assume topology problems like flipped faces, self intersection, edges/faces/vertices in the same location and so on might cause issues.