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.
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 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).
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.
Now it’s time for some GIFs with terrain in action!
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 🙂