Deux crochets en semelle. L'un est corrigé. L'autre non. Vous voyez la différence ? Honnêtement, il m'a fallu une semaine.
La réponse : regardez les hanches tout à la fin du mauvais. Tout le corps tressaille en revenant vers la direction qu'il regardait avant le demi-tour, puis repivote d'un coup.
Pourquoi
Mes animations de crochet avaient été retargetées depuis un autre squelette, et le retarget n'avait jamais transféré la rotation de l'os root. Les 180 degrés du demi-tour vivaient donc entièrement dans la pose. Le mesh pivotait, mais la capsule de collision en dessous ne bougeait jamais.
Il fallait donc recaler la capsule sur la nouvelle orientation à l'instant où l'animation se terminait : un saut brutal à la place d'une rotation qui aurait dû être continue. Arrivez une image trop tard et vous voyez l'ancienne orientation pendant une image. Trop tôt, et la pose comme la capsule sont toutes les deux tournées : il regarde complètement dans la mauvaise direction. Ça imposait aussi un blend-out à zéro, parce que tout fondu enchaîné conserve la pose pivotée du montage alors que la capsule s'est déjà recalée. Chaque crochet passait donc sèchement à la course. Aucune stabilisation, aucun accompagnement du mouvement.
La solution
Un Animation Modifier, un outil d'éditeur qui réécrit l'asset d'animation lui-même. À chaque image, il lit le yaw du bassin, l'écrit dans la piste de rotation de l'os root, et retire ce même yaw du bassin. La pose visible est identique au bit près, mais la rotation est désormais du vrai root motion. La capsule tourne pendant l'animation au lieu de rattraper son retard à la fin. Plus de recalage à programmer, et le blend-out redevient un libre choix : les crochets s'enchaînent enfin en douceur avec la course au lieu d'y couper net.
Uniquement le yaw, au passage. L'option « rotate with pelvis » du retargeter copie toute la rotation du bassin, tangage et roulis compris, et votre personnage se met à nager. Une orientation, c'est du yaw.
Livré : Animation Modifier pour le yaw du root · crochets qui s'enchaînent avec la course
Cet article a été traduit de l'anglais avec l'aide de l'IA. Lire l'original