bevy_lookup_curve

Crates.iobevy_lookup_curve
lib.rsbevy_lookup_curve
version
sourcesrc
created_at2024-02-23 17:41:06.697965+00
updated_at2025-03-16 23:57:09.174527+00
descriptionEditable lookup curve for Bevy
homepagehttps://crates.io/crates/bevy_lookup_curve
repositoryhttps://github.com/villor/bevy_lookup_curve
max_upload_size
id1150823
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Viktor Gustavsson (villor)

documentation

https://docs.rs/bevy_lookup_curve

README

bevy_lookup_curve 📈

github Latest version Documentation MIT Apache

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.

Features

  • LookupCurve type with modifiable knots and tangents. Three types of interpolation: Constant, Linear, and Cubic
  • LookupCurve implements bevy_math::Curve<f32> to fit into the ecosystem, giving access to resampling and other conveniences.
  • Asset loader and save functionality
  • egui-based editor
  • Integration with bevy-inspector-egui for quick and easy tweaking

https://github.com/villor/bevy_lookup_curve/assets/7102243/180aed95-ca9a-4e3b-97c4-2516055ea648

Usage

See examples for now

Feature flags

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 support

bevy bevy_lookup_curve
0.15 0.6-0.8
0.14 0.3-0.5
0.13 0.1-0.2

Using without Bevy

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.

Contributing

Contributions are welcome. Feel free to make a PR!

License

Dual-licensed under either:

Commit count: 115

cargo fmt