Knowledge Base: Introduction to Mesh Terrain

Introduction to the new experimental Mesh Terrain plugin and its core features.

https://dev.epicgames.com/community/learning/knowledge-base/nK7J/unreal-engine-introduction-to-mesh-terrain

Dude! Thx!

1 Like

Looks very interesting!

I have a few questions:

  1. How is performance compared to a height-based landscape?

  2. How is VRAM consumption compared?

  3. Does it work with non-WP levels?

  4. Which UE version is it expected to be production ready?

Thanks.

I too have a question: how will RVT integration deal with overhangs?

1-2. We’re aiming for performance comparable to Landscape.

3. Its meant to work with World Partition. Currently the system doesn’t block you to add it in non-WP levels but we don’t recommend it. We will add guardrails later on.

4.Too soon to tell.

2 Likes

Work in progress.

1 Like

Thanks - one more question.

Will it be possible to export the landscape as mesh tiles and import into older versions?

To convert an existing landscape into MeshPartition?
You can export your landscape heightmap and other landscape layers as textures and apply it to a MeshPartition grid using a TextureModifier.

I was thinking the other way around - export the MeshPartition tiles as fbx and import those to an older version.

(edit) And one more question sorry - will it be possible to access the vertex and collision data from a c++ plugin?

An older version being a landscape terrain? And the reason would be for a mobile version of the same terrain? Because MeshPartition will run on mobile that might not be needed to convert.

For the other way around, keep in mind Mesh Partition is unlocking full 3D so not all geometry can be converted to heightfields.

The produced actors (Compiled Sections) have static meshes and collision components accessible. But part of the strength of the system is to adapt to multiple target platforms to avoid any manual optimization work (example: targeting both PS5 and Switch); so it may be more interesting to leverage it rather than defaulting to “simple meshes”.

An other possibility would be to use “Transformers” for this export, this could be a good anchor point.

1 Like

I’m locked on 5.7 - I have written a tool that converts the height based landscape into mesh tiles and will be using meshes for my landscape (have tested earlier on 5.4 and it gave a good boost to frame-rate, plus works with WPO so tessellating them solves that problem.

But I really like the look of your new system and was thinking about finishing the landscape (It’s 144km2 so is taking a long time) using that and then converting it and importing into my 5.7 project.

I’m happy to do the conversion myself if need be - as long as I can access the vertex data.

I’m Indie and will just be focusing on PC - just to make it easy on myself :slight_smile:

Thanks for the quick reply!

And just in case it’s never said, thank you and your team(s) for all the effort you do. I know there is a lot of ‘criticism’ on these forums; no one ever complains about a thing working as intended, ya know?

That aside, there ARE those of us that appreciate the work you do: I get to play with these cool toys for free, so… Some of us might even go on to make some $$$ for our efforts and be better off in life, but that cannot happen w/o what you and yours do.

So thanks, and I look forward to the information in this thread and the new landscape solution!

1 Like

After re-reading this, the only thing I can think to ask is around collision. I know I can test eventually, but:

  • what’s the comparative-resolution of collision with the new system? Are we 1:1 or does the newer tech offer better resolution, smaller granularity, vs the old system?
  • Given the 3d nature of the tech, i would presume that collision is 3d as well? eg: pillars, arches the underside of that floating rock-platform in the tutorial (when making a static mesh a mesh-terrain thingie)?

Hey @Frenetic thanks for the kind words toward the team. Its appreciated.

About collision, great question. Yes its a 3d mesh as well. Check out the documentation section about Transformer Pipeline.
The systems allows you to define collisions independently from the visuals, and you can have configuration per platform too. The Collision Transformer has settings to reduce the polygons to the target that you need. So you have control on it.

3 Likes

All very cool and I am excited for it.

From what I can tell, this appears to all be ‘editor-only’?
I’d take it at least at launch no tooling or API for runtime modification of the mesh? Maybe sometime later down the road?
I know at one point runtime nanite generation was considered ‘too slow’ to be feasible, but maybe my knowledge is outdated or anyway to temporary stick a regular mesh in and async cook the nanite mesh or something?

1 Like

Would this be useful in creating footprints or trails. Currently one technique is to use Virtual Heightfield Mesh and Rvt to stamp footprints in the sand. Is this a suitable replacement? This looks awesome great job!!!

Anyone else unable to find the “MeshPartition” and “MeshTerrain” plugins?

It’s for the 5.8 version. Are you trying to use it from a lower version, like 5.7? If you are, then you need to access the Epic Github and create the 5.8 version manually.