Hey @Anderson34, good point that Instances may not support different poses or out-of-sync animations.
I’m not so experienced with
BABYLON.Animation, though I’d really recommend you try it out. It comes with powerful features as mentioned in Animations - Babylon.js Documentation, such as animation blending, awaiting animations using async/await, and something not mentioned is executing a callback function once an animation is complete or loops. For this, check out the Typescript docs for
(method) BABYLON.Scene.beginAnimation(target: any, from: number, to: number, loop?: boolean | undefined, speedRatio?: number | undefined, onAnimationEnd?: (() => void) | undefined, animatable?: BABYLON.Animatable | undefined, stopCurrent?: boolean | undefined, targetMask?: ((target: any) => boolean) | undefined, onAnimationLoop?: (() => void) | undefined): BABYLON.Animatable
target allows you to target a mesh or skeleton with animations.
to allow you to choose how much of your animation to run.
onAnimationLoop? allows you to execute a callback function either on the end of an animation or every animation loop, respectively.
speedRatio lets you make your animation run faster or slower.