CGI à la maison avec Unreal Engine et iPhone

Bonjour à tous! Je m'appelle Vasily Mazalov, je travaille comme monteur vidéo senior chez Pixonic. Notre département crée des créations vidéo pour le marketing et la communauté: vidéos pour pages en pages, revoir des vidéos d'innovations de jeux et autres contenus.

Lorsque je ne crée pas de créativité, je surveille Internet pour de nouveaux formats et façons de présenter du matériel afin de rendre notre propre contenu plus diversifié, intéressant et attrayant pour les nouveaux joueurs.

Il y a un an, je suis tombé sur la vidéo suivante:

Voir la vidéo


Que voyons-nous ici? Le gars a mis un costume pour capturer le mouvement du corps (jusqu'à présent, rien d'inhabituel), a accroché un iPhone devant lui (mais c'est intéressant) et diffuse ainsi l'animation du visage et du corps du personnage directement en temps réel dans Unreal Engine, et le résultat recherche une implémentation si simple assez haute qualité.

Idée sympa, je pensais. Puis fermé la vidéo. Et il a continué à travailler davantage.

Six mois plus tard, le matériel de formation sur la façon de capturer des animations faciales dans Unreal Engine à l'aide d'une application sur l'iPhone s'est révélé être du domaine public. En même temps, j'ai découvert qu'un costume pour capturer le mouvement avait été acheté dans notre département d'art. Vu sa compatibilité avec UE: tout s'est bien passé. Il ne restait plus qu'à trouver un iPhone pour continuer à travailler, mais de nos jours il y a encore moins de problèmes avec cela.

Voir la vidéo


Il y avait beaucoup de questions. Avant moi, il y avait un champ inculte d'animation inexplorée, l'Unreal Engine, la modélisation du visage et du corps humain, et d'autres choses complètement éloignées du montage vidéo, mais en même temps, un grand désir de réaliser ce qui était prévu.

Le long processus d'étude de divers documents a commencé.

Lisez ce qui s'est passé et comment nous y sommes parvenus.


Animation de visage


Pour réaliser notre idée, il n'était pas rentable pour nous d'utiliser et de sculpter le personnage à partir de zéro: cela prendrait beaucoup de temps et nécessiterait des améliorations complexes et le plus souvent injustifiées. Par conséquent, nous avons décidé d'utiliser DAZ Studio: les os du visage y étaient initialement posés, vous permettant de créer rapidement les contractions et les émotions faciales nécessaires, sur lesquelles le sculpteur passerait beaucoup plus de temps. Oui, les modèles créés dans DAZ sont loin d'être une image photoréaliste, mais ils étaient parfaitement adaptés à nos objectifs.

Pour enregistrer des animations faciales, nous n'avions besoin que d'un iPhone avec une caméra frontale TrueDepth - c'est-à-dire de l'iPhone X et supérieur. C'est cette technologie qui a lu la topologie du visage et transféré les valeurs nécessaires dans Unreal déjà à notre modèle.



Les formes de fusion sont responsables de différentes expressions faciales - des modèles 3D de la même topologie, c'est-à-dire avec le même nombre de sommets, mais de formes différentes. Face AR utilise 51 mélanges, et grâce à la documentation détaillée d'Apple qui décrit les mélanges spécifiques utilisés dans DAZ, nous avons pu les faire assez rapidement.

L'ensemble des émotions et des mélanges dans un modèle 3D ressemble à ceci:


Mélanger des formes à partir d'Internet


Nos mélanges

Donc, nous obtenons d'abord notre visage Unreal Engine pour les tests, puis construisons l'application et retournons à Unreal pour obtenir le résultat.




Animation corporelle


Pour créer un corps, il fallait prendre en compte les spécificités du logiciel pour travailler avec une combinaison. Nous avons travaillé avec la combinaison de capture de mouvement du système de capture de mouvement Perception Neuron 2.0 de Noitom. Il en coûte environ 2500 dollars. C'est le costume le moins cher du marché et pas le meilleur représentant parmi les analogues: il est très sensible au rayonnement électromagnétique, ce qui fait bouger les coordonnées des capteurs s'il se trouve dans le rayon du rayonnement actif, et il sera encore plus difficile de nettoyer l'animation. Heureusement, nous venons de déménager à un autre étage, et dans un nouvel endroit, il était assez désert, ce qui signifie que le rayonnement électromagnétique a été réduit au minimum - c'est-à-dire qu'il était idéal pour nous.



Pourquoi un costume? Les animations toutes faites de diverses bibliothèques ne nous convenaient pas, car notre personnage devrait avoir un caractère et un comportement uniques, et le visage et le corps devraient les refléter avec précision. Si nous faisions l'animation à partir de zéro, cela prendrait un mois, voire deux. L'utilisation d'équipement de capture de mouvement a permis de gagner du temps.

Contrairement au visage, les artistes eux-mêmes ont peint le modèle du corps à partir de zéro. Ensuite, il a fallu la faire gréer et écorcher à Maya. Après avoir assemblé le corps, nous le démarrons dans Unreal, nous collectons tout pour la mocap, enregistrons l'animation, après quoi le résultat ne reste plus qu'à pétrir.



Pour que l'animation soit transmise avec précision, les améliorations étaient minimes ou pour les éviter du tout, et afin de diffuser l'animation du costume directement sur l'Unreal Engine, il était nécessaire de définir correctement les os et de supprimer les valeurs inutiles de notre modèle. Noitom a un modèle 3D approximatif pour l'Unreal Engine, en utilisant lequel, comme référence, nous devions affiner notre propre modèle: le mettre dans la pose en T, placer les paumes et les doigts dans des positions de modélisation non standard et remettre toutes les valeurs à zéro. Il était très important que tous les os soient sans virages inutiles, sinon le programme les multiplierait, ce qui fausserait considérablement le mouvement.

Au total, il a fallu environ deux heures pour calibrer la combinaison et enregistrer les premières vidéos. Nous avons défini les paramètres dans l'Unreal Engine, enregistré l'animation du corps avec toutes les pauses nécessaires en fonction du script, puis enregistré l'animation du visage en fonction des mouvements du corps et du même script et obtenu le résultat, que vous verrez dans l'illustration suivante.


Après l'enregistrement, l'animation devait être améliorée, nous avons donc confié à l'animateur la tâche de le nettoyer. Il lui a fallu trois jours pour nettoyer deux minutes d'animation.


Ensuite, il nous a fallu environ trois semaines pour arriver à la version finale, et si nous excluons le raffinement de certains facteurs à la fois dans le modèle du visage et dans le corps, cette période peut être réduite d'une autre semaine.


Pourquoi l'utilisons-nous?


Prenons une pause dans le processus CGI et parlons des objectifs du projet.

À ce moment, quand j'ai exploré ce sujet et collecté les informations nécessaires au travail, des pilotes sont apparus dans notre jeu.

Habituellement, lorsqu'un nouveau contenu sort, soit une voix hors écran en parle, soit les développeurs eux-mêmes, ou les informations arrivent simplement d'une manière ou d'une autre à travers le gameplay. Nous avons maintenant la possibilité de créer un personnage, de bien le préparer, d'assembler à partir de ressources de haute qualité les emplacements dans lesquels il sera situé et, à travers ce héros, de communiquer avec les joueurs: de l'histoire et des vidéos de révision aux émissions en direct.

Pour la première fois dans un jeu sur les robots, des personnages vivants sont apparus, et après eux des histoires qu'ils peuvent raconter sur eux-mêmes et sur le monde. Et je pensais que ce serait cool s'il était possible de collecter des cinématiques de gameplay avec des personnages qui plongeraient les joueurs dans le monde du jeu aussi vite que nous faisons des vidéos sur le moteur.



En collaboration avec le département communautaire, nous avons commencé à proposer une image du personnage, à quoi il pourrait ressembler et quelle serait son histoire. Notre gestionnaire de communauté senior a écrit le script, que nous avons ensuite développé en termes de gain de temps et de simplification de la production.


Dans cette vidéo, vous voyez presque tous les tests que nous avons faits avec l'animation faciale et l'animation corporelle. Puisqu'ils ont des spécifications différentes, ils ont dû être testés tour à tour et seulement mélangés à la fin. Pour les tests d'animation corporelle, un modèle de costume a été tiré de la bande-annonce de CGI pour la nouvelle version:


Eh bien, montrons maintenant ce que nous avons obtenu:



Total


Avec une combinaison de capture de mouvement, un iPhone, un modèle 3D et Unreal Marketplace avec une vaste sélection d'actifs gratuits de qualité, nous pouvons collecter des histoires intéressantes pour nos joueurs en seulement quelques semaines. Nous avons également acquis une expérience et une compréhension de la façon de créer rapidement un nouveau personnage et, au stade de sa création, de prendre en compte toutes les caractéristiques de la production afin d'obtenir le meilleur résultat en peu de temps.

Pourquoi n'avons-nous pas cherché à obtenir la qualité de cinématiques sympas comme Blizzard? Pour le contenu communautaire et marketing, la qualité actuelle est suffisante pour donner à nos utilisateurs une nouvelle perspective sur le monde du jeu. Cependant, bien qu'il ne soit toujours pas nécessaire d'améliorer la qualité des clips, nous sommes toujours à la recherche de nouvelles solutions.

All Articles