Les cheveux bougent dans la vraie vie. Donc, bien sûr, nous nous attendons à ce qu’il bouge dans nos jeux. Malheureusement, il s’agit en fait d’un défi technique. Aujourd’hui, nous allons passer en revue les diverses options qui s’offrent à nous, les avantages et les inconvénients de chacune d’entre elles, et en fin de compte, laquelle nous allons probablement utiliser et pourquoi. Toutes ces options sont natives d’Unreal Engine 4. Ce qui veut dire qu’il n’y a pas de logiciels tiers.
La Dynamique du tissu
Cela signifie exactement ce à quoi cela ressemble : nous appliquons aux cheveux la même physique que celle utilisée pour le tissu dans City of titans.
Cette approche peut s’approcher le plus d’un mouvement réaliste des cheveux et pourrait même être capable d’entrer en collision avec d’autres vêtements plutôt que de les traverser. Malheureusement, les cheveux “coûtent” beaucoup plus cher que, par exemple, nos capes, qui sont en une seule pièce et avec deux faces.
Alors que cette approche peut sembler fantastique pour les modèles de cheveux lorsqu’elle est bien faite, si le joueur a des douzaines ou plus d’autres personnages à portée de vue, comme c’est très courant dans les MMO, les opérations mathématiques nécessaires pour calculer le tout devient ingérable. Malgré son attrait esthétique, nous avons dû abandonner cette option pour City of Titans.
Des os dans vos cheveux
L’utilisation de la physique du tissu transforme le modèle de cheveux en tissu. Pour utiliser une autre méthode, il faut d’abord donner au modèle de cheveux les moyens de se déplacer.
D’un point de vue natif, tous les modèles 3D sont des pièces dures sans possibilité de flexion. Pour animer les cheveux, il faut faire la même chose que pour le corps du personnage lui-même : lui donner des os, des articulations et des poids. Ces éléments donnent au modèle l’information et les caractéristiques nécessaires au mouvement.
Physique articulaire
Cette approche utilise des fonctions intégrées au moteur Unreal Engine pour exécuter des simulations physiques très optimisées (c’est-à-dire très rapides) sur une sélection des articulations qui contrôlent notre modèle de cheveux.
Il existe plusieurs variantes pour différents types de mouvements dans City of titans: on peut faire rebondir ou secouer un objet, de la même manière que les différents styles de “gros” cheveux par exemple. Un autre peut plier et fléchir un objet comme une corde, ce qui convient aux tresses et aux queues de cheval. Si une coiffure a une partie de chaque style, chaque style peut être appliqué individuellement aux articulations correspondantes.
Ceci, de l’endroit où nous nous trouvons actuellement, semble être la méthode idéale. Elle produit de bons résultats, et fonctionne raisonnablement bien à l’intérieur de nos limites de performance. Lorsque votre personnage saute ou tourne soudainement, les cheveux peuvent réagir en conséquence (voir exemples).
Ces solutions physiques fonctionnent également avec les réglages de niveau de détail (LOD) automatiquement. Le “Level of Detail” ou LoD est le système qui détecte si vous êtes trop loin d’un objet pour en voir les détails et remplace le modèle par quelque chose de beaucoup plus simple pour économiser de la mémoire et des performances. Parce que les cheveux sont conformes au LOD, chaque utilisateur de City of Titan arrêtera la simulation lorsque les cheveux seront suffisamment éloignés du spectateur, c’est encore un autre moyen de contrôler la performance et les frais généraux.
Si City of Titans était un jeu à un seul joueur, nous travaillerions avec la physique du tissu. Mais parce que nous sommes un MMO, nous travaillons avec des animations conjointes utilisant des solutions physiques d’Unreal. Les résultats sont bons. Mais avec Unreal 4, nous sommes à la pointe du progrès, et il est toujours possible que nous découvrions un nouveau truc qui donne de meilleurs résultats. D’ici là, nous travaillons sur une gamme de coiffures.
Source : https://cityoftitans.com/forum/developers-workshop-hair-movement
On en discute sur le forum FR : http://forum.titanscity.com/viewtopic.php?f=11&t=72