Crack Free tessellation on skeletal meshes breaks on different material groups

Seems like there is a bug where vertexes created by tessellation on the border of different materials are pulled towards the pivot of the mesh.

On the test mesh I have created an edge loop all around the cylinder on 3 different spots, first edge loop at the bottom has uv’s split into two islands, then there is an edge loop with different smoothing groups and finally there is the edge loop that separates two different material groups (material id’s from 3dsmax).

I hope that technically those 3 different usages of the edges should all “split” the vertexes the same way and so that if it works on 2 (uv island, smoothing group), it should on the third (mat groups) too.

Because I’m relaying on tessellation for certain specific visual elements, it would help me a lot to know if that’s really a bug and will be eventually fixed, or if it’s some kind of technical limitation that might not be easy to fix or simply impossible to fix so that I could find some different solution to that specific visual element.

Thanks

Hi ,

It looks like you may not have enough geometry there for tessellation. You will probably need to increase the face count to get a better resolution out of the tessellation.

I can try and recreate you’re object from max with some guess work if you provide a wireframe view as well. Or to make things easier can you provide the test asset here and I’ll take a look at it and see if I can resolve the issue. If you decide to share the asset you can upload the link to download here or if you want to keep it private you can send the link via a private message on the forums.

Thank you!

Tim

Hi,
of course I can upload the test assets, i should have done that right in the first post I guess. In the attachment you can find the source max file, fbx files and uassets. There are two test cylinders, one has pivot in the middle as expected, the other one has it offset by quite a lot because it’s easiest to see the “bug” that way.

You are right that there is not that much geometry, but I didn’t know that the crack free feature has this kind of requirement where it may not work correctly with low poly counts.

Also, isn’t the “border” between materials treated the same way as border between smoothing groups or UV island border in terms of vertexes being duplicated? What I’m curious about is why the tessellation and crack free feature don’t “break up” on UV island border or on the borders of smoothing groups.

Actually when I’m looking at the skeletal mesh - Cylinder_OffsetPivot even without animation the tessellated vertexes are pulled towards 0 or pivot which looks like this may not even be a bug in crack free feature, but in tessellation itself? Well that is if it’s not limitation of low poly meshes like you mentioned.

Thanks for looking into this.

Hi ,

Thank you for the assets. I am able to see the same results you’re showing with your assets but when creating new assets with a similar setup with the multi materials, smoothing groups, and bones I cannot get the same results. I’m may be doing something a little different, but I’m not able to see the same bug. Are you able to reproduce this with a new asset that causes this issue? If so, can you provide detailed steps for recreating (sans the animation portion since we can see the error without it).

If we’re not able to get a repro I can still submit a bug report but without a clear repro it will make it much more difficult for a developer to look into the issue.

Thanks for your help! :slight_smile:

Tim

Hello,

I can reproduce the problem with 100% success rate :slight_smile: . The assets I uploaded were made from scratch as I couldn’t find (probably didn’t save) the source file from my initial bug report. Now I tried again, I was especially careful not to do anything atypical and got the same problem. Here are the simplest steps I came up with that still lead to the bug:

  1. create cylinder and just to be sure turn in to editable poly
  2. select all the polys of the cylinder, assign material id1, select top half of the cylinder polys and assign material id2
  3. create multimaterial with two submaterials and assign it to the cylinder
  4. create two bones inside the cylinder
  5. assign a skin modifier to the cylinder, and use the two create bones for skinning (no need to tweak the skin, default will do)
  6. export the cylinder with bones
  7. in UE, create the simplest possible material, enable PN triangle tessellation and turn on crack free feature and assign it to the cylinder into both material slots

That should be all. Let me know if and how can I help some more.

Thanks.

Hi ,

Apologies for the long wait for a response. I’ve entered a bug report for this issue to be looked at further. UE-6598.

Once I have any more information or a fix for the issue I’ll post back here.

Thank you!

Tim

8 years later and this has never been solved. Tesselation has even been removed from UE5 … :frowning: Did anyone found a solution for this in UE4?