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.
Trunk
Creates the main stems. Arrange them at a point, on a grid, around a ring or across an area, then shape their height, lean and thickness.
Tree
Branches
Point keeps starts together, Grid uses Count X × Count Z, Radial uses a ring and Random fills a centered rectangle. These are local patterns repeated at every Tree Root origin. Pattern Rotation rotates positions and growth frames; Rotation Randomness turns each frame without moving its start.
Radial Outward points away from each placement center. Coincident Point starts use Rotate Pattern to spread directions; other patterns use actual positions. Tilt / Rotation Randomness vary orientation, Height Randomness varies length and Base Radius Randomness varies thickness independently. Surface detail is now authored in Noise.
Watch the Trunk 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.
Placement

- Placement
Chooses the stem arrangement at every incoming Tree Root origin. Point puts stems at that origin. Grid makes rows and columns, Radial makes a ring, and Random spreads stems across a rectangle.
- Count
Sets independent stems per Tree Root origin. Grid uses Count X multiplied by Count Z instead. Three tree origins with two trunks at each produce six stems.
Available when Placement is Point or Radial or Random.
- Position Randomness X
Maximum +/- position offset in tree units along local X, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Y
Maximum +/- position offset in tree units along local Y, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Z
Maximum +/- position offset in tree units along local Z, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Pattern Rotation
Rotates the local trunk arrangement and stem growth directions around each incoming origin. The random layout stays the same as it turns. This is separate from Tree Root's rotation of the overall tree positions.
Orientation

- Orientation
Up shares one tilt direction. Radial Outward tilts away from each placement center, so Radial, Grid and Random patterns follow their actual positions. Coincident Point starts use Rotate Pattern to spread their directions.
- Tilt
Leans the whole stem away from vertical. Zero points upward; 90 degrees points horizontally.
- Tilt Randomness
Per-trunk tilt variation in degrees around Tilt, bounded to 0..90 degrees. Uses Global Seed and Seed Offset.
- Rotation Randomness
Per-trunk +/- rotation in degrees around +Y. Rotates the growth frame without moving the start position. Uses Global Seed and Seed Offset.
Shape

- Height
Sets stem height before the overall tree scale.
- Height Randomness
Per-trunk height variation. 0 is unchanged; 0.25 varies height by up to +/-25%.
- Base Radius
Sets trunk base radius before tree scale.
- Base Radius Randomness
Per-trunk radius variation. 0.25 varies width by up to +/-25%, preserving Tip Radius %.
- Tip Radius %
Sets tip radius as a fraction of base radius. 0.08 leaves 8% at the tip.
Deformation

- Curvature
Adds curvature to the trunk path. Increase it for a less straight stem.
- Lean X
Leans the trunk toward positive or negative X.
- Lean Z
Leans the trunk toward positive or negative Z.
Geometry

- Radial Segments
Sets sides around the trunk. More sides give a rounder main stem.
- Length Spans
Sets spans along the branch. More spans allow smoother bends and add geometry.
Advanced

- Seed Offset
Changes this node's random variation. Keep the seed and settings unchanged to reproduce the same result.
Placement (1)
Shown example: Placement = Radial.

- Placement
Chooses the stem arrangement at every incoming Tree Root origin. Point puts stems at that origin. Grid makes rows and columns, Radial makes a ring, and Random spreads stems across a rectangle.
- Count
Sets independent stems per Tree Root origin. Grid uses Count X multiplied by Count Z instead. Three tree origins with two trunks at each produce six stems.
Available when Placement is Point or Radial or Random.
- Radius
Sets the stem ring's radius. Zero puts every stem at the center.
Available when Placement is Radial.
- Radius Randomness
Per-instance radius variation. 0 is unchanged; 0.25 varies the radius by up to +/-25%. Uses Global Seed and Seed Offset.
Available when Placement is Radial.
- Angle Randomness
Per-instance angular deviation in degrees around the radial or cluster pattern. Uses Global Seed and Seed Offset.
Available when Placement is Radial.
- Position Randomness X
Maximum +/- position offset in tree units along local X, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Y
Maximum +/- position offset in tree units along local Y, before Pattern Rotation. Uses Global Seed and Seed Offset.
Placement (2)
Shown example: Placement = Radial.

- Position Randomness Z
Maximum +/- position offset in tree units along local Z, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Pattern Rotation
Rotates the local trunk arrangement and stem growth directions around each incoming origin. The random layout stays the same as it turns. This is separate from Tree Root's rotation of the overall tree positions.
Placement (1)
Shown example: Placement = Random.

- Placement
Chooses the stem arrangement at every incoming Tree Root origin. Point puts stems at that origin. Grid makes rows and columns, Radial makes a ring, and Random spreads stems across a rectangle.
- Count
Sets independent stems per Tree Root origin. Grid uses Count X multiplied by Count Z instead. Three tree origins with two trunks at each produce six stems.
Available when Placement is Point or Radial or Random.
- Size X
Sets the width of the random placement area in X.
Available when Placement is Random.
- Size Z
Sets the depth of the random placement area in Z.
Available when Placement is Random.
- Position Randomness X
Maximum +/- position offset in tree units along local X, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Y
Maximum +/- position offset in tree units along local Y, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Z
Maximum +/- position offset in tree units along local Z, before Pattern Rotation. Uses Global Seed and Seed Offset.
Placement (2)
Shown example: Placement = Random.

- Pattern Rotation
Rotates the local trunk arrangement and stem growth directions around each incoming origin. The random layout stays the same as it turns. This is separate from Tree Root's rotation of the overall tree positions.
Placement (1)
Shown example: Placement = Grid.

- Placement
Chooses the stem arrangement at every incoming Tree Root origin. Point puts stems at that origin. Grid makes rows and columns, Radial makes a ring, and Random spreads stems across a rectangle.
- Count X
Sets the number of stems across the grid in X.
Available when Placement is Grid.
- Count Z
Sets the number of stems across the grid in Z. Total stems equal Count X times Count Z.
Available when Placement is Grid.
- Spacing X
Sets the distance between grid positions in X.
Available when Placement is Grid.
- Spacing Z
Sets the distance between grid positions in Z.
Available when Placement is Grid.
- Position Randomness X
Maximum +/- position offset in tree units along local X, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Position Randomness Y
Maximum +/- position offset in tree units along local Y, before Pattern Rotation. Uses Global Seed and Seed Offset.
Placement (2)
Shown example: Placement = Grid.

- Position Randomness Z
Maximum +/- position offset in tree units along local Z, before Pattern Rotation. Uses Global Seed and Seed Offset.
- Pattern Rotation
Rotates the local trunk arrangement and stem growth directions around each incoming origin. The random layout stays the same as it turns. This is separate from Tree Root's rotation of the overall tree positions.
Orientation
Shown example: Orientation = Radial Outward · Placement = Point.

- Orientation
Up shares one tilt direction. Radial Outward tilts away from each placement center, so Radial, Grid and Random patterns follow their actual positions. Coincident Point starts use Rotate Pattern to spread their directions.
- Tilt
Leans the whole stem away from vertical. Zero points upward; 90 degrees points horizontally.
- Tilt Randomness
Per-trunk tilt variation in degrees around Tilt, bounded to 0..90 degrees. Uses Global Seed and Seed Offset.
- Rotate Pattern
Sets the orientation step between coincident Point instances when Orientation is Radial Outward. Other placement modes derive outward direction from each position and hide this control.
Available when Orientation is Radial Outward and Placement is Point.
- Rotation Randomness
Per-trunk +/- rotation in degrees around +Y. Rotates the growth frame without moving the start position. Uses Global Seed and Seed Offset.
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.