VecFlow0.1.0
Start here

What VecFlow is

A Blender extension for particle effects, from sparks and snow to sand, cloth, rigid bodies, liquids, smoke and fire, baked to disk and played back.

VecFlow 0.1.0

VecFlow makes particle effects in Blender. Particles are born from an object, pushed by forces, bounce off other objects, and change as things happen to them: a drop that hits the ground can turn red and burst into smaller bits.

The same engine does much more than loose particles:

  • Particles: sparks, dust, magic, snow, rain and confetti, as points, spheres or any shape you model.
  • Grains that bump into each other and pile up, like sand.
  • Flocks of birds or schools of fish that steer round each other.
  • Cloth, ropes and soft bodies, made from a mesh's vertices held together.
  • Rigid bodies that tumble and stack, joined by hinges and sliders, and meshes shattered into pieces that break apart.
  • Liquids with a surface mesh to render, and whitewater: spray, foam and bubbles.
  • Smoke and fire, as a volume to render.

How it works

An emitter and a particles object in the scene are baked into a cache folder of one file per frame, which Blender plays back.Emitterwhere particles are bornan Empty or a meshColliders, forcesobjects the particlesmeet on the wayParticles objectholds the simulation:the sidebar’s settings,or a flow of events andoperators made in thenode editorCache folderone fileper frame,on diskvecflow_cache/Blenderplays it:scrub, play,renderBake
A simulation is worked out once, when you bake, and written to disk. Playing it back only reads the files, so scrubbing is instant and every render shows the same thing.

You set a simulation up in Blender, then bake it: VecFlow works out every frame of the scene's frame range and writes each one to a file on disk. Blender then plays those files back. Scrubbing the timeline is instant, and a render shows exactly what you saw in the viewport.

A bake gives the same result every time, on any computer, on the CPU or on an NVIDIA graphics card. A bake on a GPU is just faster. (The one exception is NVIDIA Flow, a second smoke solver you can pick: its results depend on the card.)

The words used in this guide

  • Particles object: The object that holds a simulation. Its settings live in the VecFlow tab of the 3D Viewport's sidebar, and it shows the bake: points, spheres or shapes. Select it (or its emitter) to see its settings.

  • Emitter: The object particles are born from: an Empty (they come from its box) or a mesh (from its surface or its inside). It can move.

  • Simple settings: A particles object with no flow is set up by the sidebar's own panels: Emission, Forces, Collisions, and Size, Spin and Colour. That covers a stream of particles with forces and colliders.

  • Flow: For anything more, a particles object can follow a flow instead: a node tree made in the node editor. A flow is made of events, and each event holds a stack of operators that act on the particles in it, top to bottom, every step. Some operators send particles on to another event along a wire: drops that hit the ground go to a "Splash" event, which colours them and spawns bits.

A flow of 3 events. Fountain: Birth, Position, Speed, Gravity, Turbulence, Collide, Delete; Collide: ground sends to Splash. Splash: Colour, Spawn, Gravity, Delete; Spawn: 3 each sends to Bits. Bits: Scale, Gravity, Delete.FountainCollide: groundBirth: 300 per frame from 1. Make new particles: some every frame, all at once, one on each vertex of an object's mesh (for cloth and ropes: bind them with Bind, Mesh Edges), one on each piece of it (to smash: glue them with Bind, Pieces), or the event's Liquid filling itBirth: 300 per frame from 1Position: Fountain Emitter, box. Place new particles in an object's box, on its surface or inside it, or along a curve (a tube round it)Position: Fountain Emitter, boxSpeed: 7 m/s. Set the speed of particles entering the event, along a direction (an object's own axes when given), or add it to how they comeSpeed: 7 m/sGravity: 9.81 m/s². Pull particles down, or any way you point itGravity: 9.81 m/s²Turbulence: strength 5. Push particles around in swirlsTurbulence: strength 5Collide: ground. Bounce off an object, a collection's objects or the ground, friction slowing their sliding and their spin where they touch. The ones that hit go along the wireCollide: groundDelete: at 3 s. Remove particles at an age (since birth, or since entering this event), or at onceDelete: at 3 sInSplashSpawn: 3 eachColour: #FF412B. Set the colour of particles entering the eventColour: #FF412BSpawn: 3 each. Make new particles from each one, sent along the wire. They start with its looksSpawn: 3 eachGravity: 9.81 m/s². Pull particles down, or any way you point itGravity: 9.81 m/s²Delete: at 0.5 s in event. Remove particles at an age (since birth, or since entering this event), or at onceDelete: at 0.5 s in eventInBitsScale: × 0.4. Set the size of particles entering the eventScale: × 0.4Gravity: 9.81 m/s². Pull particles down, or any way you point itGravity: 9.81 m/s²Delete: at 0.4 s in event. Remove particles at an age (since birth, or since entering this event), or at onceDelete: at 0.4 s in eventIn
The Fountain starter's flow. Each event runs its operators top to bottom on the particles in it, every step. A wire sends the particles an operator picks out on to another event's In socket.BirthForcesPhysicsLooksTests
  • Bake: Working out the simulation and writing it to disk. Pressing Bake does it for the scene's frame range. See How a bake works.

  • Cache folder: Where the bake's files go: a folder called vecflow_cache next to your .blend file, unless you pick another. See The cache folder.

  • Starter: A ready-made simulation, made with one click: fire, smoke, a dam break, confetti, a shattering mesh. Each is an ordinary particles object you can change. See Starters.

Where to go next

On this page