Procedural Forest Biome
An L-system-based tree generator and PCG distribution for natural environments.
- Tech Stack
- Houdini
Unreal Engine 5.6 - Role
- Developer
- Core Mechanics
- PCG Framework
HLSL
HDA Tool
Procedural Forest Biome combines an L-system-based tree generator in Houdini with procedural vegetation distribution in Unreal Engine 5.6.
The workflow starts with authoring trees and shrubs, then uses terrain-derived temperature and moisture to populate a forest community. Tree shape, materials, and wind animation are part of the same asset creation process.
The Challenge
Create a vegetation generation tool using Houdini L-systems, handling UVs, branching, tree shape, materials, and wind animation.
Derive temperature, moisture, and other environmental data from the terrain heightmap in UE5, then pass that data into the PCG graph for sampling and filtering.
Generation Workflow
01 Generate vegetation assets
Adjust tree age, gravity, leaf size, canopy shape, and materials. Use the tree generation tool to bake a variety of tree and shrub assets for later use.
02 Set the climate
Adjust the terrain’s moisture and temperature data to control the environmental conditions used by the biome.
03 Generate a community
Define an area with the spline tool, then add rocks, trees, shrubs, and herbaceous plants to the generation candidate pool to create a forest community with an ecological structure.
System Architecture
PCG Biome Graph
Run a basic Surface Sampler once, then filter subsequent branches using the FFT Biome Sampler. Reusing the sampled points reduces repeated iteration and improves generation speed.


L-system + Sweep Tree Generator
Expose basic parameters such as tree age, thickness, gravity, and leaf settings. Noise and ramps allow distinctive artistic styles and give artists greater control over the tree’s silhouette.
Wind Animation 1 — Pivot Painter 2 + Labs Tree Hierarchy
A hierarchical foliage setup combines Labs Tree Hierarchy with Pivot Painter 2 for branch and leaf wind animation.



Wind Animation 2 — Height Mask + Sine Function
A second approach combines a height mask with a sine function to control wind motion along the vegetation’s height.


Foliage Material

Problems Solved
- Improve the efficiency of manual placement.
- Synchronize data between terrain materials and PCG vegetation, with both jointly controlled by temperature and moisture.
- Automatically distribute vegetation to reflect clustering, clumping, and competitive relationships between species.
Video
L.Z / 2026