Home - CraftKontrol/GroundGen-for-Touchdesigner GitHub Wiki
Welcome to the GroundGen wiki!
This wiki is dedicated to providing comprehensive information about GroundGen, a powerful tool for generating grounds in Touchdesigner. Here, you will find guides and documentation to help you get started and make the most of GroundGen.
Table of Contents
- Overview
- Common Networks
- 3D Operators
- 2D Operators
- Output Operators
- FAQ
- Troubleshooting
Overview
GroundGen integrates directly with TouchDesigner’s real‑time engine, using POPs (Point Operators) to read and modify point attributes (position, normal, color, masks, custom channels) at scale. This enables procedural layering where each operator can contribute, filter, or remap data without destructive baking. Networks remain editable, so upstream changes propagate instantly through the graph.
Attribute blending across large point sets allows construction of complex terrain behaviors: combining shape primitives, noise fields, erosion passes, and masks to drive height, material weights, and selection logic. Intermediate results are always inspectable, encouraging fast iteration and refinement of terrain form and splatmap control data.
GLSL integration lets you adjust shading, visualization, and diagnostic overlays on‑the‑fly. Editing a shader or tweaking operator parameters immediately updates the viewport, reducing turnaround for look development. This tight feedback loop supports rapid experimentation while keeping the system performant and modular.
Common Networks
GroundGen organizes terrain creation and material assignment into specialized node networks. Each network focuses on a specific aspect of the workflow, enabling modular and flexible scene construction.
Name | Info |
---|---|
TerrainNetwork | Handles terrain geometry generation and editing. |
SplatmapNetwork | Manages texture and material distribution across the terrain. |
3d Operators
3D operators are used to manipulate and generate 3D terrain features within the TerrainNetwork.
Name | Info | Usage |
---|---|---|
Noise | Generates procedural noise for terrain elevation and features. | TerrainNetwork |
Shape | Defines base shapes (e.g., hills, plateaus) for terrain geometry. | TerrainNetwork |
Terrace | Creates stepped, terrace-like formations in terrain. | TerrainNetwork |
Erosion | Simulates natural erosion effects for realistic terrain. | TerrainNetwork |
Beach | Adds beach zones by blending terrain near water level. | TerrainNetwork |
Snow | Applies snow coverage based on height or slope. | TerrainNetwork |
2d Operators
2D operators are used to manipulate 2d textures or point attributes within the SplatmapNetwork or the TerrainNetwork.
Name | Info | Usage |
---|---|---|
Cavity | Detects and highlights concave regions for masking or material effects. | TerrainNetwork, SplatmapNetwork |
HeightMap | Generates or processes heightmaps for terrain and texture blending. | TerrainNetwork, SplatmapNetwork |
Level | Applies leveling for terrain and texture adjustments. | TerrainNetwork, SplatmapNetwork |
Slope | Calculates terrain slope for procedural masking and distribution. | TerrainNetwork, SplatmapNetwork |
Combiner | Merges two input attributes into a single output layer for blending. | TerrainNetwork, SplatmapNetwork |
Splatmap | Manages splatmap layers for texture/material blending across terrain. | SplatmapNetwork |
Output Operators
Output operators are used to generate final outputs from the processed terrain and texture data.
Name | Info | Usage |
---|---|---|
GeoOut | Outputs the final terrain geometry as a 3D model. | Everywhere |
MatOut | Outputs the final shader for the terrain. | Everywhere |
SplatOut | Outputs the final splatmap in a TOP format. | Everywhere |
FAQs
What are the main features of GroundGen?
GroundGen offers a modular node-based workflow for procedural terrain generation, including 3D and 2D operators for manipulating terrain geometry and textures.
How can I create custom terrain shapes?
You can use the Shape operator within the TerrainNetwork to define base shapes for your terrain. Combine it with other operators like Noise and Erosion for more complex results.
Can I use my own textures in GroundGen?
Yes, you can import custom textures and use them within the SplatmapNetwork for material assignment and blending.
What is a splatmap?
A splatmap is a texture used to control the blending and distribution of multiple material layers across a terrain surface. It assigns different materials (e.g., grass, rock, sand) to specific areas based on various attributes like height, slope, or custom masks. Splatmaps are essential for creating detailed and varied landscapes in procedural terrain generation.
Why TouchDesigner?
TouchDesigner and its new POPs pipeline provide a robust framework for real-time visual editing of massive points distributions, and real-time manipulation of heavy meshes.
Troubleshooting
Todo...