Cinemachine na Unity: Câmeras Profissionais sem Código

Unity Cinemachine 3 do zero: Cinemachine Brain, CinemachineCamera, alvo, prioridade e blends, câmera 2D e 3D e os nomes novos dos tutoriais do Cinemachine 2.
Cinemachine na Unity: Câmeras Profissionais sem Código
Unity Cinemachine é o pacote oficial de câmeras da Unity: em vez de escrever um script que segue o jogador, suaviza o movimento, respeita os limites da fase e faz transição entre ângulos, você configura isso em componentes. Uma câmera real recebe o Cinemachine Brain, e você cria quantas CinemachineCamera quiser; o Brain escolhe a de maior prioridade e faz a transição entre elas.
Este guia é para quem nunca usou o Cinemachine ou aprendeu pela versão 2 e está perdido nos nomes. Você vai ver o que o pacote resolve, como instalar, como montar uma câmera que segue o personagem em 2D e em 3D, trocar de câmera por prioridade com blend, a tabela de nomes do Cinemachine 2 para o 3 e quando não vale a pena usar.
Unity cinemachine: o que resolve
Câmera parece simples até você fazer a primeira. "Seguir o jogador" vira: seguir com atraso para não dar enjoo, deixar uma zona morta no meio da tela para pulos pequenos não mexerem a câmera, olhar um pouco à frente na direção do movimento, não mostrar fora do mapa, tremer na explosão, trocar para outro ângulo numa cutscene e voltar suave. Cada um desses itens é um script, e eles brigam entre si.
O Cinemachine separa o problema em duas partes:
- CinemachineCameras (câmeras virtuais): descrevem como uma câmera deveria se comportar. Não renderizam nada. Você pode ter dez na cena.
- Cinemachine Brain: fica na câmera real e, a cada frame, copia posição, rotação e lente da câmera virtual ativa, misturando duas durante uma transição.
Isso transforma trocar de câmera em mudar um número (a prioridade), e a transição suave sai de graça.
Instalar e o Cinemachine Brain
Em Window > Package Management > Package Manager, aba Unity Registry, procure Cinemachine e clique em Install. Em outubro de 2026, a documentação da Unity lista o Cinemachine 3.1.7 como a versão liberada para a Unity 6.3 LTS; o Package Manager instala a versão certa para o seu editor.
Para criar a primeira câmera: GameObject > Cinemachine > Cinemachine Camera. A Unity cria um objeto com o componente CinemachineCamera na posição atual da Scene view e, se a câmera real da cena ainda não tem, adiciona o Cinemachine Brain nela automaticamente. Selecione a Main Camera e confira o componente: a partir daqui, quem move essa câmera é o Brain, e mexer no Transform dela à mão não adianta.
Três configurações do Brain que você vai mexer:
- Default Blend: a transição usada quando você não definiu uma específica. Opções: Cut, Ease In Out, Ease In, Ease Out, Hard In, Hard Out, Linear e Custom, mais a duração em segundos.
- Custom Blends: um asset para definir transições entre câmeras específicas (corte seco da gameplay para a cutscene, blend lento da cutscene de volta).
- Update Method: Fixed Update, Late Update, Smart Update ou Manual Update. A documentação recomenda Smart Update, que se ajusta a alvos movidos por física ou não. Se o personagem tremer, este é o primeiro lugar a olhar.
CinemachineCamera, alvo e componentes
Selecione a CinemachineCamera. Os campos principais:
- Tracking Target: o objeto que a câmera segue. Arraste o personagem aqui.
- Look At Target: opcional. Só aparece se você quiser que a câmera mire num objeto diferente do que segue.
- Priority: número inteiro, padrão 0. Maior vence. Pode ser negativo.
- Lens: as configurações da câmera real (Field of View ou Orthographic Size, planos de corte, Dutch).
- Standby Update: com que frequência uma câmera que não está ao vivo se atualiza (Never, Always, Round Robin).
Abaixo deles ficam os comportamentos procedurais, que você escolhe em listas:
- Position Control: Follow, Orbital Follow, Third Person Follow, Position Composer, Hard Lock to Target, Spline Dolly.
- Rotation Control: Rotation Composer, Hard Look At, Pan Tilt, Rotate With Follow Target.
- Noise: tremor procedural (respiração da câmera, câmera na mão).
- Add Extension: extensões como Confiner 2D, Deoccluder e Pixel Perfect.
A combinação de um Position Control com um Rotation Control define a câmera. Não precisa decorar: as seções seguintes dão as combinações para 2D e 3D.
Câmera seguindo em 2D e 3D
2D (plataforma, top-down):
- Câmera real em modo Orthographic.
- CinemachineCamera com Tracking Target = personagem.
- Position Control: Position Composer. Ele mantém o alvo numa região da tela em vez de colar no centro.
- No Position Composer, ajuste Damping (atraso de seguimento por eixo), Dead Zone (área em que o alvo anda sem mover a câmera) e Lookahead Time (olhar à frente do movimento).
- Rotation Control: nenhum. Câmera 2D não gira.
- Para não mostrar fora do mapa: Add Extension > Cinemachine Confiner 2D, e aponte para um objeto com PolygonCollider2D desenhando os limites da fase (marque o collider como Is Trigger ou ponha numa layer que não colide com nada).
O post sobre Cinemachine 2D seguindo o jogador detalha cada valor e os erros de tremedeira em jogo de pixel art.
3D terceira pessoa:
- CinemachineCamera com Tracking Target = personagem (ou um objeto filho na altura da cabeça).
- Position Control: Orbital Follow para câmera que gira em volta do personagem, ou Third Person Follow para câmera de ombro.
- Rotation Control: Rotation Composer para manter o personagem enquadrado.
- Para o jogador girar a câmera com mouse ou analógico, adicione o componente Cinemachine Input Axis Controller, que lê as actions do Input System e alimenta os eixos da órbita.
Sem uma linha de código, você tem uma câmera que muitos jogos indie lançados não têm.
A câmera, no entanto, não vive sozinha: ela conversa com o movimento do personagem, com a física, com a UI e com os efeitos de impacto. Quando essas partes se juntam num jogo completo é que aparecem os tremores, as transições fora de hora e a câmera atravessando parede. Se é nessa integração que você está travado, o curso de Unity constrói jogos inteiros com câmera, controle e game feel funcionando juntos.
Trocar câmera por prioridade e blends
O uso que mais compensa o Cinemachine: entrar numa sala e a câmera abrir para mostrar a sala inteira, sair e voltar a seguir o jogador. Crie uma segunda CinemachineCamera enquadrando a sala, com Priority 0, e um trigger na entrada.
Arquivo CameraZone.cs:
using Unity.Cinemachine;
using UnityEngine;
[RequireComponent(typeof(Collider2D))]
public class CameraZone : MonoBehaviour
{
[SerializeField] private CinemachineCamera zoneCamera;
[SerializeField] private int activePriority = 20;
[SerializeField] private int inactivePriority = 0;
private void Awake()
{
zoneCamera.Priority = inactivePriority;
}
private void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
zoneCamera.Priority = activePriority;
}
}
private void OnTriggerExit2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
zoneCamera.Priority = inactivePriority;
}
}
}
A câmera de gameplay fica com Priority 10, a da sala sobe para 20 quando o jogador entra e volta a 0 quando sai. O Brain percebe a troca e faz o blend com o Default Blend (ou o que estiver no Custom Blends para esse par). Repare no using Unity.Cinemachine;: é o namespace do Cinemachine 3. Atribuir um int à Priority funciona porque o tipo dela converte de inteiro e já marca a prioridade como habilitada.
Duas alternativas para o mesmo efeito: ativar e desativar o GameObject da câmera (uma câmera desativada não concorre) ou chamar zoneCamera.Prioritize(), que coloca a câmera no topo entre as de mesma prioridade. Prioridade é o mais legível quando várias zonas se sobrepõem, porque o número diz quem ganha.
Para o tremor de tela em explosões, o Cinemachine tem o sistema de Impulse: um componente que emite o impulso e uma extensão na câmera que reage a ele. É a forma mais limpa de fazer screen shake sem mexer no Transform da câmera, e combina com as ideias de game feel e juice.
Tutorial em Cinemachine 2: o que mudou de nome
A maior parte dos vídeos e respostas de fórum sobre Cinemachine foi feita na versão 2. A lógica é a mesma, os nomes não. A tabela do guia de novidades do Cinemachine 3:
| Cinemachine 2 | Cinemachine 3 |
|---|---|
| CinemachineVirtualCamera | CinemachineCamera |
| CinemachineFreeLook | CinemachineCamera (com Orbital Follow) |
| CinemachineTransposer | CinemachineFollow |
| CinemachineOrbitalTransposer | CinemachineOrbitalFollow |
| CinemachineFramingTransposer | CinemachinePositionComposer |
| CinemachineComposer | CinemachineRotationComposer |
| CinemachinePOV | CinemachinePanTilt |
| CinemachineTrackedDolly | CinemachineSplineDolly |
| CinemachineCollider | CinemachineDeoccluder |
| CinemachineConfiner | CinemachineConfiner2D ou CinemachineConfiner3D |
| Cinemachine3rdPersonFollow | CinemachineThirdPersonFollow |
| CinemachineSameAsFollowTarget | CinemachineRotateWithFollowTarget |
| CinemachineBlendListCamera | CinemachineSequencerCamera |
Mudanças que afetam código:
- Namespace:
using Cinemachine;passa a serusing Unity.Cinemachine;. - Campos sem o prefixo
m_:m_LensvirouLens,m_PriorityvirouPriority, e assim por diante. - Follow e Look At viraram um Tracking Target único, com Look At separado só quando você precisa.
- Caminhos (CinemachinePath, CinemachineSmoothPath) foram trocados pelo Spline Container nativo da Unity, e o Dolly Cart virou CinemachineSplineCart.
- Filtro por layer em tela dividida passou a usar Channels.
Se você abriu um projeto antigo, o Inspector de qualquer câmera virtual antiga mostra o Cinemachine Upgrader, com três opções: converter um objeto, uma cena ou o projeto inteiro. A conversão do projeto inteiro atualiza animações, referências de script e prefabs, mas não tem desfazer. Faça commit ou backup antes.
Quando não usar Cinemachine
Cinemachine não é obrigatório, e em alguns casos atrapalha:
- Câmera fixa: puzzle de tela única, jogo de cartas, menu. Uma câmera parada não precisa de pacote.
- Câmera totalmente sistêmica: um jogo de estratégia com câmera RTS (arrastar com o mouse, zoom na roda, limites do mapa) costuma ficar mais simples num script próprio de 80 linhas do que forçando os componentes de seguimento.
- Projeto que você está usando para aprender câmera: escrever um seguidor com
Vector3.SmoothDampuma vez ensina damping, dead zone eLateUpdate. Depois disso, o Cinemachine faz muito mais sentido.
Fora desses casos, ele economiza dias de trabalho e é o padrão em projeto profissional na Unity.
Próximo passo
Monte uma cena 2D com o personagem, uma CinemachineCamera com Position Composer e Confiner 2D, e uma sala com CameraZone. Ajuste damping e dead zone até a câmera parar de chamar atenção. Para comparar com outra engine, veja como a Godot resolve o mesmo problema no post sobre câmera 2D seguindo o jogador na Godot.
Perguntas frequentes
Qual versão do Cinemachine usar na Unity 6?
Use o Cinemachine 3. Em outubro de 2026, a documentação da Unity lista o pacote Cinemachine 3.1.7 como liberado para o editor 6000.3 (Unity 6.3 LTS). Tutoriais com CinemachineVirtualCamera são do Cinemachine 2 e usam nomes que mudaram.
O que é o Cinemachine Brain?
É o componente que fica na câmera real da Unity. Ele olha todas as CinemachineCameras ativas da cena, escolhe a de maior prioridade e move a câmera real para a posição e as configurações dela, fazendo a transição (blend) quando a câmera escolhida muda.
Como trocar de câmera no Cinemachine?
Mude a prioridade. A CinemachineCamera ativa com o maior valor de Priority vira a câmera ao vivo, e o Brain faz o blend até ela usando o Default Blend ou um blend personalizado. Ativar e desativar o GameObject da câmera também funciona.
CinemachineVirtualCamera não existe mais?
No Cinemachine 3 ela foi substituída pela CinemachineCamera, e o namespace passou a ser Unity.Cinemachine. Transposer virou CinemachineFollow, Framing Transposer virou CinemachinePositionComposer e Composer virou CinemachineRotationComposer. O pacote traz um upgrader que converte objetos antigos.


