ZenGrove
Built to move. Down to the last leaf.
Built to move. Down to the last leaf.
The ZenGrove 1.0.0 reference: 52 nodes, 907 settings and short WebM demos. Explore Look At asset orientation, GameDynamics, joint previews, skeletal export and per-leaf random vertex colors. Requires AO.Hub 1.6.6 or later.
Split
Divides an active path into two or more continuations. Every continuation bends away from the incoming stem; control inclination, radial spacing, split position and transition shape.
Branches
Branches
With Branching Into = 3 and Radial Randomness = 0, the directions are 120° apart around the stem; four gives 90°. Angle from Stem sets their tilt. Four continuations at 45° all lean outward by 45°; the 90° spacing describes the top view, not the 3D angle between neighboring shoots.
Angle Randomness varies each child’s tilt independently. Radial Randomness varies directions around the axis, while Plane Rotation rotates the entire arrangement. Probability selects whole splits. Stack Split nodes to divide the active continuations again.
Two continuations use a welded fork. At three or more, the first outward-bending continuation is welded to the lower stem; the others overlap with open bases inside the junction. The complete multi-way junction is not watertight. Transition Length, Junction Length Scale and Bend Smoothness shape its transition.
Watch the Split settings tour
Current Maya controls, including conditional settings. Each view stays on screen for one second (three views take three seconds); pause or choose a group to inspect it.
Setup

- Branching Into
Sets the total continuations per successful split. Two form a welded fork. Three or more all bend radially outward; there is no straight central continuation.
Generation

- Probability
Sets the share of eligible paths that receive a fork. One splits all; zero adds none.
- Split Range — Split Start %
Sets the earliest fork position. Zero is the parent base and one is its tip.
- Split Range — Split End %
Sets the latest fork position. Together with Split Start, this defines the allowed Split Range.
Orientation

- Angle from Stem
Sets each continuation’s inclination from the incoming stem, in degrees. Two children at 45° open by 90°. For three or more children, this tilt is separate from their spacing around the stem.
- Angle Randomness
Maximum inclination offset in degrees, independently per continuation, reproducible with Global Seed and Seed Offset. Zero keeps every child at Angle from Stem. Each inclination is clamped to 0-175 degrees. Radial Randomness separately varies spacing around the stem.
- Plane Rotation
Rotates the fork plane around the incoming branch direction.
- Plane Randomness
Varies the fork plane between branches.
Shape

- Transition Length %
Sets the fraction of remaining branch length used to ease into the fork angle. Higher values make the turn more gradual.
- Junction Length Scale
Scales the fork transition. For two continuations it controls separation around the junction; for three or more it also scales the easing distance into the side-shoot direction.
- Blend Radius
Controls how rounded the inner fork ridge becomes relative to parent thickness.
Available when Branching Into is 2.
- Surface Blend
Helps the fork surface meet the incoming branch and both outgoing sides, including on a bent input.
Available when Branching Into is 2.
- Crotch Smoothness
Rounds the inner saddle between fork sides.
Available when Branching Into is 2.
- Length Bias
Zero keeps both sides equally long. Negative favors side A; positive favors side B. Changes length and its radius share, never the split angle.
Available when Branching Into is 2.
- Bias Randomness
Varies the length balance between fork sides.
Available when Branching Into is 2.
Geometry

- Junction Segments
Sets the number of sides around the fork. Zero inherits branch resolution.
Available when Branching Into is 2.
- Junction Spans
Adds rings along the fork transition for more detail.
Available when Branching Into is 2.
Advanced

- Seed Offset
Changes this node's random variation. Keep the seed and settings unchanged to reproduce the same result.
Orientation
Shown example: Branching Into = 3.

- Angle from Stem
Sets each continuation’s inclination from the incoming stem, in degrees. Two children at 45° open by 90°. For three or more children, this tilt is separate from their spacing around the stem.
- Angle Randomness
Maximum inclination offset in degrees, independently per continuation, reproducible with Global Seed and Seed Offset. Zero keeps every child at Angle from Stem. Each inclination is clamped to 0-175 degrees. Radial Randomness separately varies spacing around the stem.
- Plane Rotation
Rotates the fork plane around the incoming branch direction.
- Plane Randomness
Varies the fork plane between branches.
- Radial Randomness
Adds an independent angular offset around the stem to each continuation. Zero gives equal spacing. The offset is capped at 45% of the regular gap to preserve order and does not change inclination.
Available when Branching Into is greater than 2.
Shape
Shown example: Branching Into = 3.

- Transition Length %
Sets the fraction of remaining branch length used to ease into the fork angle. Higher values make the turn more gradual.
- Junction Length Scale
Scales the fork transition. For two continuations it controls separation around the junction; for three or more it also scales the easing distance into the side-shoot direction.
- Bend Smoothness
Ease all continuations into their new directions. Junction Length Scale scales this transition.
Available when Branching Into is greater than 2.
What is ZenGrove used for?
The ZenGrove 1.0.0 reference: 52 nodes, 907 settings and short WebM demos. Explore Look At asset orientation, GameDynamics, joint previews, skeletal export and per-leaf random vertex colors. Requires AO.Hub 1.6.6 or later.
Which host application does ZenGrove support?
ZenGrove is built for Autodesk Maya and is distributed through AO Studio Tools.
Where can I download ZenGrove?
Download the current AO Studio Tools package from https://aostudio.tools/getthetools.html and install it through AO.Hub.