top of page
TTConver_edited.jpg

TerraTech

Project Overview

C++ | Unreal Blueprint

About

TerraTech is a recent project of mine with the aims of exploring runtime procedural landscape generation. The goal for this project was to create an alternative landscape actor that could be used to easily create seemingly endless environments.

The project currently features multithreaded runtime landscape generation with parameterized biome construction. It supports up to ten unique biomes, each with its own noise, material and pcg configurations.  

 

 

Project Status | On hold
Project Length |
2 Months
Role | Independent 
Software Used |
Unreal Engine 5.4
RealtimeMeshComponent
FastNoise2

Landscape Generation

Landscape Generation Overview
When building the landscape generation system I choose to use the RealtimeMeshComponent created by TriAxsis Games for my geometry rendering solution and FastNoise2 by Auburn for my noise generation solution. 
 
The landscape system is managed by a single actor with the ability to spawn, update and remove desired section RealtimeMeshComponents. Each sections geometry resolution can be managed in editor and at runtime with a easy to use LOD system based upon the player|camera location and each resolutions desired generation distance. 

The Landscape itself is a center offset 2d array of geometry sections, with each section being updated in accordance to the currently active array location and its respective LOD generation distance within the array. A section then uses this location along with configuration parameters to determine the desired vertex placements, and biome assignment weights. 
Features
  • Procedural Runtime Landscape Generation
  • Configurable LODs
  • Performant Multithreaded Logic

Biome Generation

BiomeGeneration Overview

When implementing biome configurations to this project i chose to go with a solution similar to the one outlined by KdotJPG in his article "Fast Biome Blending, Without Squareness".

 

Biome placement is determined by a configurable ruleset consisting of desired temperature / moisture values and influence weights that correspond to generated noise values. A lower resolution jittered grid is then constructed to sample moisture and temperature values at locations on the landscape. This is then interpolated to create blending weights for each biome and assign rulesets for biome construction that are finally applied when vertex data is generated for a given section and location.  

Features
  • Supports up to ten unique procedural biomes
  • Parameterized blending and placement setup
  • UE5 Material and PCG integration 
  • Runtime generation
bottom of page