jairogarcíarincón
Instalación de Cinemachine
Para el seguimiento de cámara al igual que hicimos en el proyecto de Unity: Plataformas en 2D, utilizaremos el paquete Cinemachine.
No obstante, como en este proyecto no disponemos de dicho paquete inicialmente, tenemos que instalarlo, bien desde la Asset Store o, ya que desde Unity 2018.2 está incluido como paquete opcional, utilizando el Package Manager:
- Accede a la ventana Window > Package Manager
- Selecciona Unity: Registry para ver todos los paquetes disponibles
- Selecciona Cinemachine
- Haz clic en Install
Cinemachine
SI ha seguido los pasos anteriores, ahora tu proyecto tendrá un nuevo menú llamado Cinemachine y podremos seguir los pasos ya indicados en la sección Seguimiento de Cámara de la clase Unity: Plataformas en 2D:
- Haz clic en Cinemachine > Create 2D camera.
- Ahora la Main Camera tendrá un nuevo componente llamado Cinemachine Brain.
- Nuestra nueva cámara (CM vcam1) tendrá un componente llamado Cinemachine Virtual Camera.
- Arrastra el objeto Jugador dentro de la propiedad Follow del componente Cinemachine Virtual Camera del objeto CM vcam1.
- Reduce la Lens > Ortographic Size de la CM vcam1 para que el Jugador quede centrado.
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 el Jugador se sale del rectángulo más claro (prueba a desactivar el fondo y poner el fondo de la Main Camera a blanco para ver mejor las zonas).
El rectángulo mas 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 el Jugador, 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 CM vcam1:
Lo único que faltaría sería hacer que la cámara deje de seguir al Jugador cuando se salga de los límites del juego y que además no se vea lo que hay fuera de los límites.
Para ello, añade una extensión (Add extension) a la Cinemachine Virtual Camera CM vcam1 lamada 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 objeto Fondos > Fondo, 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 el Jugador al estar dentro del Collider cuando arranca el juego intenta salir de él.
Para terminar, arrastra Fondo dentro de la propiedad Bounding Shape 2D del componente Cinemachine Confiner de CM vcam1 y ejecuta el juego para comprobar el resultado.
Publicado el 21 de Noviembre de 2024
unity2danimación