jairogarcíarincón

Seguimiento de Cámara


7.98K

Seguimiento de Cámara



Para que la cámara siga a Penny, podríamos hacerla hija de Penny, pero de esta manera, a cada mínimo movimiento, cámara se movería también, incluso cuando se caiga. Compruébalo.

En vez de eso, vamos a utilizar la característica Cinemachine para 2D (ya instalada en este proyecto, pero que se puede descargar desde la Asset Store en cualquier momento) que nos va a permitir utilizar diferentes tipos de seguimiento mucho más precisos y profesionales.

Para comenzar, haz clic en Cinemachine > Create 2D camera. Habrás visto que ahora la Main Camera tiene un nuevo componente llamado Cinemachine Brain.

Además, nuestra nueva cámara (CM vcam1) tendrá un Componente llamado Cinemachine Virtual Camera, y dentro de él debemos arrastrar a Penny a la propiedad Follow:

7. Seguimiento de cámara I
Unity


A continuación, reduce la Ortographic size de la CM vcam1 para que no abarque tanto y Penny quede en el centro:

8. Seguimiento de cámara II
Unity


Si ahora ejecutas el juego, veras que la cámara se mueve más suave , con pequeño factor de amortiguamiento o damping, y además solo lo hace cuando Penny sale del rectángulo más claro (prueba a desactivar el fondo y poner el fondo de la Main camera a blanco par aver mejor las zonas).

El rectángulo más claro es lo que se denomina la dead zone o zona muerta, donde la cámara no se mueve, mientras que la zona azul es el límite suave o soft limit y la zona roja el hard limit.

Modifica la dead zone (arrastrando las guías) para que cubra algo más de espacio del que ocupa Penny, de modo que la cámara se tenga que mover menos.

Todos estos parámetros, al igual que el factor de damping en cada eje, se encuentran bajo el apartado Body de la Cinemachine Virtual Camera.

9. Seguimiento de la cámara III
Unity


Lo único que faltaría sería hacer que la cámara deje de seguir a Penny cuando se caiga. Para ello, añade una extensión (Add extension) a la Cinemachine Virtual Camera llamada Cinemachine Confiner.

Este Confiner solicita una Bounding Shape 2D, o lo que es lo mismo, unos límites de colisión. Para ello, vamos a añadir a nuestro fondo del juego SkyGradient, que serían nuestros límites, un Polygon Collider 2D y editar dicho Collider para que se adapte a los límites del juego.

Además, le marcaremos la propiedad Is Trigger porque si no Penny al estar dentro del Collider cuando arranca el juego intenta salir de él:

10. CInemachine Virtual Camera
Unity


Para terminar, arrastra SkyGradient dentro de la propiedad Bounding Shape 2D del componente Cinemachine Confiner de CM vcam1.


Publicado el 23 de Noviembre de 2024

unitytiles