Buscar en Unity

¡Luces, cámara, acción! Configura tus cámaras con Cinemachine

Last updated: November 2018

Cinemachine se ha convertido en el sistema de cámaras predeterminado de Unity desde el ciclo de Unity 2017. Bajo la superficie, existe un sistema refinado con una gran variedad de opciones y posibilidades. Sigue leyendo para obtener información sobre algunos casos de uso avanzados y consejos de Cinemachine proporcionados por Ciro Continisio, promotor técnico de Unity.

Varios cerebros de Cinemachine

Algunas veces, necesitas más de una cámara en la escena para un multijugador de pantalla dividida, o tal vez quieres crear un efecto de "imagen dentro de la imagen" (por ejemplo, una cámara de vigilancia). Aunque puede parecer que Cinemachine toma el control de todas tus cámaras, el componente Brain (cerebro) te ofrece una opción para tener varios cerebros diferentes en la escena, cada uno apuntando hacia un conjunto de cámaras virtuales.

En esta situación, puedes ver una interfaz de usuario (UI) que tiene una fuente de video al utilizar únicamente una cámara secundaria apuntada hacia las caras de los personajes y renderizar en una textura de renderizado. Si quieres que esta fuente de video se vea más interesante, puedes utilizar Cinemachine para mantener las caras de los personajes dentro del cuadro.

cinemachine-RenderTexture-MultipleBrains

La configuración es bastante sencilla: solo tienes que crear dos cámaras de Unity y adjuntar un cerebro de Cinemachine a cada una. Después, puedes crear todas las cámaras virtuales que necesites.

Multiple-Cinemachine-Brains

Para asegurarte de que cada cerebro vea solo una de estas cámaras virtuales, únicamente tienes que hacer tres cosas:

  1. Asegúrate de que las cámaras virtuales que quieres que afecten una cámara específica estén en una capa (layer) única (por ejemplo, en la capa "Personajes").
  2. Configura el culling mask de esa cámara para que haga el renderizado de la capa (layer) en cuestión.
  3. Configura el culling mask de la otra cámara para que excluya esa capa (layer).

Recuerda que, incluso si el proceso utiliza el culling mask de la cámara, esto no significa que debes cambiar tu renderizado. Tienes 31 capas (layers) disponibles, por lo que puedes crear una capa específica para colocar las cámaras virtuales.

También puedes ver el resumen del proceso completo en el siguiente video:

Un eje diferente de "mundo hacia arriba (world up)"

Cinemachine funciona bajo la suposición de que existe un eje de "mundo hacia arriba (world up)", que es el eje Y arriba de forma predeterminada. Al utilizar esto como referencia, sabe cuáles son los movimientos de cámara que no debe realizar, como ver a un objetivo directamente hacia arriba o hacia abajo (¡las cámaras reales no hacen esto!).

En el caso de las cámaras 2D (que son las cámaras marcadas como ortográficas (ortographic)), Cinemachine se comporta de manera diferente y restringe los movimientos de la cámara en el plano del suelo, que es el plano conformado por los dos ejes restantes (en este caso, el eje X y el eje Z).

Sin embargo, algunas veces no es necesario forzar este eje de "mundo hacia arriba" y el plano correspondiente en otros elementos. Por ejemplo: tal vez estás trabajando en un juego que utiliza física en 2D, por lo que tienes que usar el plano XY para el sistema de juego, pero quieres que tu cámara vea este plano desde un ángulo, por lo que el plano de tu cámara estará un poco inclinado, como en la siguiente imagen:

world-up-override-cinemachine

Para hacer esto, solo tienes que asignar un transformador (transform) a la propiedad de "World Up Override (anulación de mundo hacia arriba)" en el cerebro de Cinemachine. Puedes crear un GameObject vacío y usarlo como manipulador, y puedes experimentar al girar este objeto para buscar el ángulo de "mundo hacia arriba" adecuado para tu configuración de Cinemachine.

Uso inteligente del posprocesamiento

Aunque Cinemachine funciona con las versiones 1 y 2 de Post-Processing Stack, la segunda funciona mejor porque te permite hacer algunos trucos útiles cuando la utilizas en conjunto con Cinemachine, debido a su sistema basado en volúmenes.

Cuando utilizas estas dos herramientas juntas, se recomienda dividir tus efectos en dos categorías:

  1. Efectos generales que deben afectar todas las tomas.
  2. Efectos que solo afectan una toma (llamados VirtualCamera (cámaras virtuales) en Cinemachine).

En general, los efectos como oclusión ambiental (ambient occlusion), etalonaje (color grading), grano (grain) y otros efectos de estilo suelen formar parte del primer grupo, pues te permiten mantener un estilo constante en todo el juego o la película. Otros efectos, como la profundidad de campo (depth of field), distorsión de lente (lens distortion), aberración cromática (chromatic aberration) y otros efectos que simulan las propiedades físicas de la cámara funcionan mejor en las cámaras virtuales. ¡Sin embargo, estas reglas tienen sus excepciones!

En el siguiente ejemplo, verás que se utiliza un volumen de posprocesamiento muy local para crear un efecto de lente de cámara de seguridad antigua:

post-processing-intro

Para lograr esto, solo necesitas un volumen de posprocesamiento en la cámara virtual en sí, que no esté marcado como "Is Global", y agregar un collider. Por lo general, suele bastar con un collider esférico muy pequeño (con un radio de alrededor de 0.05), por lo que deberás asegurarte de que la cámara no entre en este volumen por error durante el juego.

Aquí tenemos la cámara virtual, el volumen de posprocesamiento y el collider en el mismo objeto:

smart-use-post-processing

Después, puedes agregar todos los efectos que quieras, e incluso puedes anular algunos en el perfil principal al marcar las casillas correspondientes. Recuerda que, si no marcas una casilla, te quedarás en el valor base de esa propiedad, que suele provenir del volumen global. Si la marcas, la estarás anulando únicamente para este volumen.

Creación de un efecto de acercamiento con Dolly

Por último, un pequeño truco de cinematografía: ¿alguna vez has visto el efecto conocido como "acercamiento con Dolly"? Se utilizó por primera vez en la película "Vértigo" de Alfred Hitchcock en 1958, y ha aparecido en muchas películas desde entonces.

En la pantalla, parece como si el espacio que existe entre el personaje y el fondo se expandiera o se contrajera. Es una técnica genial que se puede recrear fácilmente con Cinemachine.

Observa el siguiente ejemplo, que está configurado para activarse a la mitad del juego:

Cinemachine-Dolly-Zoom

Para crear ese efecto, puedes comenzar con dos cámaras virtuales que tengan la misma configuración. Después, mueve una hacia atrás y reduce su valor de campo de visión (field of view). Al combinar las dos por medio de Timeline, o al utilizar la prioridad (priority), obtendrás un efecto de acercamiento con Dolly.

¡Recuerda que este efecto únicamente funciona con las cámaras de perspectiva y no funciona con las cámaras ortográficas!

Mas recursos

¡Debemos saberlo! ¿Te gustó este contenido?

Sí. Que sigan llegando Me da igual. Podría ser mejor