ZenGrove
Grow a plant, one node at a time.
Grow a plant, one node at a time.
Explore all 44 nodes with illustrated Maya views and plain-English explanations of every setting. Build trunks and branches, place foliage, shape growth, add wind and prepare your output.
Vertex Color
Writes masks into red, green, blue and alpha vertex-color channels for shader wind, variation and other effects.
Branches
Branches
Affect

- Affect
Chooses which branches are affected. Active Branches uses the latest generated layer. Active + Descendants also includes growth from that layer. Active Generated Hierarchy additionally includes ancestors created by that same generated contribution. Entire Input uses everything arriving here. Attached children follow a moved parent even when they are not reshaped themselves.
Channel R

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Invert
Flips the mask after Falloff, exchanging dark and light.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Falloff
Changes how the mask rises from dark to light. One keeps an even response; larger values keep it darker for longer.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Min
Sets the output value at the dark end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Max
Sets the output value at the light end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Include Roots
Includes roots in structural masks. When off, roots are set to zero after the other adjustments.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Collision Flexibility.
Channel G

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Invert
Flips the mask after Falloff, exchanging dark and light.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Falloff
Changes how the mask rises from dark to light. One keeps an even response; larger values keep it darker for longer.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Min
Sets the output value at the dark end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Max
Sets the output value at the light end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
Channel B

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
Channel A

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
Export

- Color Set
Names the Maya vertex-color set. colorSet1 is the default for the usual FBX workflow.
Channel R
Shown example: Mask Source = Constant.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Value
Fills this channel with one value when Mask Source is Constant.
Available when Mask Source is Constant.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
Channel G
Shown example: Mask Source = Constant.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Value
Fills this channel with one value when Mask Source is Constant.
Available when Mask Source is Constant.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
Channel G
Shown example: Mask Source = Tree Distance.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Invert
Flips the mask after Falloff, exchanging dark and light.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Falloff
Changes how the mask rises from dark to light. One keeps an even response; larger values keep it darker for longer.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Min
Sets the output value at the dark end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Max
Sets the output value at the light end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Include Roots
Includes roots in structural masks. When off, roots are set to zero after the other adjustments.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Collision Flexibility.
Channel B
Shown example: Mask Source = Constant.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Value
Fills this channel with one value when Mask Source is Constant.
Available when Mask Source is Constant.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
Channel B
Shown example: Mask Source = Tree Distance.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Invert
Flips the mask after Falloff, exchanging dark and light.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Falloff
Changes how the mask rises from dark to light. One keeps an even response; larger values keep it darker for longer.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Min
Sets the output value at the dark end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Max
Sets the output value at the light end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Include Roots
Includes roots in structural masks. When off, roots are set to zero after the other adjustments.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Collision Flexibility.
Channel A
Shown example: Mask Source = Constant.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Value
Fills this channel with one value when Mask Source is Constant.
Available when Mask Source is Constant.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
Channel A
Shown example: Mask Source = Tree Distance.

- Mask Source
Chooses the mask for this channel. Off preserves incoming values. Constant fills one value. Tree Distance changes along the tree from its base. Branch Distance runs along each branch. Branch Level uses the growth layer. Radius uses thickness. Foliage Flutter supplies a leaf-motion mask. Collision Flexibility supplies a flexible-response mask.
- Invert
Flips the mask after Falloff, exchanging dark and light.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Falloff
Changes how the mask rises from dark to light. One keeps an even response; larger values keep it darker for longer.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Min
Sets the output value at the dark end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Max
Sets the output value at the light end of the mask.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Clamp
Keeps final values between zero and one.
Available when Mask Source is Constant or Tree Distance or Branch Distance or Branch Level or Radius or Foliage Flutter or Collision Flexibility.
- Include Roots
Includes roots in structural masks. When off, roots are set to zero after the other adjustments.
Available when Mask Source is Tree Distance or Branch Distance or Branch Level or Radius or Collision Flexibility.
What is ZenGrove used for?
Explore all 44 nodes with illustrated Maya views and plain-English explanations of every setting. Build trunks and branches, place foliage, shape growth, add wind and prepare your output.
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.