rfcs icon indicating copy to clipboard operation
rfcs copied to clipboard

Animation Composition

Open james7132 opened this issue 3 years ago • 2 comments

RENDERED

This RFC is an extension of #49, detailing the low level details on how to compose the base primitives for more complex animations together via blending. This RFC stops short of the final step of applying the sampled values to the target animated properties, as that is separate and can be handled regardless of how the values are composed or sampled.

This will remain a draft until #49, or some variant of it that covers the same subject matter, gets merged.

james7132 avatar Feb 22 '22 17:02 james7132

I’d love to have this feature so that I can blend multiple glTF animations.

aunyks avatar May 08 '22 20:05 aunyks

Since Bevy doesn't currently have an editor, or any official debug UI for that matter, how would a user manipulate the animation state tree? In Unity and Godot, there is a fancy visual scripting editor that lets you build a animation graph quite easily, but I could see that becoming quite unwieldy in code. This wouldn't be a problem once we have an actual editor, but for the time being, managing an animation state machine could become quite troublesome.

ValorZard avatar May 29 '22 04:05 ValorZard

Since Bevy doesn't currently have an editor, or any official debug UI for that matter, how would a user manipulate the animation state tree? In Unity and Godot, there is a fancy visual scripting editor that lets you build a animation graph quite easily, but I could see that becoming quite unwieldy in code. This wouldn't be a problem once we have an actual editor, but for the time being, managing an animation state machine could become quite troublesome.

I agree here. While we're missing the editor tools for this, I would like to add some tooling that is similar to the current AnimationPlayer to make it easy to just use it as is, but ultimately this graph is supposed to be a low level primitive, not a high level interface. We'll need to rip off that band-aid eventually.

james7132 avatar Nov 22 '22 04:11 james7132

is https://github.com/bevyengine/bevy/pull/7130 usable for this graph?

mockersf avatar May 13 '23 20:05 mockersf

@cart are you OK to move forward with this RFC? In my opinion there are a few minor questions, but they should be answered when going for the implementation

mockersf avatar Jul 17 '23 22:07 mockersf

I know this is already merged, but I wanted to close out a few last loose ends.

is bevyengine/bevy#7130 usable for this graph?

I haven't fully reviewed that PR yet, but my impression is no. The construction I had in mind does not involve many HashMap lookups of any kind and the traversal really only needed jumping around a few items in a Vec<Node>, which should be exceptionally fast to evaluate multiple times per game tick. Though I don't think this would preclude us from including this variant of a graph in bevy_graph though.

james7132 avatar Jul 18 '23 01:07 james7132