Having discussed Grove3d, I’d like to take a step back to describe how proceduralism, the trend towards tools capable of dynamically creating assets based on sets of rules, influenced my approach with the Shenandoah project. This is a big subject, because it really points to the role of AI as it pertains to spatial computing.
Unreal as of UE5.2 (I have not yet explored 5.3) has several tools that address proceduralism as it relates to plants and vegetation. This gets very confusing as terms like PFS, PCG, and LGT are used in overlapping and complementary ways, so I wanted to define terms and describe what was used and how within my project.
Landscape Grass Types (LGT)
Landscape Grass Types in Unreal Engine allow designers to populate large areas of their landscapes with procedurally generated grass and other ground cover effects. By defining a Landscape Grass Type, designers can specify which Static Mesh to use as the grass, how densely it should be placed, its scaling variations, and more. Once defined, this grass type can be associated with a landscape layer, and the engine will automatically populate the landscape with the grass based on the painted layer information.
Procedural Foliage Spawning (PFS)
Procedural Foliage Spawning in Unreal Engine is a system that enables designers to populate their scenes with foliage (like trees, bushes, rocks, etc.) in a procedural manner. By using a Procedural Foliage Volume, designers can define the types of foliage to spawn, their density, clustering, and other parameters. The system then automatically places these assets within the volume, ensuring a natural-looking distribution. This is especially useful for populating large open-world environments where manually placing each asset would be time-consuming.
Procedural Content Generation (PCG)
Procedural Content Generation refers to the creation of game content (like levels, textures, characters, and more) algorithmically, rather than manually. In the context of Unreal Engine, PCG can be achieved using a combination of Blueprints, scripts, and other tools to generate content on-the-fly. This approach can lead to more varied and dynamic game environments, as the content can change each time it’s generated. PCG is often used in games that require vast, open worlds or in roguelike games where each playthrough offers a different level layout.
In the Shenandoah Project, I’ve used each of these capabilities in different ways.
After experimenting with masks and heightmaps from GlobalMapper, GAEA and the Landscape functionality within Unreal, I replaced my landscape shader with Arunoda Susiripala’s OpenLand – Customizable Landscape Auto Material, which was extremely helpful in pushing the look of the landscape further. This allowed me more time to develop my own materials, and to experiment with grass (LGT) and tree (PFS) placement.