Câmera Ortográfica vs Perspectiva na Unity: Quando Usar

Unity orthographic camera ou perspectiva? Como escolher pelo gênero do jogo, o que o Orthographic Size significa e a conta que liga câmera, PPU e resolução.
Câmera Ortográfica vs Perspectiva na Unity: Quando Usar
Na Unity, a câmera ortográfica (orthographic camera) mostra o mundo sem profundidade visual: um objeto tem o mesmo tamanho na tela esteja perto ou longe. A perspectiva imita o olho, e o que está longe fica menor. Para jogo 2D, isométrico e quase todo jogo em pixel art, use ortográfica. Para jogo 3D em primeira ou terceira pessoa, use perspectiva. A troca fica no Inspector da câmera, no campo Projection.
O resto deste post é sobre o que vem depois da escolha: o que o número do Orthographic Size significa, a conta que liga esse número ao Pixels Per Unit e à resolução, como o Field of View muda a sensação do jogo, qual câmera cada gênero pede e os erros clássicos de sprite sumindo e zoom que não funciona. Tudo vale para o Unity 6.3 LTS.
Diferença entre câmera ortográfica e perspectiva na Unity
Pense no volume que a câmera enxerga.
- Na perspectiva, esse volume é uma pirâmide cortada (o frustum): estreita perto da câmera, larga longe. Um cubo de 1 metro a 5 metros ocupa muito mais tela que o mesmo cubo a 50 metros. Linhas paralelas convergem para pontos de fuga.
- Na ortográfica, o volume é uma caixa. Perto ou longe, o cubo tem o mesmo tamanho. Linhas paralelas continuam paralelas.
No Inspector da Camera (em projeto URP, o componente aparece com seções como Projection, Rendering e Output), o campo Projection tem as duas opções: Perspective e Orthographic. Cada uma mostra campos diferentes:
- Perspective: Field of View (com Field of View Axis, vertical ou horizontal), opção de Physical Camera e Clipping Planes.
- Orthographic: Size e Clipping Planes.
Por código, as propriedades são Camera.orthographic (bool), Camera.orthographicSize (float) e Camera.fieldOfView (float, em graus, no eixo vertical).
A escolha não é técnica, é de linguagem visual. O post de arte 2D ou 3D para jogo indie discute a decisão de estilo que vem antes desta.
Orthographic Size: o que o número significa na prática
O Orthographic Size é metade da altura visível, em unidades do mundo. Size 5 mostra 10 unidades de altura. A largura vem da proporção da tela: altura visível vezes camera.aspect. Em 16:9, Size 5 mostra cerca de 17,8 unidades de largura; em 4:3, 13,3.
Repare: o Size fixa a altura. Em telas mais largas, o jogador vê mais mundo dos lados. Se o seu jogo depende de mostrar exatamente a mesma área em qualquer tela, você precisa tratar isso (barras laterais ou ajuste do Size pela largura).
Agora, a conta que junta câmera, arte e tela. Num jogo em pixel art:
Orthographic Size = altura da resolução de referência / (2 x Pixels Per Unit)
Com resolução de referência 320x180 e PPU 16: 180 / 32 = 5,625. Com 640x360 e PPU 32: 360 / 64 = 5,625 também. Com essa conta, um pixel da arte é exatamente um pixel da resolução de referência, e o resto é escala inteira na tela.
Arquivo CameraMath.cs, para conferir os números no Console:
using UnityEngine;
[RequireComponent(typeof(Camera))]
public class CameraMath : MonoBehaviour
{
[SerializeField] private int referenceHeightPixels = 180;
[SerializeField] private int pixelsPerUnit = 16;
[SerializeField] private float distanceToCheck = 10f;
private void Start()
{
Camera cam = GetComponent<Camera>();
if (cam.orthographic)
{
float visibleHeight = cam.orthographicSize * 2f;
float visibleWidth = visibleHeight * cam.aspect;
float idealSize = referenceHeightPixels / (2f * pixelsPerUnit);
Debug.Log($"Ortográfica: {visibleWidth:F2} x {visibleHeight:F2} unidades visíveis.");
Debug.Log($"Size ideal para {referenceHeightPixels}px e PPU {pixelsPerUnit}: {idealSize:F3}");
}
else
{
float visibleHeight = 2f * distanceToCheck * Mathf.Tan(cam.fieldOfView * 0.5f * Mathf.Deg2Rad);
float visibleWidth = visibleHeight * cam.aspect;
Debug.Log($"Perspectiva: a {distanceToCheck} unidades, {visibleWidth:F2} x {visibleHeight:F2} unidades visíveis.");
}
}
}
A fórmula da perspectiva mostra por que ela não tem um "tamanho" fixo: a área visível depende da distância. A 10 unidades com FOV 60, a câmera vê cerca de 11,5 unidades de altura; a 20 unidades, o dobro.
Se você só quer que o tamanho fique certo sem pensar nisso, a Pixel Perfect Camera do URP calcula o Size sozinha a partir do PPU e da resolução de referência.
Field of View na perspectiva e a sensação de profundidade
O Field of View é o ângulo de abertura da câmera. O padrão da Unity é 60 graus, medido na vertical. O que ele muda na sensação:
- FOV baixo (30 a 45): efeito de teleobjetiva. A profundidade "achata", o fundo parece perto do personagem. Bom para câmera de terceira pessoa distante e para cenas mais cinematográficas.
- FOV médio (55 a 70): neutro. A maioria dos jogos em terceira pessoa fica aqui.
- FOV alto (80 a 100, medido na horizontal em muitos jogos de PC): grande angular. Muita visão periférica, sensação de velocidade, distorção nas bordas. Comum em FPS.
Atenção a um detalhe: jogos de PC costumam expor o FOV horizontal no menu, e a Unity usa o vertical por padrão. 90 graus horizontais em 16:9 correspondem a cerca de 59 graus verticais. O campo Field of View Axis permite trabalhar na horizontal no Inspector, e Camera.HorizontalToVerticalFieldOfView faz a conversão por código.
Na ortográfica, nada disso existe. Mexer no FOV com a câmera em Orthographic não muda nada, e é uma das dúvidas mais comuns de quem está começando.
Qual escolher por gênero: 2D, isométrico, 2.5D e 3D
Plataforma 2D, top-down 2D, puzzle 2D: ortográfica. Sprites com tamanho constante, pixel perfect possível, colisão e posição batem com o que você vê. É a recomendação padrão, e o post de melhor engine para jogos 2D parte desse modelo.
Isométrico: ortográfica. A projeção isométrica de jogo é, por definição, sem ponto de fuga. Duas formas:
- Arte 2D isométrica: Tilemap com Grid em layout Isometric ou Isometric Z as Y, câmera ortográfica normal. Ajuste a ordem de desenho (Transparency Sort Mode com eixo customizado) para o que está mais "embaixo" na tela ficar na frente.
- Modelos 3D com visual isométrico: câmera ortográfica girada, por exemplo 30 graus em X e 45 graus em Y.
2.5D (modelos 3D, jogabilidade num plano): as duas servem. Perspectiva dá profundidade natural ao cenário e é o padrão de plataformas 2.5D com modelos 3D. Ortográfica deixa o visual mais "diorama" e facilita alinhar a jogabilidade.
3D em primeira ou terceira pessoa, corrida, ação: perspectiva. Ortográfica em 3D livre deixa impossível julgar distância.
Estratégia e simulação vistos de cima: depende. Muitos usam perspectiva com FOV baixo e câmera alta, que fica parecido com isométrico mas mantém a sensação de profundidade.
Escolher a câmera é rápido. Construir em volta dela (movimento que respeita a câmera, UI que se adapta à tela, fase que cabe no enquadramento) é o que transforma um protótipo num jogo. Se você quer ver essas decisões encadeadas num projeto real, o curso de Unity é o caminho organizado.
Parallax e profundidade: o que cada câmera permite
Parallax é o efeito de camadas de fundo andando mais devagar que a frente, que dá profundidade a jogo 2D.
Com perspectiva, ele vem de graça: coloque as montanhas em Z = 50, as árvores em Z = 10 e o jogador em Z = 0. Ao mover a câmera, o que está longe anda menos na tela. A contrapartida: o tamanho aparente de cada camada depende da distância, e você precisa escalar a arte para compensar. Pixel perfect fica praticamente impossível nas camadas de fundo.
Com ortográfica, Z não muda nada na tela. O parallax é feito por script: cada camada se move uma fração do movimento da câmera (fundo distante com 0,1, intermediário com 0,5). Mais trabalho, controle total e compatível com pixel perfect.
Na ortográfica, Z continua servindo para ordem de desenho em alguns casos, mas em 2D a ordem é decidida principalmente por Sorting Layer e Order in Layer do Sprite Renderer.
Erros comuns: sprites sumindo, zoom errado e clipping planes
Sprites sumindo. A câmera desenha só o que está entre o Near e o Far de Clipping Planes. Em 2D, a câmera fica em Z = -10 olhando para +Z. Um sprite em Z = -15 está atrás da câmera e some. Um sprite em Z = -9,8 está a 0,2 da câmera, mais perto que o Near padrão (0,3), e também some. Deixe todos os sprites em Z = 0 e controle a ordem pelo Sorting Layer.
Zoom que não funciona. Em ortográfica, aproximar a câmera no Z ou mudar o FOV não faz zoom. Zoom é orthographicSize. Em perspectiva, zoom é FOV ou distância.
Câmera "achatada" ou "esticada" em outra tela. O Size fixa a altura; telas ultrawide mostram mais dos lados. Se o enquadramento é importante, ajuste o Size pela largura ou use barras.
Sombras e objetos 3D cortados de perto. Near muito alto em perspectiva corta a arma em primeira pessoa; muito baixo (0,01) com Far alto (5000) causa z-fighting, faces piscando. Mantenha a razão Far/Near razoável.
Mistura das duas. UI e minimapa podem ter câmera própria ortográfica sobre uma câmera principal em perspectiva. No URP, isso se faz com Camera Stack (câmera Base mais câmeras Overlay).
Próximo passo: Pixel Perfect ou Cinemachine
Se o jogo é 2D em pixel art, o próximo passo é travar a escala com a Pixel Perfect Camera. Se é 2D com arte em alta resolução ou 3D, o próximo passo é fazer a câmera seguir o jogador com dead zone e limite, e aí entra o Cinemachine. Antes disso, rode o CameraMath.cs com as duas projeções na mesma cena e veja os números mudando: depois de entender a conta, a escolha da câmera deixa de ser tentativa e erro.
Perguntas frequentes
O que é o Orthographic Size da câmera na Unity?
É metade da altura da área visível, em unidades do mundo. Com Size 5, a câmera mostra 10 unidades de altura. A largura depende da proporção da tela: em 16:9, essas 10 unidades de altura viram cerca de 17,8 de largura.
Jogo 2D na Unity precisa ser com câmera ortográfica?
Quase sempre é a melhor escolha, porque mantém o tamanho dos sprites igual em qualquer profundidade e facilita o pixel perfect. Mas um jogo 2D com camadas de cenário pode usar perspectiva para ter parallax automático pela distância em Z, aceitando que o tamanho dos objetos muda com a profundidade.
Por que mudar o Field of View não faz nada na minha câmera?
Porque a câmera está em Orthographic. O Field of View só existe na projeção em perspectiva. Na ortográfica, o zoom é o Orthographic Size, e afastar a câmera no eixo Z também não muda o tamanho do que aparece.
Qual câmera usar em jogo isométrico na Unity?
Ortográfica. A projeção isométrica clássica não tem ponto de fuga, então objetos do mesmo tamanho aparecem iguais em qualquer ponto do mapa. Em 3D, gire a câmera ortográfica (por exemplo, 30 graus em X e 45 em Y); em 2D, use Tilemap isométrico com câmera ortográfica normal.


