Editable lookup curve for Bevy that can be used for many things, for example:
- Animation
- Gameplay progressiom (control different aspects over time or other variables)
- Physics (for example: tweakable feel on a character controller)
- Probability control (for item drops etc)
- Shaders
- ... just about anything where you need a formula (x -> y) that you can fine tune, with a GUI instead of diving into math
If you have used AnimationCurve in Unity, this would be an attempt at something similar for Bevy.
- LookupCurve type with modifiable knots and tangents. Three types of interpolation: Constant, Linear, and Cubic
- Asset loader and save functionality
- Egui based editor
- Integration with bevy-inspector-egui for quick and easy tweaking
Bevy_App_2023-05-16_18-59-01.1.mp4
See examples for now
Feature | Default | Description |
---|---|---|
serialize | Yes | Enable serde serialization/deserialization for the LookupCurve |
ron | Yes | Enable loading/saving the curve as a ron file |
bevy_reflect | Yes | Implement Reflect on most types in the crate |
bevy_asset | Yes | Implement AssetLoader for LookupCurve |
editor_egui | Yes | Enables the egui-based editor |
editor_bevy | Yes | ECS component for convenient spawning of editor windows inside Bevy |
inspector-egui | No | Integration with bevy-inspector-egui |
bevy | bevy_lookup_curve |
---|---|
0.15 | 0.6 |
0.14 | 0.3-0.5 |
0.13 | 0.1-0.2 |
This crate can be used without Bevy as well (except for bevy_math
which is a core dependency).
Just set default-features = false
. And enable serialize
, ron
, and/or editor_egui
if needed.
See the egui_only
example. It can also be used as a standalone curve editor.
Contributions are welcome. Feel free to make a PR!
Dual-licensed under either:
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)