Immersive designer specializing in environments, art direction, and interaction design for VR

This prototype uses C++ to rapidly generate a large scale terrain mesh. Generation of a mesh this size is significantly slower through Unreal’s blueprint system, so I developed a custom algorithm to take advantage of C++’s performance. The C++ code is broken down into several ‘layers’ of functions, which are exposed to the editor. In the video above, you can see the stacking of these layers as the mesh is first generated, subsequent perlin noise functions and math are deployed to the vertices’ Z coordinates, and finally normals are recalculated.

Attempting this mesh size generation through blueprints would often stall or crash the editor. The C++ algorithm by contrast achieves this is in fractions of a second.

Finally, a custom material applied to the mesh at the time of generation analyzes the mesh’s Z-height and slope to apply the appropriate texture set. Sand is used for lower elevations near the water table, grass is used in the shallower slopes, and granite is used for the steep cliff faces. The texture sets also have a distance-blend operation which helps obscure tiling at longer viewing distances by sampling the textures at an alternative UV scale.