Cinemachine est une composante qui vous permet de mieux contrôler la caméra 2D de votre jeu. Cinemachine ne vient pas par défaut, c'est un paquet qu'on doit importer dans Unity.
Si vous êtes familiers avec le Package Manager, cherchez Cinemachine dans le Unity Registry et Importez le dans votre projet. Sinon suivez cette procédure détaillée:
Voici une liste des paramètres avec lesquels on peut jouer dans la section Body de la composante CinemachineVirtualCamera:
Tracked Object Offset: Ce paramètre permet de déterminer quel point de l'objet doit être suivi. Par défaut, on suit le centre de notre personnage, mais on pourrait changer le point au besoin en ajoutant un offset.
Lookahead: Les paramètres Lookahead permettent à la caméra de prendre de l'avance sur le personnage, ainsi si on se tourne vers la droite, la caméra ne sera pas centrée, elle sera un peu plus à droite. Plus le lookahead time est grand, plus la caméra aura de l'avance sur nous. On peut utiliser le paramètre Smoothing pour s'assurer que la caméra reste fluide dans ses mouvements. Pour ce qui est de la case Ignore Y, on peut la cocher si on ne veut pas que la caméra aille plus haut que nous dans les sauts.
Damping: Ce paramètre sert à rendre le mouvement de la caméra plus fluide. Si on le met à 0, la caméra suivra notre joueur sans déroger. Par contre, plus on met un chiffre élevé, plus la caméra sera fluide et prendra son temps pour rejoindre le joueur. Quand vous arrêterez de bouger, la caméra mettra quelques secondes pour vous rejoindre. Cocher Target movement permet de ne pas avoir de damping lorsque la caméra fait une rotation, il s'appliquera uniquement sur le mouvement.
Screen X ou Y: Ce paramètre permet de modifier la position de la caméra par rapport au joueur, on peut la déplacer si on ne veut pas que le joueur soit parfaitement centré.
Dead Zone: La dead zone délimite une zone à l'intérieur de laquelle la caméra ne bougera pas. Si on la laisse à 0, dès qu'on bouge notre personnage, la caméra suit. Si on agrandit la zone, cela nous permet de bouger un peu sans être suivi. Aussitôt qu'on atteint les limites de la dead zone, on recommencera à être suivi.
Pour le fond de votre jeu (Background), il se peut que vous n'ayez pas envie de dessiner l'univers au complet. Ainsi, ce que vous pourriez faire est de faire en sorte que votre fond suit la caméra en tout temps. Pour ce faire, vous pouvez écrire un script ou encore simplement mettre votre objet Background comme enfant de la Main Camera. L'avantage du script est que vous pourriez bouger sur un axe seulement, ainsi le ciel ne changerait pas de position quand on monte, seulement quand on se déplace de gauche à droite.