Shapes and materials
Particles shown as your own models, picked with Shape, turned and sized by Rotation and Scale, and coloured in a material from the particle's colour and id.
Without shapes, particles show as spheres of Sphere Radius. Give them a collection of models and each particle shows as one of them, turned and scaled with it: rocks, leaves, confetti, bricks, debris.
The Shapes collection
Make your models and put them in a collection of their own. Keep it out of the render (untick it in the Outliner) so the originals don't show.
Select the particles object, and in the sidebar's Display panel set Shapes to the collection.
Each shape is placed by its origin at the particle, at its mesh's own size times the particle's scale. Its own place, turn and scale in the scene are left out, so model it round its origin, and apply its scale (Ctrl A ▸ Scale) if you sized it in Object Mode.
None of this needs a new bake, except for rigid bodies, whose shapes are what they hit with.
Which shape each particle gets
In a flow, the Shape operator picks: First is the first shape to use, and each particle gets one at random among How Many from there (0 runs to the last). Shapes count in name order (Rock.2 before Rock.10), and a collection inside the Shapes collection counts as one shape.
Without a Shape operator in the flow, every particle shows the first shape. (A simulation without a flow picks among all its shapes at random.) Give each event its own Shape, with its own First and How Many, to use different models from one collection: leaves in one event, twigs in another.
Turning and sizing them
- Rotation: a random turn as they're born, or facing along their path, or toward a target.
- Spin: turning as they fly, round a random axis.
- Scale: their size, give or take Variation.
Materials
Shapes keep their own materials. Spheres use VecFlow Particles: the particle's colour, glowing a little. Change it, or swap it, as any material.
To use the particle's colour in a material of your own, add an Attribute node:
| Read | Attribute node | Gives |
|---|---|---|
| The particle's colour | Type Instancer, name vf_color | Its Colour, or a colour by speed |
| Something random per particle | Type Instancer, name id, into a White Noise | A number that stays with the particle: no flicker |
| Its speed | Type Instancer, name speed | m/s |
| A value of the flow's | Type Instancer, its name | See Using values |
For spheres, set the Attribute node's type to Geometry instead.
Two names to avoid
Don't read velocity in a shader (Cycles gives zero on points; it's for
motion blur), and don't name a value color (Cycles reads it as black on
points). VecFlow's own colour is vf_color for that reason.
What goes wrong
- Every particle is the same shape. The flow has no Shape operator.
- Shapes are huge or tiny. Their scale is in the object, not the mesh: apply it.
- Shapes sit off their particles. Their origin isn't where the model is: set it (Object ▸ Set Origin ▸ Origin to Geometry).
- The originals show in the render. Keep the Shapes collection out of the render.
- The colour is black. The Attribute node's type, or the name: Instancer
for shapes,
vf_color.
Related
Moving and deforming emitters and colliders
Emitters, colliders and other objects that move, turn and change shape: what the bake follows, Inherit Motion, moving walls, and what marks a bake old.
Trails
Streaks behind each particle, drawn from the baked frames: length, thickness and taper, and fading them in a shader. No new bake.