greetings fellow babylonians! we’re working hard prototyping our new multiplayer game project, humanoid
at https://benevolent.games/, and we’re currently focused on character animations
we need help understanding babylon’s animation system for rigged characters.
we successfully have walkcycles playing and happily mixing together, using animationGroup.setWeightForAllAnimatables(weight)
however, now we want to override the walking animations with important animations, like lookupdown
, wave
, and eventually things like weaponreload
etc.
we need to keep the walking animations at weight 1
, because values less than 1 are not “fully expressed” — so we need to figure out how to leave the walking animations intact, while also playing important animations that will totally override animations for the arms, etc. these override animations are currently setup so that they only have keyframes for the relevant bones (like the arms).
our source code for the animations is right here in load-character.ts
our current problem is playing the idle
animation, then overriding with the walking animations, and then overriding all of that with the all-important lookupdown
animation to take full precedence over the bones it has keyframed.
what we really need is something like “animation layering”, where we can have layers containing blended animations, such that each layer can have precedence over other layers.
we’ve read as much documentation as we can find, but we need help understanding how to properly leverage babylon’s animation system. feel free to drop into our discord, and we’ll post back anything we learn here in this thread so that others can learn
thank you