Blog de développeur : l'animation des dragons spirituels

Voici le dernier blog en date de notre série sur la mise à jour de l'Arche, prévue en juillet.

Vous voulez en savoir plus ? Ne manquez pas l'article Dans les coulisses du mois de juillet de Mod Osborne, ainsi que les nombreuses sessions de questions et réponses qui seront organisées dans les semaines à venir.

Mais pour l'heure, la parole est à Mod Hing !


Bonjour à tous !

Je m'appelle Mod Hing, et je suis un animateur de l'équipe des Guardians. Je vais partager avec vous certains des défis que j'ai rencontrés en essayant de donner vie aux dragons spirituels de l'Arche (que Mod Joe a mentionnés dans son blog).

Les dragons spirituels sont les créatures de Pourfendeur du niveau le plus élevé que vous rencontrerez sur l'île d'Aminishi. Avant de commencer à travailler sur leur animation, j'ai dû prendre en compte plusieurs éléments, notamment :

  • La façon dont les dragons se déplaceraient dans une zone définie ;
  • La façon dont ils passeraient de ce déplacement à une pose de préparation au combat ;
  • La façon dont nous devrions composer avec certaines contraintes techniques de nos outils internes lors du squelettage et de l'animation des dragons.
Dragon spirituel

Dragon spirituel - Avant animation

Tout d'abord, j'ai dû mener des recherches afin de déterminer la façon dont les dragons se déplaceraient. Nous avons opté pour des concepts de dragons chinois, et nous voulions que leurs mouvements soient ondulatoires, leur tête guidant leur corps. Ainsi, quand la tête change de direction, chaque section du corps suit avec un petit décalage, ce qui donne ce mouvement ondulatoire caractéristique.

Il m'a fallu faire des recherches intenses afin de déterminer comment animer le modèle des dragons avec les outils en notre possession. À l'heure actuelle, nous utilisons un outil d'animation interne. Cet outil n'a pas de fonctionnalité de déformation, et il n'y avait donc pas de moyen rapide et facile d'animer le modèle des dragons comme nous le souhaitions. Une autre méthode aurait pu consister à recourir à un système utilisant une « colonne vertébrale » avec rotation, mais puisque notre outil interne possède une structure de squelettage qui n'est pas standard, cela aurait pris beaucoup de temps, car j'aurais dû ajuster la pose image par image. Ce n'aurait pas été impossible, mais cette méthode n'était pas assez efficace pour répondre au mieux à nos besoins.

Alors après en avoir discuté avec mon chef d'équipe, nous avons décidé d'utiliser des translations plutôt que des rotations pour animer le dragon.

Tout d'abord, le dragon a été modelé en ligne droite, ce qui me permettait de changer la forme de son corps plus facilement, et qui offrait ainsi une meilleure déformation. J'ai ensuite créé le squelettage du corps en utilisant des sections différentes. Pour obtenir l'animation d'ondulation de base, j'ai animé le cou du dragon de façon à ce qu'il monte et descende, puis j'ai copié ce mouvement pour toutes les autres sections du corps après le cou. Ensuite, j'ai sélectionné toutes les sections du corps, j'ai décalé l'animation d'une image, puis je l'ai copiée et collée sur toutes les sections. J'ai alors désélectionné la section de corps située juste derrière le cou, et j'ai suivi le même procédé. Il me suffisait ensuite de répéter le décalage d'animation et le processus de copier-coller, en désélectionnant à chaque fois une section, jusqu'à ce que j'arrive au bout du corps du dragon. Une fois l'animation principale terminée, je n'avais plus qu'à ajouter des mouvements supplémentaires aux bras, aux jambes, et aux traits du dragon.

En ce qui concerne le combat, nous ne voulions pas que les dragons aient la même pose que lorsqu'ils se déplacent, car ils prendraient alors trop de place. Nous avons donc décidé que les dragons devraient s'enrouler sur eux-mêmes en combat, pour montrer qu'ils sont concentrés sur l'attaque du joueur, prêts à frapper. Le problème avec une pose de combat complètement différente de celle de déplacement, c'est qu'on crée une transition abrupte. À un moment, le dragon est étiré, le corps ondulant, et l'instant d'après, boum, il est roulé en boule.

Pour donner un peu de fluidité à cette transition, il nous fallait utiliser un procédé d'homogénéisation. Notre outil interne ne disposant pas d'un tel système, il nous a fallu trouver une façon de reproduire ce procédé.

Nous y sommes parvenus en ajoutant un cycle supplémentaire au début des animations de déplacement et de préparation au combat. Ainsi, pour l'animation de déplacement, on commence avec la pose de préparation au combat et en un cycle de serveur, cette pose se transforme de façon homogène en celle initiant le déplacement, ce qui offre une transition plus fluide, avant que l'animation de déplacement en elle-même ne se déclenche. Cette transition est permise par le logiciel, qui détermine les poses intermédiaires entre la pose de préparation au combat et la pose initiale de déplacement. Ce procédé est appelé interpolation, ou tweening en anglais. Ainsi, par exemple, si vous avez deux poses, une pose « debout » et une pose « assis », la pose intermédiaire sera probablement une pose « accroupi ». Pour améliorer encore la fluidité, vous pourriez sélectionner la pose « debout » et la pose « accroupi », puis ajouter une autre pose intermédiaire, entre les positions debout et accroupi, et ainsi de suite. Nous avons ensuite terminé la transition en apportant quelques touches finales. Le même procédé a été appliqué à l'animation de préparation au combat, dans le sens inverse.


J'espère que ce blog vous aura donné une idée de la manière dont j'ai animé les dragons spirituels. Merci de m'avoir lu !

Mod Hing
Animateur - Équipe des Guardians

Haut de la page