Maîtriser l'animation de caméra 3D dans After Effects pour des mouvements dynamiques

L'animation de caméra 3D dans After Effects est un outil puissant qui peut considérablement améliorer vos projets vidéo. En maîtrisant la configuration de la caméra, les techniques d'animation et le contrôle de la profondeur de champ, vous pouvez produire des expériences visuelles époustouflantes. Commencez à expérimenter ces techniques pour libérer votre potentiel créatif.

Une caméra 3D dans After Effects fonctionne de manière similaire à une caméra du monde réel, mais à l'intérieur de votre composition numérique. Ajouter des mouvements de caméra dynamiques à vos projets After Effects est essentiel pour créer des vidéos professionnelles et attrayantes. Que vous travailliez sur des graphiques animés, des effets visuels ou des séquences cinématographiques, la compréhension de l'animation de caméra 3D élèvera votre narration.

Schéma illustrant le fonctionnement d'une caméra 3D dans un logiciel de post-production.

Configuration d'une caméra 3D dans After Effects

L'effet de suivi de la caméra 3D analyse des séquences vidéo afin d'en extraire des données de scène 3D et de mouvement de la caméra. Comme la stabilisation de déformation, l'effet de suivi de la caméra 3D effectue une analyse en utilisant un traitement en arrière-plan.

Utilisation du suivi de caméra 3D pour l'intégration d'objets

L'une des meilleures utilisations du suivi de la caméra 3D est d'intégrer des objets dans la scène. Prenons un exemple concret. Nous allons ici prendre cet ordinateur portable et le déposer dans une nouvelle composition. Le défi ici est que nous avons un logo très dominant et que nous pourrions ne pas avoir la permission de montrer ce logo dans notre projet. Allons-y et appliquons le suivi de caméra 3D. Nous pouvons le faire simplement en allant dans le panneau Tracker et en cliquant sur "Track Camera". Il va analyser le plan.

Dans ce cas, je vais examiner certains de mes paramètres. Je crois qu'il s'agit effectivement d'un angle de vue fixe. Il ne semble pas y avoir de zoom, ce qui est parfait. Je pense aussi que la scène est relativement plate à cause du grand mur derrière. Nous allons donc laisser le solveur travailler. Pas mal. Vous voyez ici qu'il s'est concentré sur lui ? Eh bien, c'est bien si je voulais le suivre, mais je veux suivre l'ordinateur portable.

Paramètres et résolution de la caméra

L'effet Suivi de la caméra 3D est appliqué. Définissez les paramètres nécessaires. Passez le pointeur de la souris entre trois points de suivi voisins non sélectionnés pouvant définir un plan. Un triangle semi-transparent apparaît entre les points. Cliquez avec le bouton droit de la souris au-dessus de la sélection ou de la cible, puis choisissez le type de contenu à créer. Si vous créez plusieurs calques, chacun possède un nom numéroté unique. Si la taille des cibles est trop petite ou trop grande, vous pouvez les redimensionner pour faciliter la visualisation des plans. Cliquez en maintenant la touche Alt (Windows) ou Option (Mac OS) enfoncée pendant que vous faites glisser à partir du centre de la cible.

Le déplacement d’objets peut être source de confusions pour l’effet de suivi de la caméra 3D. Ce dernier peut interpréter les points correspondant à des objets statiques proches de la caméra comme des objets en mouvement en raison du parallaxe. Après la suppression des points de suivi indésirables, la caméra est à nouveau résolue. Vous pouvez supprimer des points supplémentaires pendant que la nouvelle résolution a lieu en arrière-plan.

  • Démarre ou arrête l’analyse en arrière-plan du métrage.
  • Indique si le métrage a été acquis avec un angle horizontal fixe de vue, un zoom variable ou un angle horizontal spécifique de vue.
  • Spécifie l’angle horizontal de vue que le solveur utilise.
  • Lorsque l’effet est sélectionné, les points de suivi sont toujours affichés, même si l’option Rendre les points de suivi n’est pas sélectionnée.
  • Crée la caméra 3D.
Méthode de résolution et erreurs

Méthode de résolution : fournit des conseils sur la scène pour vous aider à résoudre la caméra.

Erreur moyenne : affiche la distance moyenne (en pixels) existant entre les points source 2D d’origine et une reprojection des points 3D résolus sur le plan 2D du métrage source. Si un suivi ou une résolution a été parfaite, cette erreur sera de 0 et il n’y aura pas de différence visible si vous basculez entre les points de suivi 2D source et 3D résolu.

Analyse détaillée : lorsque cette option est activée, la phase d’analyse suivante procède à des opérations supplémentaires pour rechercher les éléments à suivre.

Supprimer automatiquement les points dans le temps : avec la nouvelle option Supprimer automatiquement les points dans le temps, lorsque vous supprimez des points de suivi dans le panneau Composition, les points de suivi correspondants (c’est-à-dire, les points de suivi sur la même fonction/le même objet) sont supprimés à d’autres moments sur le calque. Vous n’avez pas besoin de supprimer les points de suivi image par image pour améliorer la qualité de la piste.

Sélectionnez un ensemble de points de suivi. Cette action n’a aucun résultat visible, mais le plan de référence et l’origine du système de coordonnées sont enregistrés pour cette scène.

Capture d'écran du panneau Tracker dans After Effects montrant l'option

Techniques avancées et applications

Bien que le suivi de caméra 3D soit excellent pour intégrer des éléments dans une scène existante, l'animation de caméra elle-même offre des possibilités créatives immenses.

Animation de caméra et profondeur de champ

La maîtrise de la configuration de la caméra, des techniques d'animation et du contrôle de la profondeur de champ vous permettra de produire des expériences visuelles époustouflantes. La profondeur de champ (Depth of Field - DoF) simule l'effet optique d'une lentille, où certains éléments d'une image sont nets tandis que d'autres sont flous. Dans After Effects, vous pouvez contrôler la profondeur de champ de votre caméra 3D pour diriger l'attention du spectateur.

TUTO ADOBE AFTER EFFECTS - Profondeur de champ - Focus Camera - Lens blur - Animation Typographie FR

Intégration d'objets sur des surfaces courbes

Lorsqu'il s'agit d'ajouter du texte sur une surface courbe, comme le flanc d'un camion-citerne, le suivi de caméra 3D standard peut être limité car il est principalement conçu pour les surfaces planes. Dans After Effects CC, vous pourriez avoir besoin d'approches alternatives.

Il dépend du mouvement et de la courbe. Souvent, vous pouvez vous contenter d'un suivi plan, puis ajouter la distorsion courbée lors de la composition, ou diviser une surface en plusieurs plans. De plus, mocha Pro dispose d'un outil "mesh warper" (déformeur de maillage) spécialement conçu pour courber un élément inséré sur une surface incurvée. Au-delà de cela, vous pourriez envisager des logiciels de suivi de caméra plus avancés tels que PFTrack ou Syntheyes.

C'est un tutoriel avancé, mais il couvre certains concepts pour courber un élément inséré pour une composition réaliste. Au-delà de cela, vous pourriez vouloir regarder des suivis de caméra plus poussés comme PFTrack ou Syntheyes.

Bon tutoriel rapide. Mais ce que je cherche, c'est un moyen de courber le texte autour d'un cylindre ; verticalement, pas horizontalement.

Illustration montrant comment appliquer du texte sur une surface courbe à l'aide d'outils de déformation.

Leçons tirées de la création de systèmes de déplacement complexes

L'expérience dans la création de systèmes de déplacement complexes, comme ceux rencontrés dans les jeux vidéo, offre des perspectives précieuses sur la manière de gérer le mouvement et l'animation, des concepts qui peuvent s'appliquer à l'animation de caméra.

Le défi du suivi de cible (Target Matching)

Dans Unity, il existe une fonction astucieuse qui vous permet de modifier le mouvement sous-jacent d'une animation à l'exécution afin qu'une partie d'un avatar humanoïde se retrouve à une position donnée à un moment donné. C'était (je suppose) la sauce secrète qui manquait à mon premier système d'escalade. Si je pouvais suivre une cible, disons, la main droite de mon personnage, pour qu'elle soit sur le dessus d'un cube lors de la lecture de mon animation "escalade", je pourrais escalader un cube de n'importe quelle hauteur ! Je n'aurais probablement pas non plus glissé en arrivant en haut, car mon personnage serait au bon endroit.

Il s'avère que j'avais en grande partie raison, mais il y avait quelques points clés que je ne comprenais pas. La première était la façon dont le suivi de cible fonctionnait probablement en coulisses, ce qui s'avère être assez important. Ce que je ne réalisais pas, c'est que le suivi de cible n'est pas magique. Cela peut sembler idiot, mais je pense que beaucoup de nouveaux développeurs de jeux arrivent à un point où certaines fonctions du moteur semblent être une solution miracle qui "résoudra" les problèmes sans avoir à y réfléchir.

Les moteurs modernes atteignent un point où cela peut presque être vrai, ce qui est une épée à double tranchant en termes d'apprentissage, mais "heureusement" pour moi, c'était beaucoup moins le cas en 2013. En raison de cette croyance en la "solution miracle", j'ai essentiellement pris mon système "d'escalade" existant et j'ai ajouté un suivi de cible du début à la fin de l'animation, en disant à la main droite de se retrouver à un point spécifique sur le dessus du cube. Cela avait l'air horrible car l'animation d'escalade avait beaucoup de préparation, et avec le suivi de cible fonctionnant tout le temps, le personnage commençait à glisser sur le cube encore plus visiblement qu'auparavant.

Pour comprendre pourquoi cela se produit, nous devons en fait creuser un peu dans le fonctionnement du suivi de cible. Premièrement, nous devons avoir une animation avec la racine du mouvement intégrée, car nous modifions cette racine du mouvement pour générer une nouvelle trajectoire pour notre animation. Une fois que nous avons cela, tout ce que nous faisons est d'identifier un os spécifique dans notre rig d'animation (dans ce cas, l'os de la main droite) et de nous assurer que cette transformation se retrouve à un certain point dans l'espace du monde à un certain moment de l'animation. Alors, comment cela fonctionne-t-il réellement ? Eh bien, nous ne modifions pas directement le mouvement de la main, car cela déformerait le fichier d'animation. Au lieu de cela, nous déplaçons la "racine" du personnage pour qu'elle soit dans la bonne position relative à la main à un moment spécifié. Si nous regardons la dernière image du suivi de cible, c'est assez simple : nous calculons la transformation relative entre la main et la racine dans l'animation de base, appliquons cette transformation au point cible dans l'espace du monde auquel nous faisons correspondre, puis définissons notre racine d'animation à cette position/orientation dans l'espace du monde. Cependant, pour rendre cette transition fluide, nous devons regarder plus que la dernière image, et c'est là que les choses deviennent étranges. Regardons les données brutes de capture de mouvement que j'ai utilisées pour cette implémentation particulière. J'ai encadré la main droite en violet, vous pouvez voir le mouvement que cette main effectue dans quelques instantanés de l'escalade, et la position relative par rapport au centre du personnage (ce que nous utiliserons comme racine pour cet exemple) n'est pas constante. Cela rend le suivi de cible un peu plus délicat, car tout mouvement relatif que nous appliquons à la racine ne sera pas toujours correct en fonction de la façon dont la main cible bouge. Je ne suis pas sûr exactement de la façon dont Unity gère cela, mais ce que je peux dire, c'est qu'intuitivement, plus la position relative entre votre cible et votre racine change sur la période de suivi de cible, plus l'animation a l'air étrange et moins fluide.

Le problème de la prise de bord (Ledge Grabbing)

Il y a quelques années, j'ai décidé de m'attaquer à ce problème une fois de plus. Armé d'une tonne d'excellentes animations gratuites de Mixamo (qui comprenaient un tas de sauts et d'escalades de rebords), ainsi que d'un joli maillage de corps temporaire, j'ai pensé que j'avais enfin les outils pour m'y attaquer de front. En combinant le suivi de cible avec des machines d'état d'Animator complexes, j'ai pensé que j'avais enfin trouvé la solution. C'est en quelque sorte correct, cependant, malgré la qualité des animations que j'utilisais, en fin de compte, je pense que j'avais besoin d'ordres de grandeur plus que les quelque 20 que j'ai réussi à obtenir pour couvrir la gamme de mouvements que je voulais.

L'approche que j'ai adoptée était la suivante : avoir un grand état d'animation pour une prise de rebord statique, qui passerait à un mouvement latéral ou vertical le long du rebord, avec des animations pour sauter vers le haut, la gauche, la droite et le bas vers d'autres prises. J'utiliserais le suivi de cible pour faire bouger les mains / la racine au bon endroit tout au long du cycle de vie de l'animation afin de gérer les écarts / distances qui n'étaient pas explicitement animés. Cela a fonctionné... d'accord, mais le problème avec le simple suivi de cible est qu'il peut sembler très flottant car aucune partie de l'animation n'est modifiée, juste la position de la racine. Ce qui me manquait (mais je ne le savais pas à l'époque) était la cinématique inverse (Inverse Kinematics - IK).

L'approche procédurale

Le plus grand facteur limitant auquel j'ai été confronté lors de la conception de ce système était que je ne suis pas un animateur. J'avais récemment regardé cette excellente conférence GDC sur (entre autres choses) le système d'escalade d'Assassin's Creed III et bien qu'il y ait beaucoup de très bonnes informations présentées là-bas, en fin de compte, il y avait une équipe d'animateurs créant beaucoup d'animations de transition et de variations d'animation pour gérer de grandes parties de l'escalade.

J'avais déjà vu que l'utilisation de quelques animations librement disponibles (et certaines payantes) n'était pas suffisante pour créer un système qui semblait fluide ou stable, donc la perspective d'utiliser beaucoup plus d'animations n'était pas attrayante. Heureusement, à peu près à la même époque, je suis tombé sur une autre excellente conférence GDC de Wolfire Games. Cette conférence portait sur l'animation procédurale accessible et la cinématique inverse pour la locomotion des personnages, y compris l'escalade de rebords. L'utilisation de simulations de ressorts simples et de courbes d'animation pour créer autant de mouvements dynamiques m'a fait croire qu'il était peut-être possible de pousser ces mêmes concepts plus loin et de complètement refondre mon système d'escalade autour d'eux.

Bien que ce ne soit peut-être pas la meilleure décision pour la plupart des jeux publiés, j'ai décidé que je voulais un système d'escalade qui gérerait presque n'importe quel environnement, plutôt qu'un système qui ne fonctionnait que dans des paramètres limités. C'est en grande partie parce qu'à l'époque, je n'avais pas confiance en mes capacités de conception de niveaux ou en mes compétences en animation, ce qui signifiait que la création d'un environnement soigné était probablement plus d'efforts que la création d'un système d'escalade et de déplacement dynamique pour gérer n'importe quel environnement que je lui présentais.

Dans cette optique, voici les paramètres que j'ai définis pour le système d'escalade :

  • Classification des rebords à n'importe quelle hauteur
  • Déplacement le long des rebords dans toutes les directions raisonnables
  • Sauts de rebord dans toutes les directions raisonnables
  • Accrochage et déplacement le long des rebords sans prises
  • Escalade sur des surfaces mobiles
  • Escalade sur des prises mobiles
  • Escalade sur des corps rigides pour la simulation physique
  • Escalade de surface (par exemple, des parois rocheuses que vous pouvez simplement "traverser" plutôt que de chercher des prises spécifiques)

Avec toutes ces exigences, il était clair que j'avais besoin d'un système presque entièrement procédural, car lier des milliers de petites animations n'est tout simplement pas une option si vous voulez un mouvement vraiment dynamique. La solution évidente lorsque vous souhaitez modifier des animations pour les adapter à plusieurs scénarios est d'utiliser la cinématique inverse. Essentiellement, si vous avez une pose et que vous souhaitez modifier un "effecteur" (main, pied, visage, peu importe) pour qu'il se trouve dans un emplacement spécifique à un moment donné dans la chronologie de la pose, vous pouvez utiliser un peu de trigonométrie pour déterminer les angles auxquels vous devez plier les articulations pour déplacer cet effecteur au bon moment.

Dans des systèmes plus complexes, vous pouvez prendre en compte la musculature et faire en sorte que les effecteurs "poussent" ou "tirent" d'autres effecteurs dans une chaîne. Cela nécessite un peu plus de mathématiques pour résoudre car il existe plusieurs solutions valides, mais les résultats sont beaucoup plus dynamiques et crédibles.

Pour être franc, je n'avais aucun intérêt à écrire un système de cinématique inverse pour tout le corps, alors pour ce projet, j'ai fait des recherches et acheté FinalIK sur le magasin d'assets Unity. J'utilise maintenant ce système depuis des années et je ne peux vraiment pas le recommander assez, c'est le moteur du mouvement procédural que j'ai accompli pour le système d'escalade et il a fonctionné sans faille, peu importe à quel point je l'ai poussé.

Avec le système IK en main, j'ai commencé à essayer de comprendre comment définir les mouvements d'escalade en déplaçant divers effecteurs. Après beaucoup d'expérimentation, j'ai abouti à un système à 5 effecteurs : MAIN_DROITE, MAIN_GAUCHE, PIED_DROIT, PIED_GAUCHE et RACINE. Chaque effecteur a également trois états de position : DERNIER, COURANT et SUIVANT. Essentiellement, le système IK essaie de faire correspondre la position de l'effecteur COURANT, et l'effecteur courant interpole entre les positions DERNIER et SUIVANT en fonction d'une certaine quantité de lissage. L'effecteur RACINE définit la position du personnage et est dérivé des positions COURANTES des mains, également avec des décalages et un lissage.

Il peut être surprenant d'apprendre qu'en fin de compte, après beaucoup d'expérimentation, tous les déplacements, les sauts vers des prises et l'accrochage aux rebords dérivent de deux images clés d'animation : une avec les pieds posés sur un mur et une avec les jambes pendantes librement. Tout le mouvement d'escalade est généré par la cinématique inverse, l'oscillation harmonique simulée, les fonctions de décalage superposées et les simulations de pendule en plusieurs parties.

Alors, comment tout ce mouvement est-il généré ? Les effecteurs peuvent interpoler, mais qu'en est-il du corps ? Le balancement du corps du personnage pendant qu'il grimpe et l'amortissement des impacts qu'il effectue après un saut ? Ce mouvement est largement réalisé par une oscillation harmonique amortie simulée. Essentiellement, imaginez un pendule où se trouve le corps du personnage. Vous pourriez y parvenir avec une masse invisible et de vrais joints à ressort dans Unity, cependant, j'ai trouvé le sta...

Diagramme illustrant le concept de cinématique inverse avec des effecteurs et des positions.

TUTO ADOBE AFTER EFFECTS - Profondeur de champ - Focus Camera - Lens blur - Animation Typographie FR

tags: #la #camera #traverse #une #surface #after

Articles populaires: