Good progress has been made continually throughout the project, I have run into a few problems but I have prioritised more important features rather than grinding away at the same problem wasting precious time. I am happy that the tool in its current state can produce a natural looking result and shows a lot of potential for further work.
The project is available on my Github here.
To Open the project from Github on your computer you will need the following:
- Unreal Engine 4, Version 4.18.3
- Visual Studio 17
- Windows 10 SDK
- Windows 8.1 SDK
- .NET desktop development
- Desktop development with C++
- Game Development with C++
I would have liked to have created a Windows build to use as a demo however I got stuck trying to fix a compile error that was not present when using the Compile button in the editor but was present in both Visual Studio and when packaging for windows. In the end I decided that it would be a waste of time spending hours debugging it rather than making sure it’s finished.
It’s very slow to generate so I would like to optimise everything, specifically getting the mesh data from the terrain and generating the normal.
Currently all of my code is in the Level blueprint so I would like to put it into it’s own blueprint class so that it’s easier to use in multiple levels.
I would like to add support for more biomes with differing settings and even moisture simulation to procedurally determine the location of biomes as per my initial proposal.
I would like to explore the possibility of creating my own heightmaps using Fractal noise, building on what I learned from implementing it in Monogame in my spare time, see Visual Scripting – Spawning Trees.
Finally I would like to use Noise to determine where vegetation should spawn as opposed to the current random number generator; this could possibly allow for me to further speed up the generation time as well as allowing more control to the user for where vegetation should appear.
Tree Mesh, Created in 3DS Max
Materials, Created by playing around in the material editor
• Snow Material: Noise node based off world position
• Ground Material: Picks Stone or grass texture dependant on the slope
Sourced Textures, From http://www.Textures.com: