The Grow node is the primary interface for creating procedural vegetation in Natsura.
grow_core, split, repeat (begin/end), switch, and wrangle into one powerful tool.Core Parameters vs. Interface
Under the hood, the growth logic is driven by a few fundamental parameters on the grow_core:
Length ScaleWidth ScalePitch, Roll, YawOffset (position on parent internode)Branch Count (innate forking property)The Grow node maps these raw parameters to user-friendly controls. For example, "Multiplicity" drives Branch Count on the first step, while "Forking" drives Branch Count during recursive repetition.
Forking vs. Splitting
Branch Count property. It creates copies of the growth based on probabilities or gradients mapped to that count.Recursion
The built-in repeat allows a single Grow node to generate complex, recursive geometry (like a stem with leaves) by re-evaluating the graph N times. Alternatively, you can use Grow for a single step and wrap it in an explicit Repeat block for advanced workflows.
parms detail dictionary for external constants.Initialization Controls the first step of growth.
Branch Count for the initial step (creating multiple siblings).Growth (Recursion)
Length, Width, and Spiral (incremental orientation) over the recursion.Fork (Branching)
Controls Branch Count during recursion.
Branch Count.Sockets Connect Mapping chains here to drive the internal parameters in space and time.
| Attribute | Meaning |
|---|---|
u | Normalized progress along the current growth section. |
id | Unique identifier for the internode. |
parent_id | ID of the parent internode. |
generation | Recursive depth from the root. |
age | Time/step counter. |
branch_count | The innate forking property (driven by Multiplicity or Fork settings). |
Width to u for tapering.Pitch, Yaw, or Length with noise or gradients.