Home About Projects Contact
fusion unreal5

PCG Forest

Getting familiar with Procedural Content Generation graphs in Unreal Engine 5.2.

Overview

This is my first approach to Procedural Content Generation in Unreal Engine 5.2. I chose to focus on a forest, mainly because PCG currently seems more suitable for scattering vegetation rather than constructing buildings or cities, though this will likely change over time.

The "Electric Dreams" demo scene by Epic Games inspired me - currently, the biggest source of knowledge about PCG. My ambition was to create an algorithm that would serve as a good starting point for further customization in a specific project.

Role

The whole thing. I selected assets for the biome, prepared the PCG Graph of the forest, and set up the lighting and sequences.

Tools and Resources Used

All models and materials are sourced from Quixel Megascans. The trees are from the Megascans Trees: European Beech pack. Everything was created and rendered in Unreal, and Fusion was used for compositing.

Technical Details

Even for this simple project PCG Graph was pretty large. I tried to make my graph as nice and clean as possible in Unreal.

The PCG Graph that I prepared requires a landscape and two splines that mark out the forest and meadow areas. For larger stones or dead trees, I prepared separate levels where I manually arranged the surrounding objects. Then, using the Level to PCG Asset Utility, I converted these levels into point clouds, which I could then use in the PCG Graph.

References

For references, I used the promotional renders of the previously mentioned Megascans Trees: European Beech pack. I tried to replicate this manually arranged forest in a procedural version.

Conclusion

The PCG Graph I prepared still needs a lot of attention, but it seems to be a good starting point for further development and optimization. This project was a great introduction for me to the PCG system, which is still in beta as I write this. I hope it will continue to be actively developed and eventually replace the Houdini Engine, which, while powerful, is also cumbersome and does not work at runtime.

← Projects