The latest iteration of Unreal Engine includes the addition of some new powerful tools for foliage with open world games in mind. Populating the landscape with trees requires more than just randomly dropping your assets on a map. It’s about crafting and controlling the world your players inhabit. Placing your foliage using UE 4.8 procedural tools will allow you to create a very natural looking landscape without sacrificing control.
With games like Ark: Survival Evolved being built in a matter of months in Unreal Engine 4, we’re starting to see more large scale games coming out of the indie developer realm.
Procedural Foliage Generator
The new procedural foliage generator uses the expanded properties of foliage type assets to intelligently populate and area with multiple species of trees. Simply create a new foliage type asset and add the foliage of your choice. The free sample SpeedTrees work great as do any of the assets from our store or one that you’ve made yourself. Once you’ve created the new foliage type it can be added to the procedural foliage generator. The parameters for how the foliage is generated are located in the foliage type allowing you to adjust how multiple plants spawn in one generator.
Landscape Grass Tools
Grass can now be added to a material allowing you automatically spawn grass over certain textures. For instance, if your material included gravel and grass textures you can set grass assets to automatically spawn on any areas painted with the grass texture. This can allow you to quickly create large grassy areas without having to paint foliage or placing them by hand.
Landscape Grass Renderer
This new system dynamically renders grass and ground clutter meshes around the player based on the density map created using the new grass tools. According to the release notes:
- As the player moves through the world, new instances are added, and instances no longer in range are removed.
- Artists author grass density through the landscape material, by outputting density to a Landscape Grass Output node. This allows the grass placement to match the terrain texturing!
- Grass instances are procedurally generated by a background task according to the grass density map.
- Grass is efficiently rendered using a hierarchical instancing system that implements culling while keeping draw calls to a minimum. LOD transitions are per-pixel and fairly seamless due to Temporal AA.
To learn more about how the new tools work check out these brief tutorials on the UE4 forums and be sure to catch the two-part breakdown of how the team at Unreal Engine made the Kite Demo, including using SpeedTree for their trees.