Skip to content

๐ŸŽ† CPU-driven, batch-rendered particle system for the Bevy game engine.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

mbrea-c/bevy_firework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

46 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Crates.io Crates.io CI

Bevy Firework ๐ŸŽ†

Bevy firework is a particle system plugin where particles are simulated on the CPU and use GPU batching for rendering. This allows each particle system to be rendered in a single draw call (rather than one per particle).

While not as fast as a pure GPU-based particle system, this provides a massive speed-up from the naive approach to CPU-based particles (making it possible to render tens of thousands of particles without noticeable framerate drops) and maintains much of the flexibility of CPU-based particle systems (e.g. easy access to physics data for particle collision, simplified particle system animation).

collision example pbr example sparks example

Current features

  • Billboarded particles.
  • Configurable integration with Bevy's PBR rendering (i.e. particles can receive shadows, are affected by fog and lighting changes).
  • Particle collision with arbitrary avian colliders.
  • WASM and WebGL compatible.
  • Soft particle edges.
  • Animated properties: certain parameters can be defined as a custom curve to express changes over a particle's lifetime:
    • Scale
    • Color
  • Randomized properties: certain properties can be randomized, so that they are randomly sampled for every particle:
    • Particle lifetime
    • Initial linear velocity
    • Initial radial velocity
    • Initial scale
  • Emission shapes:
    • Point
    • Disk
    • Sphere
  • One-shot emission mode, or continuous emission.

Current limitations

  • Can't use custom images for particles.

Version table

bevy_firework bevy bevy_utilitarian avian
0.1 0.12 0.2
0.2 0.12 0.3
0.3 0.13 0.4
0.4 0.14 0.5
0.5 0.14 0.5 0.1
0.6 0.15 0.6 0.2
0.7 0.16 0.7 0.3
main 0.16 0.7 0.3

About

๐ŸŽ† CPU-driven, batch-rendered particle system for the Bevy game engine.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 5