8: Dynamic Grass Growth with Geometry Nodes

8: Dynamic Grass Growth with Geometry Nodes

Building on the previous setups, I added grass that changes in height and density based on its proximity to trees and rocks.

Process

I took a cube from the scene to represent a blade of grass and used the Combine XYZ node to control its scale. The Z value was linked to the distance from the trees, making the grass shorter as it got closer.

To introduce randomness, I connected a Random Value node to a Math (Multiply) node, which then influenced the grass height. Another Random Value node was connected to the cube's rotation to vary the orientation of each grass blade.

Adjusting the minimum and maximum values in the Random Value nodes allowed me to fine-tune the randomness.

Nodes Used and Their Functions

  • Combine XYZ: Combines separate X, Y, Z values into a vector.
  • Random Value: Generates random numbers within a range.
  • Math (Multiply): Performs mathematical multiplication.
  • Geometry Proximity: Provides distance data for scaling.
Back to blog

Collapsible content

References