You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Hanabi particle system is a modern GPU-based particle system for the Bevy game engine. It focuses on scale to produce stunning visual effects (VFX) in real time, offloading most of the work to the GPU, with minimal CPU intervention. The design is inspired by modern particle systems found in other industry-leading game engines.
17
17
18
18
🚧 _This project is under heavy development, and is currently lacking both features and performance / usability polish. However, for moderate-size effects, it can already be used in your project. Feedback and contributions on both design and features are very much welcome._
19
19
20
-
🎆 Hanabi makes heavy use of compute shaders to offload work to the GPU in a performant way. Support for compute shaders on the `wasm` target (WebAssembly) is available as of v0.13 (Bevy 0.14), and only through WebGPU. See the [WebAssembly support](https://github.com/djeedai/bevy_hanabi/blob/f1878586b57129ea4d53fa89c7c7a5ef579d8924/docs/wasm.md) documentation for details.
20
+
🎆 Hanabi makes heavy use of compute shaders to offload work to the GPU in a performant way. Support for compute shaders on the `wasm` target (WebAssembly) is available as of v0.13 (Bevy 0.14), and only through WebGPU. See the [WebAssembly support](https://github.com/djeedai/bevy_hanabi/blob/ea57ad23be55a098b9d9446425f1909a8e88f6fc/docs/wasm.md) documentation for details.
21
21
22
22
## Usage
23
23
@@ -29,7 +29,7 @@ Add the `bevy_hanabi` dependency to `Cargo.toml`:
29
29
30
30
```toml
31
31
[dependencies]
32
-
bevy_hanabi = "0.17"
32
+
bevy_hanabi = "0.18"
33
33
```
34
34
35
35
See also [Features](#features) below for the list of supported features.
@@ -124,9 +124,9 @@ commands.spawn((
124
124
125
125
## Examples
126
126
127
-
See the [`examples/`](https://github.com/djeedai/bevy_hanabi/tree/f1878586b57129ea4d53fa89c7c7a5ef579d8924/examples) folder.
127
+
See the [`examples/`](https://github.com/djeedai/bevy_hanabi/tree/ea57ad23be55a098b9d9446425f1909a8e88f6fc/examples) folder.
128
128
129
-
A web demo (using the WebAssembly target) showing all examples is availabe in the [`examples/wasm/`](https://github.com/djeedai/bevy_hanabi/tree/f1878586b57129ea4d53fa89c7c7a5ef579d8924/examples/wasm) folder. You can open `index.html` in any browser to see a GIF of all the examples. Running the actual WebAssembly example however requires serving the files with an HTTP server. If you have NodeJS installed, you can do that for example by running `npx http-server examples/wasm`.
129
+
A web demo (using the WebAssembly target) showing all examples is availabe in the [`examples/wasm/`](https://github.com/djeedai/bevy_hanabi/tree/ea57ad23be55a098b9d9446425f1909a8e88f6fc/examples/wasm) folder. You can open `index.html` in any browser to see a GIF of all the examples. Running the actual WebAssembly example however requires serving the files with an HTTP server. If you have NodeJS installed, you can do that for example by running `npx http-server examples/wasm`.
130
130
131
131
Note for Linux users: The examples build with the `bevy/x11` feature by default to enable support for the X11 display server. If you want to use the Wayland display server instead, add the `bevy/wayland` feature.
132
132
@@ -188,8 +188,8 @@ This list contains the major fixed features provided by 🎆 Hanabi. Beyond that
188
188
-[x] Trails / Ribbons
189
189
-[x] Camera support
190
190
-[x] Render layers
191
-
-[x] 2D cameras ([`Camera2d`](https://docs.rs/bevy/0.17.2/bevy/core_pipeline/core_2d/struct.Camera2d.html)) only
192
-
-[x] 3D cameras ([`Camera3d`](https://docs.rs/bevy/0.17.2/bevy/core_pipeline/core_3d/struct.Camera3d.html)) only
191
+
-[x] 2D cameras ([`Camera2d`](https://docs.rs/bevy/0.18/bevy/core_pipeline/core_2d/struct.Camera2d.html)) only
192
+
-[x] 3D cameras ([`Camera3d`](https://docs.rs/bevy/0.18/bevy/core_pipeline/core_3d/struct.Camera3d.html)) only
193
193
-[x] Simultaneous dual 2D/3D cameras
194
194
-[x] Multiple viewports (split screen)
195
195
-[x] HDR camera and bloom
@@ -211,16 +211,16 @@ This list contains the major fixed features provided by 🎆 Hanabi. Beyond that
211
211
212
212
| Feature | Default | Description |
213
213
|---|:-:|---|
214
-
|`2d`| ✔ | Enable rendering through 2D cameras ([`Camera2d`](https://docs.rs/bevy/0.17.2/bevy/core_pipeline/core_2d/struct.Camera2d.html)) |
215
-
|`3d`| ✔ | Enable rendering through 3D cameras ([`Camera3d`](https://docs.rs/bevy/0.17.2/bevy/core_pipeline/core_3d/struct.Camera3d.html)) |
214
+
|`2d`| ✔ | Enable rendering through 2D cameras ([`Camera2d`](https://docs.rs/bevy/0.18/bevy/core_pipeline/core_2d/struct.Camera2d.html)) |
215
+
|`3d`| ✔ | Enable rendering through 3D cameras ([`Camera3d`](https://docs.rs/bevy/0.18/bevy/core_pipeline/core_3d/struct.Camera3d.html)) |
216
216
|`serde`*| ✔ | Use `serde` to derive `Serialization` and `Deserialization` on asset-related types. |
217
217
218
218
(*) `serde` is not compatible with WASM (due to the `typetag` dependency not being available on `wasm` without extra setup).
219
219
220
220
For optimization purpose, users of a single type of camera can disable the other type by skipping default features in their `Cargo.toml`. For example to use only the 3D mode:
221
221
222
222
```toml
223
-
bevy_hanabi = { version = "0.17", default-features = false, features = [ "3d", "serde" ] }
223
+
bevy_hanabi = { version = "0.18", default-features = false, features = [ "3d", "serde" ] }
224
224
```
225
225
226
226
## Compatible Bevy versions
@@ -231,6 +231,7 @@ Compatibility of `bevy_hanabi` versions:
0 commit comments