Glossary¶
ParticleSystem¶Root node of a particle effect. Hosts emitters, affectors, and colliders as children. Properties on this node (framerate, integration method, sorting camera) apply to every descendant. See Particle system anatomy.
ParticleEmitter¶Spawns and renders particles. Behaviour is determined by the materials assigned to its material slots (Emission Material, Emission Count Material, Particle Material, and optionally Self Affect Material, Event Generate Material). See Emission and Particle rendering materials.
ParticleAffector¶Applies a per-frame force or transformation to particles. A world-space affector positioned by the node’s transform, as opposed to the per-emitter self-affector. See Affectors.
ParticleCollider¶Defines a collision volume that particles interact with after integration. Shape, bounce, and friction are plugin-defined; the actual intersection test is a compute shader on Collider Material. See Colliders.
- material slot¶
A property on a particle node whose value is a
Materialreference and whose compute shader implements a specific protocol (EmitParticle,EmissionCount,Affector,Collide,GenerateEvents). The shipped asset package provides one material per common case per slot. See Particle system anatomy for the list of slots per node type.- compute material¶
A Kanzi material whose material type replaces the usual vertex and fragment stages with a single compute stage. Every slot on a particle node except Particle Material consumes compute materials.
- emission material¶
Compute material assigned to
ParticleEmitter.EmissionMaterial. ImplementsEmitParticle: runs once per newly-spawned particle to set initial position, velocity, lifetime, and scale. See Emission.- emission-count material¶
Compute material assigned to
ParticleEmitter.EmissionCountMaterial. ImplementsEmissionCount(): returns the number of particles to spawn this frame. Drives rate, burst, and event-driven emission patterns. See Emission.- affector material¶
Compute material assigned to
ParticleEmitter.SelfAffectMaterialorParticleAffector.AffectorMaterial. ImplementsAffector(AffectorTransform, particle): returns a force vector per particle per frame. See Affectors.- collider material¶
Compute material assigned to
ParticleCollider.ColliderMaterial. ImplementsCollide(transform, position, velocity): returns aHitInfodescribing whether (and where) a particle’s path intersects the collider shape. See Colliders.- event-generator material¶
Compute material assigned to
ParticleEmitter.GenerateEventsMaterial. Runs once per particle per frame and writes zero or more records to the emitter’s event buffer. Consumed by a subemitter via a binding. See Events and subemitters.- particle rendering material¶
Conventional (vertex + fragment) material assigned to
ParticleEmitter.ParticleMaterial. Controls the look of drawn particles: colour ramps, scale over lifetime, textures, blend mode. See Particle rendering materials.MaximumAmount¶Upper bound on live particles per emitter. Backs a fixed-size GPU pool allocated at load. See Sizing MaximumAmount.
- subemitter¶
A
ParticleEmitterwhose Emission Material consumes an event buffer produced by another emitter. The canonical “smoke puffs where fire particles die” pattern. Not a distinct node type. See Events and subemitters.- event buffer¶
GPU buffer on
ParticleEmitter.EventBuffer. Written by the emitter’s assigned event-generator material, one short record per event (spawn, death, hit, per-frame predicate match). Read by subemitters via a binding onEmission.SourceEventBuffer.- particle data buffer¶
GPU buffer on
ParticleEmitter.ParticleDataBuffer. Holds the full per-particle state (position, velocity, lifetime, etc.) for the emitter’s live particles. Subemitters bind this toEmission.SourceParticleDataBufferso their emission shader can read the origin particle’s state when an event fires.- asset-package property type¶
A
PropertyTypedeclared inassets/ParticlesAssetPackage/PropertyTypes/. Its value is read by a compute shader whose material occupies one of a node’s material slots.Emission.LifetimeandAffector.Radiusare examples. These properties are not auto-added when a material is selected: the author has to set each one on the node explicitly. See Particle editor reference.- web editor¶
Browser-based particles authoring tool, currently in development. When released, it will generate
ParticleEmitter,ParticleAffector, andParticleColliderchildren and their material-slot bindings from a high-level graph. For the current release, author Kanzi Particles projects by hand in Kanzi Studio.- Verlet integration¶
Time integration scheme selected by
ParticleSystem.IntegrationMethod. Preserves energy better than the classical Euler method at similar cost;prevPositionis populated every frame regardless of which integrator is active.