Animations, suite et pas fin

Ceci est un post technique, donc sans autre intérêt qu’un aide-mémoire.

J’utilise une base de données de 7000 animations de combat, ambiance etc. Pour les attaques à une main, je n’ai en fait qu’une seule animation, qui me posait un problème : si le joueur déplace son personnage pendant que l’animation de combat joue, il glisse bêtement sur le sol et les pieds ne retrouvent une animation crédible que lorsque le coup a fini de jouer son animation.
J’ai donc entrepris d’utiliser un nœud ‘Layered blend per bone’ dans l’animation graph ABP_Althea qui ajoute une couche d’animation supplémentaire. J’ai donc dans l’animation montage le ‘DefaultGroupe.DefaultSlot’ auquel j’ajoute une deuxième piste ‘UpperBody’. Le DefaultSlot, dans l’animation graph, joue le locomotion, soit l’animation de déplacement, et l’UpperBody joue l’animation d’attaque, jusqu’au bone ‘spine_01’ par-dessus l’animation DefaultSlot, soit en l’écrasant.
Cette solution est bonne quand l’animation est conçue dès le départ pour être scindée en deux, comme dans WoW où déplacement et attaque sont deux éléments d’une même animation. Or, mon animation d’attaque est une animation ‘FullBody’ qui a l’avantage d’être un peu plus dramatique mais l’inconvénient de faire bouger, en plus des bras, le bassin, les jambes et les pieds. Si je fige le bas du corps au niveau du spine_01 (bas de la colonne vertébrale) le dessus va se contorsionner de 70° au moment de l’attaque avec un effet aussi ridicule qu’impossible.
J’ai essayé de concilier les deux approches dans un même anim montage mais, très logiquement, c’est impossible : soit l’animation est fullbody, soit elle est layered et dans les deux cas l’animation doit être conçue avec une position du bassin différente.

Pour m’en sortir, j’ai simplement accéléré la vitesse de l’animation par 1,8 ce qui permet de sortir rapidement du mouvement d’attaque et de retrouver très vite un parfait contrôle des pieds. C’est un sparadrap, rien de mieux mais le moment n’est pas venu de commencer à digitaliser mes animations à partir de vidéos comme il est possible de le faire en 5.8

Leave a Reply