Multi Material Tesselation Issue.

Hi there!

I’ve been having some issues with a single mesh with multiple materials, all of which are tesselated. Here’s the issue;

I can’t make heads or tails of the cause, to be honest, and it’s present in all versions of UE4 tested, but the intented version is 4.9.1

It uses Crack Free tesselation on PNtriangles with adaptive tesselation on.

My knowledge beyond the material editor is limited at best, as I live for it, but what could be causing this issue, and how do I solve it. Preferably without splitting the mesh into multiple seperate objects in maya.

Might it be caused due to adaptive tesselation tesselating the different materials seperately? if so, is there an override that I can use to tesselate all materials equally?

Oh and one more thing, it only happens when the mesh is animating, hence why it’s only come up so late!

I’d be appreciative of any pointers that can point me into a succesful continuation of fixing it.

High Regards,

Kettun

Hello Kettun,

If you would provide screenshots illustrating how you have your tessellation applied to the different materials. It is difficult to tell what is causing this issue from your screenshot.

Hi there ,

Thanks for the reply.
here’s a screenshot illustrating how my tesselation and displacement is set up, they all follow identical procedures, and even if I alter tesselation multipliers, or reduce the displacement to 0.

Some additonal information:
PN Triangles
Crack Free Displacement On
Adaptive Tesselation On

Swapping to Flat tesselation does nothing either.

So, from your screenshot I see that you have your displacement set to a min and max of 0 and 1 respectively. That is then added to value for Large Displacement Min and Max and that has an alpha that is lerped from, what I assume, is your Base Color Alpha channel. That is then fed, with some values through your Tessellation Displacement for your World Displacement.

Just to test, if you disconnect your world displacement, do you still see this issue. From what I see it looks as if you have the right idea and what it may come down to is tweaking your values for both World Displacement and Tessellation. It could be that when the character moves that your min and max values for your tessellation and world displacement exceed the bounds of your character when the character moves. As a result, the exceeding vertices are then stretched beyond those bounds and are attempted to be drawn in world space.

Heya , the error seems to be erratically lessening and getting worse now.

This is it’s minimum, when displacement is turned almost entirely off, and completely off respectively. the issue is “less bad” now, but the cracks, which spazz out like this:


on the inside are still a little bit uh… you know, bad. The exact same occurs in it’s Ref pose, if not worse, increasing with tesselation, or more specificly, displacement.

As you’ve accurately pointed out, just having displacement off while turning tesselation on does remove all of the seams… 'course it also removes the displacement. Do you recon I can use vertex colours to completely disable displacement on selected vertices that are currently offending to get around the issue, as I have tried that before without succes, but perhaps you know more.

Kettun, the general consensus among the support team is that lowering the cap of your tessellation multiplier will solve much of the issue. You currently have it set at a value from 300-500. The cap for the engine is at a much lower value. You will have to play around with that in order to find a value that is both visually appealing and will not stretch the mesh as you see in your screenshots. Theoretically your Vertex Color method to disable the displacement on selected vertices should work assuming that your displacement math account for vertex color.

Heya , with the vertex colour trick everything seems to be fixed.
Reducing the tesselation cap also seems to have also reduced some of the peculiar bounds that were beeing projected on the outline. Thanks for the assistance!

  • Kettun