Esta aula focará em técnicas avançadas de enquadramento e composição, explorando como usar o Cinemachine no Unity para criar enquadramentos complexos e dinâmicos que realcem a narrativa visual e a imersão do jogador. Vamos desvendar como o enquadramento pode influenciar a percepção do jogador e direcionar a experiência de jogo de maneiras criativas e impactantes.
Enquadramento Dinâmico: Refere-se à capacidade de a câmera ajustar seu enquadramento em resposta a mudanças no ambiente ou ação no jogo. Isso pode incluir mudanças na posição, escala, ou orientação da câmera para manter ou alterar a composição da cena de forma responsiva.
Composição Avançada: Envolve o uso de técnicas cinematográficas, como a regra dos terços, linhas guia, e profundidade de campo para criar uma cena visualmente agradável e narrativamente significativa.
Tensão e Alívio: O enquadramento pode ser usado para criar tensão, por exemplo, através de ângulos apertados ou claustrofóbicos, ou para oferecer alívio, usando ângulos mais abertos que mostram vastas paisagens.
Direcionamento de Atenção: Posicionar elementos importantes nos pontos de força dentro do quadro, como os pontos de intersecção na regra dos terços, para direcionar a atenção do jogador para áreas ou objetos específicos.
Cinemachine Framing Transposer: Um componente do Cinemachine que permite configurar o enquadramento em relação ao alvo que a câmera está seguindo. Permite ajustar automaticamente a posição da câmera para manter o sujeito enquadrado conforme especificado, mesmo quando o sujeito ou a câmera estão em movimento.
// Exemplo básico de configuração do Framing Transposer
public CinemachineVirtualCamera vCam;
void Start()
{
var framingTransposer = vCam.GetCinemachineComponent<CinemachineFramingTransposer>();
framingTransposer.m_ScreenX = 0.5f; // Centraliza horizontalmente
framingTransposer.m_ScreenY = 0.5f; // Centraliza verticalmente
framingTransposer.m_CameraDistance = 10f; // Define a distância da câmera ao objeto
}
O Dynamic Zoom é uma técnica de enquadramento que pode ser extremamente eficaz para ampliar a expressividade e o impacto visual de uma cena. Com o Cinemachine, isso pode ser controlado de forma fluida e responsiva aos estímulos do jogo.
Implementação Prática:
Para implementar o Dynamic Zoom no Cinemachine, você pode ajustar o campo Field Of View da lente da câmera ou manipular a Focal Length em tempo real, dependendo da ação que ocorre na tela.
public class DynamicZoomExample : MonoBehaviour
{
public CinemachineVirtualCamera virtualCamera;
private CinemachineComponent lens;
void Start()
{
lens = virtualCamera.GetCinemachineComponent<CinemachineComponent>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Z)) // Assume que o Zoom é ativado por um input
{
lens.m_Lens.FieldOfView = Mathf.Lerp(lens.m_Lens.FieldOfView, 30, Time.deltaTime * 5);
}
else
{
lens.m_Lens.FieldOfView = Mathf.Lerp(lens.m_Lens.FieldOfView, 60, Time.deltaTime * 5);
}
}
}
Exemplo de Uso em Jogos:
Em um jogo de ação, um zoom rápido pode ser usado para focar em um inimigo que está prestes a atacar, aumentando a tensão. Em jogos de aventura, um zoom pode ser usado durante a descoberta de um item importante, destacando sua importância através do enquadramento.
Smart Follow permite que a câmera se ajuste automaticamente para manter o alvo adequadamente enquadrado, independentemente de como ele se move pelo ambiente. Isso é crucial para manter a consistência visual e a imersão.
Configuração no Cinemachine:
Utilize o componente Cinemachine Framing Transposer para implementar o Smart Follow. Este componente ajusta a posição da câmera com base na movimentação do alvo, mantendo-o dentro dos parâmetros predefinidos de enquadramento.
public class SmartFollowExample : MonoBehaviour
{
public CinemachineVirtualCamera virtualCamera;
public Transform target;
void Start()
{
virtualCamera.Follow = target;
}
// Supõe-se que o componente de Framing Transposer já está configurado
}
Exemplo de Uso em Jogos:
Em um jogo de stealth, o Smart Follow pode manter o protagonista enquadrado enquanto ele se esgueira por ambientes, garantindo que os jogadores tenham uma visão clara dos obstáculos e ameaças próximas, enquanto mantêm a ação em foco.
A Timeline do Unity é uma ferramenta poderosa para orquestrar sequências complexas onde múltiplos elementos devem ser sincronizados. Quando combinada com o Cinemachine, oferece uma forma de criar enquadramentos que respondem dinamicamente ao decorrer dos eventos.
Configuração com Cinemachine:
Adicione uma Cinemachine Track à Timeline e associe suas câmeras virtuais. Configure cada câmera para diferentes partes da sequência, permitindo transições suaves e enquadramentos específicos para cada momento.
// Este código pressupõe que você tenha uma timeline com uma Cinemachine Track configurada
public class TimelineControlExample : MonoBehaviour
{
public PlayableDirector director;
void Start()
{
director.Play();
}
}
Exemplo de Uso em Jogos:
Em um RPG, durante uma cena de diálogo crucial, a Timeline pode controlar a câmera para alternar entre os rostos dos personagens falantes, ajustando o enquadramento conforme a intensidade da conversa aumenta, ou mesmo durante uma revelação chave na trama, mudando o enquadramento para incluir elementos do cenário que ganham importância.
As técnicas avançadas de enquadramento com Cinemachine permitem aos desenvolvedores criar experiências visuais dinâmicas e adaptativas que podem melhorar significativamente a narrativa e a imersão nos jogos. Ao integrar essas técnicas com componentes como o Dynamic Zoom, Smart Follow, e a Timeline, os desenvolvedores podem alcançar um nível de controle cinematográfico que é tanto poderoso quanto intuitivo.
Tenha acesso ao curso completo
GRÁTIS
1Câmera e Visão do Jogo
1 - Introdução às Câmeras
2 - Fundamentos das Câmeras Digitais em Computação Gráfica
3 - Enquadramento e Composição Básica
4 - Profundidade de Campo
5 - Introdução ao Cinemachine
6 - Lentes e Field of View (FOV)
7 - Movimento de Câmera Básico
8 - Câmeras Avançadas com Cinemachine
9 - Técnicas Avançadas de Enquadramento
10 - Transições e Blends com Cinemachine
11 - Efeitos Especiais de Câmera no Unity
12 - Câmeras para Jogos de Plataforma
13 - Câmeras para Jogos de Corrida
14 - Câmera para Jogos de RPG
15 - Otimização e Desempenho de Câmeras no Unity
16 - Projeto Final e Revisão
…
As matrículas para este curso esgotaram-se no momento. Inscreva-se abaixo para reservar o seu nome na próxima turma.
É necessário ter uma conta GAMIFICA. Se você já é aluno, faça o login . Caso não seja, cadastre-se abaixo e comece já!
…