Skip to content

💃 Programmatic animation system #26

@youarereadingthis

Description

@youarereadingthis

Why?

Animating stuff can be difficult. Maybe you don't know how or want to save time. This way you can just use objects and components to easily make animations. They can also be far more dynamic, used in a large variety of ways such as with physical interactions.

How?

  • Animator: an entity that drives bones using layers with frames.
    Ultimately decides how all animation is driven. Has methods and properties for how fast layers should play, interpolation methods, etc. Can directly set positions or affect velocity(for ragdolls and such).
  • AnimationBone: animator module that defines an offset and optional parent bone.
    Uses Offset with options for scaling(such as object-based or relative to parent).
  • AnimationLayer: animator module with a set of frames.
    Has properties for speed, if it should start active, a fraction for weight(0=additional, 1=override), and the order in which the animation is applied. Button for playing this layer.
  • AnimationFrame: layer module that defines where bones go.
    Has a button for toggling between bones being their own object(for super easy manipulation) or condensed into a single object(for optimization). Previews bones if directly selected or an option is ticked. Has a color property.

Metadata

Metadata

Labels

💡 FeatureThis is a feature request

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions