Release notes¶
3.0.0¶
Initial release of the rewritten Kanzi Particles. The plugin is GPU-driven, compute-material-based, and shares no architecture with prior generations.
This version of Kanzi Particles works with Kanzi Studio 4.1.0.
Architecture¶
Node + material-slot model. Behaviour is expressed as compute materials assigned to slots on four node types:
ParticleSystem,ParticleEmitter,ParticleAffector,ParticleCollider. See Particle system anatomy.All simulation runs on the GPU via compute shaders. CPU work is limited to scheduling dispatches and binding resources.
Particle data lives in GPU buffers throughout its lifetime; no CPU-side particle state.
Verlet and Euler integration, configurable per particle system.
Emission¶
EmissionMaterialdefines spawn position, velocity, lifetime, and initial state.EmissionCountMaterialdefines how many and how often.Stock emitter shapes: Box (surface / volume), Sphere (surface / volume), Disc (surface / volume), Torus (surface / volume), Cone, Fountain.
Stock mesh emitters: surface, vertices, edges: drive emission from a bound mesh’s geometry.
Stock emission-count materials: per-second, periodic on/off cycle, recurring burst, plus per-event and from-events variants for sub-emitters.
Shape-emitter prefabs.
BoxEmitter,SphereEmitter,DiscEmitter,TorusEmitter,PointEmittership inParticlesAssetPackage/Prefabs. Each wraps the emission material, anEmissionCount_Schedule, and aParticleEmitterwith every published property lifted to the prefab root. Authors drop a prefab into anyParticleSystemand tune from the root without opening the prefab. See Starting with templates.
See Emission.
Affectors and colliders¶
Stack any number of
ParticleAffectornodes on a particle system, each running its ownAffectorMaterialper frame.Stock affectors: Gravity, Wind, Drag, Buoyancy, CurlNoise, PointAttractor, Directional, KillZone, TimeDilation, VelocityClamp.
Stock collider shapes: Box, Capsule, Cone, Cylinder, Plane, Sphere. Bounce and friction response.
Events and sub-emitters¶
GenerateEventsMateriallets an emitter publish events (deaths, lifetime-range crossings, velocity thresholds, collisions). Other emitters can subscribe and spawn from those events.Stock event generators:
Event_Lifetime(fires on a normalised-lifetime band; defaults fire on death),Event_VelocityRange(fires on a speed band), andEvent_OnHit(fires on collision, with optional speed-range and probability gates). All carry a population-levelEvents.Probability.
Rendering¶
2D billboard and 3D mesh rendering paths.
Sorting modes: identity, depth, reverse-depth.
New
ParticlesOverLifematerial type: composable Color, Scale, and Opacity interpolation over particle lifetime. Ships in a 2-stop (ParticlesColorOverLife) and a 3-stop midpoint variant (ParticlesColorOverLife3Stop). Replaces the previousParticlesColorOverLife*2DandParticlesFireScaleOverLife3Stop2Dmaterials.All stock rendering material names had their
2Dsuffix removed. See Rendering materials: ParticlesOverLife for the full legacy-to-new mapping.Custom rendering materials are ordinary compute-shader-paired Kanzi materials authored against the particle data buffer.
See Particle rendering materials and Rendering materials: ParticlesOverLife.
Custom materials¶
Every slot accepts user-authored compute materials. The plugin documents the snippet contract for each slot (
EmitParticle,EmissionCount,Affector,Collide,GenerateEvent).Stock materials are ordinary assets in the
ParticlesAssetPackageKanzi Studio project: copy and modify them as starting points.
Migration from the previous Kanzi Particles¶
The new plugin shares no API or asset format with the previous CPU-based Kanzi Particles. Migration requires re-authoring particle effects in the new model. See Migration guide.