Particle rendering materials¶
Once a ParticleEmitter has spawned and simulated particles, its Particle Material slot decides how they are drawn. Unlike the compute materials on the other slots, a particle rendering material is a conventional Kanzi material with vertex and fragment shaders: the same authoring and property pattern that applies to any Kanzi material.
This page covers the 2D-vs-3D choice, enumerates the stock rendering materials, and clarifies which properties live on the emitter versus on the assigned material.
2D vs 3D particles¶
Particle Mesh on the ParticleEmitter selects between two drawing paths:
Unset (default): each particle is drawn as a camera-facing billboard quad using the plugin’s built-in 2D billboard mesh and the default 2D particle material. Fast, scales to large particle counts, and all stock rendering materials use this path.
Mesh assigned: each particle is drawn as an instance of that mesh. Use when you need geometric detail per particle (rocks, debris, leaves).
Particle Mesh lives on the ParticleEmitter node; the look of a particle (colour ramps, sizes, textures) lives on the Particle Material assigned to the emitter. Swapping between 2D and 3D rendering therefore means assigning or clearing Particle Mesh and (usually) swapping the assigned material, since materials authored for billboarded sprites and materials authored for instanced meshes have different shader inputs.
Sorting¶
Sorting Type on the emitter controls draw order:
Identity: spawn-order draw. No per-frame sort cost. Default.Depth: back-to-front GPU sort. Required for correct alpha blending of transparent particles.Reverse Depth: front-to-back GPU sort. Cheaper thanDepthfor opaque particles because early-z rejects fragments.Unsorted: no index buffer at all. Saves memory; the assignedParticleMaterialmust not referenceSortingIndicesBuffer.
See Sort type selection for when to pick which.
Stock rendering materials¶
Stock rendering materials live in ParticlesAssetPackage/Materials/ (instances) and ParticlesAssetPackage/Material Types/ (types). All stock materials use the 2D billboarded path.
For the full property reference and legacy name mapping, see Rendering materials: ParticlesOverLife.
ParticlesColorOverLife¶
Linearly interpolates colour, scale, and opacity from spawn to death. Simple, cheap, and the default choice for most effects. Backed by the ParticlesOverLife material type.
Key properties: ParticlesOverLife.ColorStart, ParticlesOverLife.ColorEnd, ParticlesOverLife.ScaleStart, ParticlesOverLife.ScaleEnd, ParticlesOverLife.OpacityStart, ParticlesOverLife.OpacityEnd.
Tinted variants ship alongside the base material: ParticlesColorOverLife_Green and ParticlesColorOverLife_Red are ready-to-use material instances with differently configured colour ramps.
ParticlesColorOverLife3Stop¶
Three-stop ramp driven by normalised particle lifetime, with independent midpoints for colour, scale, and opacity. Use when a single linear gradient is not enough: for example, fade in from transparent, hold a mid colour, fade out.
Key properties: all 2-stop properties plus ParticlesOverLife.ColorMid, ParticlesOverLife.ColorMidPoint, ParticlesOverLife.ScaleMid, ParticlesOverLife.ScaleMidPoint, ParticlesOverLife.OpacityMid, ParticlesOverLife.OpacityMidPoint.
ParticlesVelocityColor¶
Colours each particle by its speed: slow particles show SlowColor, fast particles show FastColor, with a blend over a configurable speed range. Good for sparks, embers, and any effect where motion energy should read as colour.
Key properties: SlowColor, FastColor, SpeedThreshold, SpeedVariance, MaxDisplaySpeed, FastScale, SlowScale.
Picking the right material¶
Rule-of-thumb matches:
Effect |
Stock pairing |
|---|---|
Generic ColorOverLife |
|
Sparks on collision |
Source emitter with |
Plain, uniformly coloured particles |
|
Emitter properties vs material properties¶
To disambiguate which property lives where:
Particle Mesh, Sorting Type, Maximum Amount: on the
ParticleEmitternode. Apply to every particle this emitter produces regardless of the assigned material.All colour, scale, and look properties (ColorStart, SmokeColor, SlowColor, …): on the assigned
ParticleMaterial. Swap the material to swap the look without touching the emitter.
Rendering materials participate in ordinary Kanzi material-instance reuse: one material type can back many instances, each with its own colour ramp, so a project that uses twelve differently-coloured sparks needs one ParticlesOverLife material type and twelve instances rather than twelve material types.
See also¶
Particle editor reference § Particle rendering: the authoritative property-per-material table.