Particles
Updated: 15 Jan 2025
Updated: 15 Jan 2025
Particle nodes are nodes used in a particles system. This system starts with a Particle Root Node, and is built out with Emitter, Affector and Shader nodes, before finally being rendered to the camera with a Renderer node.
The Particle Root Node contains the particles themselves: their positions, velocities, colours and so on, in a pool waiting to be used. The number of particles in the pool is set by the Max Particle Count attribute on the root node. Particle Emitters take particles from the pool and bring them to life. Particle Affectors make them move; Particle Rendering Nodes control how particles are rendered to screen. When particles die they are returned to the pool until they are emitted again. It is possible that not all the particles in the pool are alive at any time. Even particles that are not currently alive in the pool carry some performance and memory overhead, so it is recommended that the maximum number of particles on the Particle Root node is limited to the amount actually needed by the emitters.
Multiple Particle Emitters may exist under one Particle Root node. Particle Affectors and Rendering nodes may be connected to the Particle Root directly, making them work on every particle under the root node; or they may be connected to individual Emitters, making them only affect the particles emitted by that Emitter.
Particles are generally hooked into the Root node, although they can be applied to any node - they will still appear in the scene as long as there is a path to a Root node.
Aside from the Particle Bounding Box, Particle Event and Particle Root, these nodes are split into 4 groups:
Particle Affector nodes modify particle motion.
Moves particles via a noise field, with directions that are constrained to an angle.
Curl Noise Fluid Affector
Applies curl noise velocities to Particles.
Depth Image Collision Affector
Allows particles to collide with depth camera data.
Explode Affector
Applies an explosive force to particles at birth.
Field Affector
Allows particles to be affector by froces from a field.
Flocking Affector
Simulates flocking behaviour with particles.
Fluid FLIP Affector
Simulates fluid dynamics on Particles with FLIP simulations.
Fluid MPM Affector
Simulates fluid dynamics on Particles with an MLS-MPM simulation.
Fluid SPH Affector
Simulates fluid dynamics on Particles with an SPH simulation.
Force Affector
Applies a force to particles.
Image Affector
Attract or repel particles from an image.
Kill Box Affector
Remove particles from inside or outside a zone.
Mesh Attractor
This node is used to attract or repel particles from the surface of a given 3D object, affect them by the velocity of the mesh, or make them flow along the surface of a mesh.
Mesh Collision Affector
Allows Particles to collide with Meshes.
Mesh Distance Field Affector
Apply forces to particles from mesh surfaces.
Particle-Particle Collision Affector
Allows particles to collide with each other.
Points Affector
Uses points sources to disturb the particles.
Primitive Affector
Apply forces to particles from primitive shapes.
Primitive Collision Affector
Allows particle collisions with simple 3D primitives.
Procedural Affector
Allows particles to interact with procedurals.
Allows particle collisions with active rigid bodies.
Scale Affector
Apply changes to the scale of particles.
Shockwave Affector
Apply a shockwave through particles.
Spline Attractor
Attracts particles towards a spline.
Spring Affector
Applies a spring simulation on particles.
Turbulence Affector
Applies turbulence to particles.
Velocity Affector
Applies a constant velocity to particles.
Vortex Affector
Applies a rotational velocity to particles.
World Collision Affector
Allows particle collisions with all 3D object in the scene.
Emitter nodes spawn particles that can be manipulated in a particles system.
Field Emitter
Emit particles from a Field system.
Image Emitter
Emit particles from an image.
Mesh Emitter
Emit particles from a mesh.
Particle Cache
Caches a particle system for potentially faster and repeatable results.
Primitive Emitter
Emit particles from a primitive shape.
Procedural Emitter
Emit particles from a Procedural system.
Screen Emitter
Emit particles from objects within the screen space.
Spline Emitter
Emits particles from a spline.
Trail Emitter
Emits particles from other particles.
Video Feature Emitter
Emits particles from feature points of a video.
Volume Emitter
Emit particles that fill the volume of a mesh.
Rendering nodes visualise the particles by spawning images, meshes or trails.
Dot Matrix Renderer
Renders particles as a dot-matrix in screen space.
Geometry Connection Renderer
Renders particles as connected geometry and lines.
This node generates a 2D Gradient based on the positions and colours of active particles.
Line Connection Renderer
Renders lines between nearby particles.
Line Renderer
Renders lines between pairs of particles.
Particles To Point Geometry
Renders particles as raytraced spheres.
Point Renderer
Renders a each particle as a sprite.
Render Particles To Surfaces
Renders particles onto nearby Meshes.
Trail Renderer
Renders trails which follow the path of particles.
Volume Renderer
Renders particles as a density volume.
Shading nodes change the colour or position of the particles in various ways.
Attribute Shading
Shades particles based on their current properties.
Density Shading
Shades particles by their density.
Displace To Shape
Displaces a particle to a primitive shape.
Distance Shading
Shades particles based on their distance from a point.
Image Displacement
Displaces particles based on an image.
Image Shading
Shades particles based on an image.
Keyed Colour
shades particles based on a keyframe animated colour.
Life Colour Shading
Shades particles over their life span.
Lighting
Shades particles based on the area of effect from lights.
Noise Shading
Shades particles using fractal noise.
Volume Shadow Shading
Light particles using shadow volumes.
Voxel Cone Shading
Light particles using voxel cone shading.
TODO Section Description
Generates weight values using attributes of the particle, such as its velocity.
Generates weight values using attributes sampled from a mesh, at the closest point on the mesh to the particle.
Generates weight values using noise functions.
Generates a bounding box from the bounds of a particle system.
Particle Event
Modify particles using a dynamic per particle event.
The root node for a Particle system.