v0.6.0
Highlights
Dynamic animation node registration
This one is the headliner change, only possible thanks to @aecsocket's contributions. You can now create your own animation nodes by implementing the NodeLike trait, register them in the type registry, and used them like any of the builtin nodes in the editor.
The editor as a plugin example shows how to set up the editor to have access to your node registrations.
Better editor debugging tools for animation graphs
- Play/pause/step one frame buttons for animated scene previews.
- Inspect each output of a node using the new "Debugger" tab. For pose outputs, the pose will be rendered in the Debugger tab, as well as showing all of the individual bone values to inspect. This is very useful in combination with the frame stepping feature described above.
- Pose/scene previews can now be rotated/zoomed with the mouse. No longer will the default Bevy fox be completely out of the frame in the scene preview!
New nodes and node updates
- New nodes
- 2D Blend space node: not unlike Godot's version, except individual animations are exposed as regular graph inputs, and don't necessarily need to be regular animation clips.
- Plenty of new "arithmetic" nodes for working with Vec3, f32, Quat, etc. Mostly thanks to @aecsocket!:
- Node updates
- Blend node
- Now supports additive and difference as blend modes
- You can now configure the synchronization mode (either force set the secondary animation to the same timestamp as the primary, or just forwards the time delta to both inputs)
- Animation State Machines
- Now support global transitions (each state can configure a "global transition" that allows it to be reached from any other state). Thanks to @SarahIhme for starting this work!
- Blend node
Known issues
- Blend weight animation is currently not working. This is due to changes in how animations are evaluated in Bevy 0.15 (use of the new
Curvetypes). The fix for this requires an upstream Bevy change, which I will try to open a PR for as soon as I can (but likely will not be available until Bevy 0.16 at the earliest).
Changelog
- Add support additive blending by @mbrea-c in #57
- Added a node to build Vec3 from three f32 values by @mbrea-c in #58
- Implement more arithmetic nodes by @aecsocket in #60
- Fix BuildVec3 by @aecsocket in #61
- Add a new blend sync mode option, fix speed node by @mbrea-c in #65
- Add
ConstF32andSelectF32nodes by @aecsocket in #62 - More node types by @aecsocket in #67
- Expose all graph outputs in the animation player by @mbrea-c in #68
- Data value accessors by @aecsocket in #69
- Remove old assets committed by mistake by @mbrea-c in #71
- FSM global transitions by @mbrea-c in #73
- Fix conflicting text edit ui element ids by @mbrea-c in #75
- Reflect-based node deserialization by @aecsocket in #70
- Remove dead code by @mbrea-c in #76
- Enable usage of the editor as a plugin by @mbrea-c in #77
- Re-restructure by @aecsocket in #79
- 2D blend space node, animation graph debugging tools by @mbrea-c in #78
- Required components and editor refactor by @mbrea-c in #80
- chore: update README and prepare for release by @mbrea-c in #81
New Contributors
- @aecsocket made their first contribution in #60
Full Changelog: v0.5.0...v0.6.0