Cherchez Unity

Lumière, action ! Configurez vos caméras avec Cinemachine

Last updated: November 2018

Cinemachine est devenu de facto le système de caméras de Unity depuis la version 2017. Sous la surface, il s'agit d'un système sophistiqué avec tout un tas d'options et de possibilités. Lisez ce qui suit pour découvrir des utilisations plus poussées de Cinemachine et des astuces, par Ciro Continisio, conseiller technique chez Unity.

Multiples cerveaux de Cinemachine

Parfois, vous avez besoin de plusieurs caméras dans la scène, pour un jeu multijoueur à écran fractionné, ou vous voulez créer un effet d'incrustation d'image (pour une caméra de surveillance, par exemple). Même s'il semble que Cinemachine contrôle l'ensemble des caméras grâce à son composant Cerveau, il existe une technique pour multiplier les cerveaux de la scène, chacun consacré à un ensemble de caméras virtuelles.

Dans cette situation, une IU avec un flux vidéo intégré apparaît si vous utilisez une deuxième caméra dirigée vers le visage des personnages et en les rendant sous forme de RenderTexture. Pour donner plus de saveur à ce flux vidéo, servez-vous de Cinemachine pour conserver le visage des personnages dans le cadre.

cinemachine-RenderTexture-MultipleBrains

La configuration est très simple : vous créez deux caméras Unity et associez un cerveau Cinemachine à chacune. Vous pouvez ensuite créer autant de caméras virtuelles que ce dont vous avez besoin.

Multiple-Cinemachine-Brains

Pour qu'un cerveau ne voie que certaines de ces caméras, il vous suffit de suivre trois étapes :

  1. vérifiez que les caméras virtuelles que vous voulez affecter à une caméra donnée sont placées sur un même calque (par exemple, "Personnages"),
  2. configurez le masque de gommage de la caméra de façon à ce qu'il rende ce calque,
  3. configurez le masque de gommage de l'autre caméra de façon à ce qu'il exclue ce calque.

Gardez à l'esprit que, même si le processus utilise le masque de gommage de la caméra, cela ne veut pas dire que vous devez modifier votre rendu. Avec 31 calques sur lesquels vous amuser, vous pouvez choisir d'en créer un spécialement pour y mettre toutes les caméras virtuelles.

L'intégralité du processus est récapitulée dans la vidéo ci-dessous :

Un autre axe vertical

Cinemachine part du principe qu'il existe un axe vertical, par défaut l'axe Y. En le prenant pour référence, l'outil sait quels mouvements de caméra ne pas effectuer, par exemple filmer une cible directement depuis le dessus ou le dessous (les vraies caméras ne font pas ça !).

Dans le cas des caméras 2D (indiquées comme orthographiques), Cinemachine se comporte différemment et limite les mouvements de caméra au plan du sol, qui est le plan composé des deux axes restants (ici, X et Z).

Néanmoins, il est parfois nécessaire de changer cet axe vertical et le plan correspondant. Par exemple, vous travaillez peut-être sur un jeu qui utilise des physiques 2D, ce qui vous oblige à utiliser le plan XY pour le gameplay. Mais vous souhaitez peut-être que votre caméra observe le plan depuis un certain angle pour produire un effet incliné, comme dans l'image ci-dessous :

world-up-override-cinemachine

Pour cela, assignez simplement un transform à la propriété "World Up Override" du cerveau Cinemachine. Vous pouvez créer un GameObject vide et l'utiliser pour manipuler la caméra. Ensuite, faites des tests en faisant pivoter cet objet jusqu'à trouver l'axe vertical souhaité pour votre configuration Cinemachine.

Utilisation intelligente du post-traitement

Cinemachine fonctionne avec la pile de post-traitement version 1 et 2. Cependant, cette dernière est la plus adaptée, car elle permet de réaliser des effets intéressants grâce à son système basé sur le volume.

Si vous les combinez, il est conseillé de diviser les effets en deux catégories :

  1. les effets génériques, qui affectent chaque prise,
  2. les effets qui s'appliquent à une seule prise (ou, dans le langage Cinemachine, une seule caméra virtuelle).

En général, des effets de style comme AmbientOcclusion, Colour Grading ou Grain font partie du premier groupe, car vous voudrez conserver un style cohérent tout au long du film ou du jeu. Des effets comme Depth of Field, Lens Distortion ou encore Chromatic Aberration, qui simulent les propriétés physiques de la caméra, sont adaptés aux caméras virtuelles. Mais ce ne sont pas des règles absolues !

Dans l'exemple ci-dessous, vous remarquerez l'utilisation d'un volume de post-traitement très localisé, pour donner l'impression de regarder à travers l'objectif d'une vieille caméra de sécurité :

post-processing-intro

Pour cela, vous avez simplement besoin d'un volume de post-traitement sur la caméra virtuelle elle-même, qui ne doit pas être configuré comme "Is Global". Ajoutez un collisionneur. D'ordinaire, les petits collisionneurs sphériques (de 0,05 de rayon, par exemple) conviennent, pour que la caméra ne pénètre pas dans ce volume par erreur lors du jeu.

Alors, c'est parti. Une caméra virtuelle, un volume de post-traitement et un collisionneur sur le même objet :

smart-use-post-processing

Vous pouvez ensuite ajouter tous les effets que vous voulez et même en écraser sur le profil principal en cochant les cases appropriées. Souvenez-vous : lorsque vous ne cochez pas une case, vous utilisez la valeur de base de cette propriété, généralement celle du volume global. Cochez-la pour écraser cette valeur, mais uniquement pour ce volume.

Créer un effet de travelling contrarié

Enfin, voici une petite astuce. Avez-vous déjà vu l'effet dit de « travelling contrarié » ? Il a été utilisé pour la première fois en 1958 dans « Sueurs froides » d'Alfred Hitchcock avant d'être réutilisé à plusieurs reprises depuis.

Sur l'écran, on dirait que l'espace entre le personnage et le fond s'étend ou se contracte. C'est une technique assez chouette facile à recréer avec Cinemachine.

Regardez l'exemple ci-dessous, qui se déclenche en plein pendant le gameplay :

Cinemachine-Dolly-Zoom

Pour créer cet effet, commencez par créer deux caméras virtuelles avec la même configuration. Tirez ensuite l'une d'elle vers l'arrière et réduisez la valeur de son champ de vision. Combinez les deux avec Timeline ou l'option Priority pour obtenir l'effet de travelling contrarié.

N'oubliez pas que cet effet ne fonctionne qu'avec des caméras en perspective, pas avec les orthographiques !

Plus de ressources

Dites-nous si vous avez aimé ce contenu !

Oui, continuez comme ça Ça pourrait être mieux