Deweh / Native-Animation-Framework

A multi-character animation framework for Fallout 4.
GNU General Public License v3.0
20 stars 5 forks source link

Feature Plan: Procedural Animation #9

Open Deweh opened 10 months ago

Deweh commented 10 months ago

Feature description:

Allows the base and/or keyframed rotation/position of nodes to be adjusted at runtime using "procedural animation slots". Slots are assigned to nodes/keyframes at design-time, and their values can then be adjusted via user configuration or through the papyrus API.

Planned implementation:

An actor's graph holds a vector of floats which represents the procedural animation slots. Whenever the value of a procedural animation slot is changed or a new animation is given to the actor's graph, the animation generator is passed all procedural animation slots to update the animation correspondingly.

The original position & rotation of any node/keyframe assigned to a procedural animation slot is stored in a separate vector so that the animation system can remain aware of the base pose.

Procedural animations would need to be distributed in their original design-time form, then sampled on load & when any procedural values change. Performance profiling may be required to decide whether up-front sampling or real-time sampling would be better for this application.