Introduction
The Labs Growth node (from SideFX Labs) simulates organic growth systems - mycelium, coral, vascular networks, crystals, ivy - through three complementary mechanisms: a confinement volume (the Bounds Object), attraction points that guide the direction of growth, and thigmotropism, which handles physical interaction with surfaces. Combining these three parameters reproduces very convincing biological behaviors.
Input Architecture
The Labs Growth SOP has three distinct inputs. Understanding their role is essential before building the network.
| Input | Content | Role |
|---|---|---|
| Input 1 | Source geometry | Growth starting points (seeds) |
| Input 2 | Bounds Object | Confinement volume - growth stays inside it |
| Input 3 | Attraction Points | Scattered points that attract and orient growth |
Growth Bounds Object
The Bounds Object is a closed volume that acts as a container for the simulation. Growth cannot escape it. Think of it as an aquarium in which coral is grown: the aquarium's geometry defines the physical limits of colonization.
In practice, any closed mesh works: a sphere, a skull, a hollowed-out tree trunk, an organ, a rock. The more complex and winding the geometry, the more interesting the growth behaviors as it navigates inside it.
Attraction Points
Attraction Points are points scattered in or on the simulation space that pull growth toward them. The more points in an area, the denser the growth there. Every growing branch constantly searches for attractors within its radius of influence and orients toward the nearest one.
The core idea: Attraction Points define where growth happens, tropism defines the overall direction, and thigmotropism handles the physical relationship to surfaces.
Varying Density by Texture
Density can be driven from a texture instead of being uniform - scatter points, then use an Attribute from Map node reading a noise or painted black-and-white map into a density attribute. Dense zones produce strong attraction, empty zones let growth develop more freely.
Key Parameters
| Parameter | Value | Effect |
|---|---|---|
| Attraction Radius | 0.5 - 3.0 | Radius of influence of each attractor point |
| Kill Distance | 0.1 - 0.5 | Distance at which a point is "consumed" and removed |
| Segment Length | 0.05 - 0.5 | Length of each segment between two growth steps |
| Iterations | 50 - 500 | Number of simulation cycles (more = denser) |
Thigmotropism
Biological Origin
Thigmotropism (from the Greek thigma, touch) is a plant's response to physical contact. It's the mechanism that makes ivy grow around a wall rather than through it, makes a vine's tendrils coil around a stake, and makes roots deflect around a pebble. The plant's nervous system senses physical resistance and recalibrates its growth direction accordingly.
In Labs Growth
The Thigmotropism parameter uses the Bounds Object's geometry (or a dedicated object on Input 2) as a reaction surface. The growing branch detects proximity to the mesh and reacts by moving away from it or clinging to it, depending on the sign of the value.
| Parameter | Value | Effect |
|---|---|---|
| Thigmotropism Weight | +0.5 to +1.0 | Avoidance - the branch grows around the object |
| Thigmotropism Weight | -0.5 to -1.0 | Wrapping - the branch clings to the surface |
| Thigmotropism Offset | 0.05 - 0.5 | Detection distance - how far away the branch starts reacting |
Use Cases
- Avoidance (positive value) - roots growing around rocks, mycelium colonizing around a rigid structure, crystals growing into the gaps of a complex mesh. The Bounds Object acts as an obstacle.
- Wrapping (negative value) - ivy on a facade, a vine on a trellis, coral enveloping a reef, lichen following the relief of a stone. The surface becomes a guide rather than an obstacle.
Practical Setup: Wrapping on a Surface
The complete workflow for growing vegetation along a facade mesh or a rock:
// Step 1 - Prepare the target surface
[Facade mesh]
├─ Scatter SOP (on surface) → Input 3 (attraction points)
└─ Direct output → Input 2 (thigmo object)
// Step 2 - Starting seeds
[Points at ground level / base] ──────► Input 1
// Step 3 - Labs Growth SOP
Thigmotropism Weight : -0.8
Thigmotropism Offset : 0.1
Attraction Radius : 0.3 (tight to the surface)
Segment Length : 0.05 (short segments = precise curvature)
Iterations : 300
Expected result: growth is drawn to the points scattered on the surface AND physically held by the mesh - it follows and wraps the geometry organically, never drifting away from it.
Combining Tropism and Thigmotropism
Tropism (phototropism, gravitropism) and thigmotropism can be combined to create much more nuanced behavior. They don't cancel each other out - they create a tension between two forces that produces trajectories far more organic than either used alone.
| Parameter | Value | Effect |
|---|---|---|
| Tropism Direction | {0, 1, 0} | Global upward force (phototropism) |
| Tropism Weight | 0.2 - 0.6 | Light influence - doesn't dominate thigmotropism |
| Thigmotropism Weight | -0.7 | Dominant wrapping - the surface stays the main guide |
Concrete example: ivy on a south-facing wall. Positive tropism pulls slightly toward the light (upward), negative thigmotropism keeps the branches stuck to the masonry. The result is growth that's broadly upward while faithfully following the relief of the wall.
Tips and Troubleshooting
- Growth escaping the Bounds Object - check the mesh is closed (Merge + Fuse + Check Edges). Enable Convert to VDB for more robustness.
- Branches not converging - Kill Distance is too large. Reduce it to 15-20% of the Attraction Radius.
- Growth too uniform, not organic - vary Attraction Point density with an Attribute from Map driven by Perlin noise.
- Wrapping not following the surface - Thigmotropism Offset too large. Start at 0.05, and keep Segment Length short (< 0.1).
- Simulation slow on a complex mesh - reduce Iterations for tests, raise them only for the final render.
- Result too geometric, not supple enough - enable Post-Smooth in the output parameters, or add a Smooth SOP as post-process.