Download

Tesselation needs to come back, desperately

Well, yes, but that’s the point. We are used anyway to split walls into pieces for lightmap baking. But spliting and reassembling is a completely different story. From working hours to days of difference.

Sorry, I think I finally understand. You’re right, subdividing huge surfaces is not practical when modular assembly is not an option.

Yes! Exactly! It’s not like I’m against nanite, when I’ll be able to upgrade my video card, I’ll definitely use it on anything that can be replicable/instanded, of course! The only reason why many of us are ■■■■■■, is because nanite is not a valid replacement for tessellation as yet. There are way too many uses for “tessellation”, and actually whole “world displacement”, that now are simply missing from the engine, making it look like a toy. Of course people are angry.

Tessellation can cause FPS to drop, I actually stopped using it on all my projects, only normals for now, it´s even works if you use tessellation on landscapes.

Nanite has other issues, but I’m sure Epic is working on them, if not, the engine would already be released.

Still I believe it should stay in UE5, why remove it… or anything that previously worked fine in UE4, it just adds more possibilities to the engine

There’s a way to use it, so you don’t subdivide a whole mesh. There is a subdivision node for it.
Follow this tutorial that shows how to change subdivisions by distance from a camera (sorry it’s in German, but you can easily follow what he’s doing):

1 Like

More basically make as tight a mask/alpha that you can to define where you need tessellation, and multiply your tess-value by that.

For my part, I find I can target the extra triangles this way, have tessellation applied to a variety of things in the scene and still only have it where I just-need-it.

Agreed that Luman and Nanite makes it a lot easier to ‘carry’ lighting information since you can make the models/assemblages as dense as you want, but I’d still like to be able to slip in a few triangles here and there to help a curved skirt of a model blend a bit better with the landscape, vice-versa, etc, etc; I appreciate ‘handy’ things.

“Still I believe it should stay in UE5, why remove it… or anything that previously worked fine in UE4, it just adds more possibilities to the engine”

This. I mean, if it’s still on the card as feature, why not expose it? Everything in Unreal, or any engine is more about using what’s performant for your project. If tessellation fits, why not at least let it be run?

I think I just really don’t understand how you are using dynamic tesselation. This seems like so much more work to get something simple. Can you post an example of one of these use cases in ue4?
Ue4 has very good autoLOD tools. If you are doing non-game projects where memory is not an issue, why not just tesselate where you need it and LOD things down? It will run much better

So, some of this is the challenge, some of this ascetics , and some of this pipeline: I wanted to be able to make it such that a landscape and meshes could ‘talk’ to one another such that one could really drag/drop them together and have the material-logic sort out all the blending.

I didn’t want those seams in rocks. I wanted the rocks to come up ‘out’ or underneath ‘rising’ out of the soil so that the landscape layer would gather in the folds of the mesh and give it a more contiguous flow; no sharp seams or the like where they make sense to make go away (vs say intersecting wooden-beams). Organic would be the word; a literal edge-case…

Thus, currently, in UE4:

Fugly; I hate it. That is a set of “Huge_Canyon_Sandstone_Cliff_veoneio_3d” from Quixel Mixer, exported at 2k, LOD0, scaled to 3x (Stuff is always so tiny!).

Previously, one could use mesh-distance fields to get things to sense one another, but that always seemed to expensive, and the fidelity too low for my tastes. With (runtime) virtual-textures, performance is great and viable to get landscapes/heightfield-mesh to blend with other-stuff.

To-wit, with my solution enabled:

Ultimately, this also works across different slopes and mesh configurations, marrying the two so it ‘just-works’:

If one uses the RVT to blend just the albedo/normal, it looks good-enough in most cases, and for flat-things, or surfaces aligned to whatever I’m blending into, you really don’t need any displacement:

However, it’s those sheer-surfaces again that can ruin the illusion; stretching with just blending texture information:

As compared with the mesh-blending added back in:

Since I know the height of the mesh-pixel and the height of the landscape, I can bend that portion of the mesh right-below/at/above the landscape out so it blends better. Using an RVT to blend a mesh is great, but the more shear the surface (dot-product = 1) to the source of the RVT, the more that oh-so-obvious seam appears and for normals, no real way (that I can see) around that particular use-case. So! What to do, bend the mesh…

From something like this:

To this:

Any good alpha will be tight and only right-where-you-need-it, same here, I only need to bend out that portion of the mesh from right above the landscape to the portion below. All to make the two surfaces less oblique with regards to one another, all to make the normals align better, all to make the lighting more consistent across the two on the albedos…

…All to make a single fraking line go away… :scream:

Ultimately, for me, nanite is awesome, I love it, I get how it really culls out what you really don’t need, etc. BUT, at some level one still needs skirts, or, admittedly, one could use a pre-tessellated mesh, but that also presupposes my landscapes and meshes are made specifically to go together. Teams align over things like this, create standards. I create standards too but as far as assets, for the solo-dev like me, I really wanted to create some kind of drag/drop solution. This works for me and opens up all the marketplace assets I might want to use, that I can just-count on them being ‘compatible’ with other stuff.

I might be a niche type of use-case, but that’s what I am using tessellation for.

If Epic could get the tessellation of the height-mesh to just wash-over everything so I could drive it with materials, that would be ideal. Otherwise, yeah, took a little mathing to get here, but it was actually fun and I learned a lot along the way. It’s performant, tight, and doesn’t really cost as much as you might thing it should for what you get (IMHO)

EDIT, up really close: