DEKI/ENGINE docs
deki-particles 0.19.0
Deki package reference
deki-particles

Modular particle emitter (gravity, drag, velocity, lifetime modifiers)

Repository: github.com/dekiengine/deki-particles · Latest release: 0.19.0 · Needs engine 0.19.0+ · Requires: deki-nodegraph, deki-rendering, deki-2d

Install with DekiEditor --packages-add deki-particles <project>, or from the Package Manager. The engine's own components and C++ API are in the Deki docs.

Shown in the editor as Particles.

Components

Component Category Description
ParticleEmitterComponent Particles Spawns and draws particles, following a particle graph asset.

Feature flags

Parts you can leave out of a build. A feature with a define is switched there; the rest are stripped with their components.

Feature Define Default
Particle Emitter DEKI_FEATURE_PARTICLE_EMITTER on

Component reference

ParticleEmitterComponent

Spawns and draws particles, following a particle graph asset.

Inspector name: Particle Emitter Component · Category: Particles · Type: DekiParticles::ParticleEmitterComponent

Property Type Default Constraints Description
sprite AssetRef (Sprite) "" Image drawn for each particle. A small, soft sprite hides the low particle counts a device can afford.
graph AssetRef (ParticleGraph) "" The particle graph asset, which is where emission, velocity, size and colour over lifetime are authored.
maxParticles int32 64 0 to 4096 Ceiling on particles alive at once. The pool is allocated once at this size, so it is a memory decision as much as a visual one.
playOnAwake bool true Start emitting as soon as the object comes alive. Off, something has to start it.
looping bool true Restart the effect when it finishes instead of stopping. Off, it plays once and goes quiet.
worldSpace bool true Leave particles where they were born when the emitter moves. Off, they travel with it, which suits a flame carried by a character and not smoke left behind one.
seed int32 0 0 to 2.14748e+09 Random seed. 0 gives a different pattern each run; any other value plays the same pattern every time, which a render test can compare.

Inherits sortingOrder, ignoreClip, pixelSnap, alphaMode from RendererComponent.

Changelog

0.19.0

Changed

  • minEngine 0.19.0: built against engine 0.19.0, whose component metadata records the package each class is in. A build of this package from before does not load and is rebuilt.

Added

  • Japanese, Simplified Chinese and Korean: editor/lang/ja.json, zh.json and ko.json translate the names, tooltips and enum values this package's components show in the Inspector.
  • The package's editor text goes through the editor's translation (Tr), so it shows in the editor's language. Needs the editor release that adds Localization.h; raise minEngine to it when releasing.

0.18.2

Added

  • seed on the Particle Emitter. 0 gives a different pattern each run, as before; any other value plays the same pattern every time, so renders of the effect can be compared.

Fixed

  • Effects play on a device. The effect asset's loader and the built-in modifiers registered themselves from static objects in files nothing else referenced, and a firmware links the game from an archive, so the linker dropped them: every emitter had no effect to play and drew nothing, with no error. They are registered by DekiParticlesInitSystem() now (PACKAGE_HAS_SYSTEM_INIT), as deki-fsm does.
  • Particles are drawn the right way up. A particle that moved up in the world was drawn moving down, so a fountain sprayed toward the ground.

Earlier releases: CHANGELOG.md.


Generated from the package's reflection data (engine 0.19.0). Property names are the keys used in scene files. Renames keep an alias (compatibility).