Scattering Objects Using Geometry
Nodes In Blender By Neil Blevins Created On: Dec 12th 2025 Updated On: Dec 18th 2025 Software: Blender
When making environments, a common task is to scatter hundreds if not
thousands of props into a scene, whether it's bits of garbage into a
post apolcalyptic building, or trees and plants on a beautiful
landscape. This tutorial talks about how to do this procedurally inside
of Blender using Geometry nodes, automating much of the process so you
can focus on placing the hero objects, and let the algorithm take care
of the lesser important background scatter.
Basic Example
Here's an example file of a simple scatter, placing 3
different scatter objects randomly onto a floor: Scatter_GeometryNodes_Basic.zip
Here a basic walthrough of how the example file was made:
Create 3 objects (Cube, UV Sphere, Cone)
Put the 3 objects into a Collection
Create Grid, 50x50 subdivs, 100m size
Select grid
Object > Apply > Rotation And Scale (otherwise you will see
very odd results)
Switch to geometry node mode
Click “New”
Add node “Distribute Points On Faces”
Add node “Instances On Points”
Add node “Join Geometry”
Hook Group Input / Geometry output to Join Geometry / Geometry
Input. This keeps the ground in your scene
Drop Collection into graph
connect Collection Info / Instances to Instances On Points /
Instance
On Collection Info node, check “Separate Children” and “Reset
Children”
On Instances On Points node, check “Pick Instance”
Add node “Random Value”, set the node to “Vector”
hook Random Value / Value to Instances On Points / Rotation
Add second “Random Value” node, keep the node on Float (keeping
it on float will keep the scale uniform)
hook second Random Value / Value to Instances On Points / Scale
On second Random Value node, set min to 0.5 and max to 1.5
Play with Distributed Points On Faces / Density
Density Based On Image Texture
Example
Here's an example file showing how to paint density onto the surface,
controlling how many scatter objects get placed on a surface using any
texture map: Scatter_GeometryNodes_DensityByImage.zip
Here a basic walthrough of how the example file was made:
Start with the instructions for the basic example.
Add Node “Image Texture”
Add Node “Separate Color”
Add Node “Multiply”
Hook Image Texture / Color to Separate Color / Color
Hook Separate Color / Red to Multiply / Value 1
Hook Multiply / Value to Distribute Points On Faces / Density
Add a bitmap to the Image Texture node (or do Texture Painting).
White adds full density, gray adds partial density, black low density
Hook Image Texture / Vector to the Group Input empty socket, this
will automatically create a “Vector” socket.
In the modifier tab, click the Input Attribute Toggle once,
instead of a vector, the vector will now be a text entry field. In the
field, click once, and pick the UVs of your Grid.
Adjust Value 2 of Multiply node to control overall Density.
Align To Surface Example
Here's an example file showing how to align the scatter objects to the
surface of a more complex object, so the objects are always pointing
outwards from your base surface: Scatter_GeometryNodes_AlignToSurface.zip
Here a basic walthrough of how the example file was made:
Start with the instructions for the basic example.
Add Node “Rotate Rotation”, set to Local
Add Node “Random Value”, set to Vector
Hook Distribute Points On Faces / Rotation to Rotate Rotation /
Rotation
Hook Random Value / Value to Rotate Rotation / Rotate By
Hook Rotate Rotation / output to instance on points / Rotation
Random Value Node controls random rotation, keep at 0,0,0 to have
the objects aligned with no randomization