Generating Procedural HexGrid Maps in Unreal (Devlog)

We’re finally adding some structure (landmasses and oceans) to our randomly generated hex grid map system! In this video, I show how to use multiple layers of procedural noise in Unreal Engine (UE4/UE5) to create an infinite number of hexgrid map variations. These procedural generated maps make use of one instanced static mesh that is created at runtime and shaped according to multiple layers of procedural noise that are projected onto to the hexgrid to determine tile elevation. Once tile elevation has been determined, a material uses the absolute world position of each tile to assign the tile to a terrain category: underwater, sand, grass, plains, rocky, mountain, snow. The old water tiles have now been “demoted“ to underwater tiles to provide ocean depth and a single plane mesh is being used to represent our water, along with a new material that uses depth fade to show that new ocean depth. The effect is an early prototype of a randomly generated terrain map on a hexagonal grid. I’m looking forward to adjusting the visual style of the hexgrid and beginning to add more character to the tile terrain types and finer details. I’ve included the Unreal Engine 5 project files in a link below. If you enjoyed this Unreal Engine tutorial, please like and subscribe! Other HexGrid Episodes: E01 - Creating a HexGrid System in Unreal Engine: E02 - 250,000 Random Terrain Tiles in Unreal: E03 - Generating Procedural Hexgrid Maps in Unreal: E04 - Top Down Camera Made Easy in Unreal Engine: E05 - One Easy Way to Manipulate Instanced Meshes If you would like to download the files for the Unreal project, you can visit the StayAtHomeDev Discord and check out the # tutorial-files channel. StayAtHomeDev Discord: Resources: FastNoise Library - FastNoise Unreal Plugin - ColdBlaze Channel - Chapters: 0:00 Start 0:25 Getting FastNoise Working with Blueprints 1:37 Integrating the Noise into the HexGrid Map System 2:17 Using Instance Transform to Determine Noise Coordinates 3:16 First Layerof Procedural Noise Projection 3:50 Adding Depth to Our Water 5:17 Using Tile Elevation to Determine Terrain Type 7:40 PerInstanceRandom Node 8:25 Finalized First Layer of Procedural Noise 8:51 Adding a Second Layer of Procedural Noise 10:02 Realtime Generation of HexGrid Maps with Different Seeding PC Specs: AMD Ryzen 5 3600 6-core CPU NVIDIA GeForce RTX 3070 Programs Used: Unreal Engine Blender 2.8 OBS DaVinci Resolve Adobe Photoshop PreSonus Studio One My Gear: Panasonic G7 Panasonic 15-33mm lens Shure MV7X XLR Mic Focusrite Scarlett 2i2 Samson Boom Mic Stand Elgato Stream Deck Mk II Elgato Cam Link 4K Elgato Multi Mount (camera) Elgato Key Light Air (2x) #proceduralgeneration #unrealengine #map
Back to Top