Feature Preview: Terrain

During the last months, we have been working hard on improving Flax Alpha performance and stability. At this point, we can say the overall results are pretty satisfying so we focused on adding new features to the engine. One of the latest major updates to the engine is a new terrain system!
It features high-quality terrain rendering and provides various tools for importing creating and editing landscape. It enables developers to create realistic looking outdoor scenes full of mountains, valleys with caves.

Terrain

Details

Now let’s move into details. Terrain is using Continuous LOD system with streaming which enables to create very large landscapes and render them at high view distances with no performance drop. Under the hood, Terrain actor uses a collection of patches, where each patch contains a quad of 4×4 chunks. Size of the chunk is adjustable per terrain and by default, we use the value of 127. This allows Flax to efficiently cull and draw only visible chunks with smooth LODs transitions (no cracks or visual artifacts on different LOD edges).

Terrain

Terrain can be imported from external tools (such as World Creator) as a heightmap with a collection of splatmaps or created right in the Editor using the terrain sculpting tools. Flax Editor support using simple carving brush, smoothing brush, noise brush, and flatten brush. Full undo-redo support and intuitive editing tools make it very nice to modify the terrain right inside the editor. Flax supports also creating holes in terrain for caves and tunnels (including proper collisions handling).

Terrain Holes

Painting

Flax supports up to 8 weights for terrain layers. This means that developers can blend between many materials to create realistic terrain. Each weight is stored in a separate texture channel (up to 2 splatmaps) and can be sampled in terrain shaders to blend between custom layers. Each terrain chunk can override default terrain the material so there is no limit in texturing advanced landscapes. We use also a more optimize terrain material shader type that is well suited for performant terrain rendering. Also, it supports tessellation and full PBR.

Terrain Painting

Gifs

Now it’s time for some GIFs with terrain in action!

Terrain Collisions

Terrain and Fog

Editing terrain

Editing terrain

Summary

I hope you like the newest feature. We plan to release the new update Flax 0.3 Alpha within a week.
Which means you will be able to grab your hands over the terrain in Flax.
See you soon! Bye 🙂


Wojciech Figat

Lead Developer

4 Comments

Garazbolg · November 26, 2018 at 2:06 PM

“Flax supports also creating holes in terrain for caves and tunnels”
From your GIF it looks like you cut a piece of the terrain. Are we to assume that in order to make a tunnel or caves we should cut the terrain and add the cave as a separate mesh ? Or is there a way to sculpt caves built into the editor ? If its the latter : How did you do it ? Could it be derived for a planet terrain system ?

Otherwise, good job !

    Wojciech Figat · November 26, 2018 at 2:31 PM

    Yeah, it like in the most of games – you cut the hole in the terrain surface and place there a separate mesh (rocks or tunnel entry).

Humberd · November 26, 2018 at 7:31 PM

That is amazing. Have been folowing your work for a long time and you guys still amaze me. Good job, keep going.

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *