Prune
The Prune node removes existing branches when conditions are met. It evaluates attributes on internodes and marks them for deletion, re-evaluates over multiple cycles (so branches can be pruned later in life when they get too old or crowded), and supports a start delay to allow initial growth before pruning begins. Two testing modes are available: Threshold compares an attribute against a value; Expression evaluates a custom VEX rule.
Inputs
| Input | Description |
|---|---|
| Input 0: Graph | The incoming Natsura graph. |
Attributes
Prune consumes attributes but does not typically emit new ones. Common inputs:
| Attribute | Description |
|---|---|
height | Common pruning input. |
age | Common pruning input. |
u | Common pruning input. |
generation | Common pruning input. |
density | Custom pruning input. |
Outputs
| Output | Description |
|---|---|
| Output: Graph | The graph with pruned internodes removed. |
Parameters
Condition
| Parameter | Description |
|---|---|
| Use Expression | Threshold removes components based on attribute or value thresholds; Snippet removes them based on a custom VEX snippet condition. |
Threshold
| Parameter | Description |
|---|---|
| Compare Attribute | The attribute name for the first operand (when Type A is Attribute). Common choices: height, age, u, generation. |
| Operation | Comparison operator: ==, !=, >, >=, <, <=. |
| Graph Type B | Gate Value (a constant) or Attribute (a specific attribute from the plant structure). |
| Test Value | The constant for the second operand (when Type B is Gate Value). Range 0-10. |
| Test Attribute | The attribute name for the second operand (when Type B is Attribute). |
Snippet
| Parameter | Description |
|---|---|
| Prune Snippet | Inline VEX for custom logic (f@height > 5, say). |
Prune Cycle Settings
| Parameter | Description |
|---|---|
| Test Lifetime | Number of iterations for pruning operations, allowing progressive refinement. Controls how many times the condition is re-evaluated for each internode. Range 0-10. |
| Start Delay | Time delay (in steps / iterations) before pruning takes effect. Useful for allowing initial growth before evaluation begins. Range 0-10. |
Notes
- Prune re-evaluates conditions over multiple cycles, unlike Kill which acts immediately. This makes it suitable for gradual die-back behaviours.
- For complex pruning logic, calculate custom attributes in a Wrangle upstream and use them as the test attribute in Prune.
See also: Simulation concept · Kill · Wrangle · Repeat
Pivot Edit
Interactive state for manually placing pivots on input assembly geometry when auto-rigging fails. Inner utility of the Assembly Resource.
Repeat
Defines a looping block in the graph. Encapsulates a subgraph between Repeat Begin and Repeat End, re-evaluating it N times with time-varying attributes.