top of page

Procedural Worldbuilding
Personal Project 

This personal study focuses on building large-scale environments through procedural generation. The goal is to explore how rule-based systems, custom attributes, and code-driven tools can create complex scenes with high flexibility and rapid iteration.

This project expands from generative image-making into a reusable environment workflow in Houdini. The system focuses on art-directable controls—terrain formation, biome-driven scattering, and mask-based material blending—so a single setup can generate many consistent variations while remaining editable at every stage.

HeightField Terrain Generation
Terrain is created with Houdini HeightFields and treated as a layered dataset rather than a single height map. Primary forms are established first, then refined through erosion and filtering passes. Derived fields—slope, flow, curvature, and custom masks—become shared control signals for both scattering and surfacing, keeping terrain shape and look development in sync.

Screenshot 2025-12-20 001817.png

Biome Vegetation Scattering System
Vegetation distribution is generated through biome rules driven by HeightField attributes. Density is controlled by altitude and slope thresholds, with additional breakup masks for clustering, clearings, and edge variation. Instances inherit orientation and scale from the terrain field, allowing consistent placement while keeping enough stochastic variation for natural results.

More information about biome system, please visite 

https://www.sidefx.com/contentlibrary/biome-demo/

Screenshot 2025-12-21 220259.png

Mask-Driven Material Blending
Surfacing is controlled through a mask stack derived from HeightFields, including slope- and height-based layers plus authored masks for art direction. These masks drive material blending to maintain coherent transitions (e.g., rock-to-soil, soil-to-grass) and keep the visual language consistent with the scattering logic.

MaterialX Automation (Python HDA)
To reduce repetitive shader setup, a Python-driven HDA generates MaterialX networks automatically from standardized texture sets and naming conventions. The tool builds a consistent node graph, connects maps, exposes common look-dev controls, and enforces uniform parameter interfaces—making materials faster to iterate and easier to reuse across scenes.

houdini_gg04FRVDk4.gif
bottom of page