bevy_sprinkles_editor 0.1.2

GPU particle system editor for Bevy
bevy_sprinkles_editor-0.1.2 is not a library.

🍩 Sprinkles

Sprinkles is a GPU-accelerated particle system for the Bevy game engine with a built-in dedicated visual editor.

Usage

Add bevy_sprinkles to your project:

[dependencies]
bevy_sprinkles = "0.1"

Add the plugin to your Bevy app:

use bevy::prelude::*;
use bevy_sprinkles::prelude::*;

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, SprinklesPlugin))
        .run();
}

Spawn a particle system from a RON asset file:

fn setup(mut commands: Commands, asset_server: Res<AssetServer>) {
    commands.spawn(ParticleSystem3D {
        handle: asset_server.load("my_effect.ron"),
    });
}

Editor

Sprinkles comes with a visual editor for designing particle systems. To run it from the repository:

cargo editor

Or install the editor globally:

cargo install bevy_sprinkles_editor

Then run it from anywhere with the sprinkles command.

Documentation

Documentation is available at docs.rs.

Bevy version table

Bevy Sprinkles
0.18 0.1, main

Features

  • 3D
    • Emission
      • Particle amount & one shot
      • Explosiveness & spawn randomness
      • Lifetime & lifetime randomness
      • Fixed FPS & fixed seed
      • Emission shapes
      • Amount ratio
      • Speed scale
      • Preprocess (simulate ahead)
      • Interpolation to end
      • Frame interpolation
      • Local coordinates
    • Direction & velocity
      • Initial direction, spread & flatness
      • Initial velocity
      • Velocity inherit ratio & pivot
      • Radial velocity
      • Angular velocity
      • Orbit velocity
      • Directional velocity
      • Velocity limit curve
    • Acceleration
      • Gravity
      • Linear
      • Radial
      • Tangential
      • Damping
    • Scale & rotation
      • Initial scale & scale over lifetime
      • Initial angle & angle over lifetime
      • Scale over velocity
    • Color
      • Initial color (solid or gradient)
      • Color over lifetime, alpha over lifetime, emission over lifetime
      • Hue variation
    • Drawing
      • Draw order
      • Transform alignment
      • PBR material & custom shaders
      • Mesh options (quad, sphere, cuboid, cylinder, prism)
    • Turbulence
    • Collision
      • Collision mode, bounce, friction, scale & base size
      • Box & sphere collider shapes
      • Attractors
    • Sub-emitters
    • Trails
  • 2D
    • Sprite texture rendering
    • 2D trails
    • 2D visibility rect
    • Pixel-scale collision defaults

Acknowledgements

Godot's particle system is a huge source of inspiration for Sprinkles, and we aim to reach feature parity at some point. Thank you for all it's contributors.

Brackeys' video on making VFX with Godot was what inspired me to work on a similar system for Bevy and adapt some of those VFXs to it.

All bundled textures are provided by the very talented and generous Kenney.

License

Licensed under either of

at your option.

Project examples and bundled textures are licensed under CC0.

The editor includes two icon sets:

The donut icon is an edited version of the Noto Emoji, licensed under Apache 2.0.