Hey everyone!
I’ve been working on an animation system including a web-editor for the last 1.5 years.
It’s called Animagica and conceptually it’s similar to Unreal Engine’s Animation Blueprints, in which you create an animation graph that passes Animation Clips through several Nodes towards an Output. The indermediate nodes control animations in several ways, including things like:
- bone masking
- root motion control
- blending (1D and 2D blend spaces)
- state machine logic
- timeline synchronization and timeline events
The system is extremely data driven, meaning in 99% of cases you will no longer do things like action.play()
, action.setWeight()
, action.setEffectTimeScale()
yourself, instead you define a bunch of parameters at editor-time, i.e. speed
, direction
, isJumping
etc. and feed those to your graph, which then handles everything itself. The editor allows you to export your created graphs as json files which you can then execute using the runtime in your App/Game. Under the hood the runtime binds to three’s own animation system so I’m not doing skinning or bone matrix computation myself (also means you can connect Animagica to your own low level anim system as the core has no dependency to three).
The library is still work in progress, but I’ve been posting about it regularly and since not everyone uses Twitter, I’d love to share updates in here as well
Some narrated Videos (on Twitter):
Some Screenshots: