Scale Instances with Noise in Blender Geometry Nodes

Scaling instances procedurally creates natural, organic variation across distributed objects, such as foliage, rocks, or debris. This guide provides a direct, step-by-step workflow for using a Noise Texture to drive the scale of instances within Blender’s Geometry Nodes system.

Basic Setup: Distributing Instances

  1. Select your base mesh and open the Geometry Nodes workspace.
  2. Click New to create a new modifier node tree.
  3. Add a Distribute Points on Faces node and place it after the Group Input.
  4. Add an Instance on Points node and connect the points output to its Points input.
  5. Plug your chosen object or collection into the Instance input of the Instance on Points node.
  6. Connect the output to the Group Output.

Controlling Scale with Noise Texture

To drive the scale of your instances using procedural noise:

  1. Add a Noise Texture node (Shift + A > Texture > Noise Texture).
  2. Add a Map Range node (Shift + A > Utilities > Map Range).
  3. Connect the Fac output of the Noise Texture to the Value input of the Map Range.
  4. Connect the Result output of the Map Range to the Scale input of the Instance on Points node.

Fine-Tuning the Effect

  • Adjust Minimum and Maximum Size: Use the To Min and To Max values on the Map Range node to set the lower and upper bounds of your instance scale (for example, 0.2 to 1.5), preventing instances from shrinking to zero or becoming excessively large.
  • Control Noise Density: Adjust the Scale slider on the Noise Texture to change how frequently large and small instances cluster together.
  • Add Detail: Increase the Detail and Roughness values on the Noise Texture for sharper, more abrupt variations in size.
  • 3D vs. Uniform Scaling: Using the Fac output creates uniform scaling on all axes (X, Y, and Z). If non-uniform, stretched scaling is desired, connect the Color output of the Noise Texture directly into a Vector Math node (set to Multiply) and plug that into the Scale input.