--- title: "Câmera" version: snapshot-2026-10-28 engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-28 appRelease: "0.4.0-preview.20261028" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-28/componentes/astra-camera/ --- # Câmera Projeção e enquadramento **Família:** Câmera · **Grupo:** Projeção · **Identificador:** `astra.camera` · **Payload:** 5 :::note[Escopo da evidência] Este contrato foi extraído dos descritores compilados da engine, incluindo padrões resolvidos. A presença do contrato não substitui a validação do comportamento em um aparelho. ::: ## Para que usar Câmera como a da URP: lente (inclusive câmera física), fundo, Culling Mask, pós, sombras, HDR, antisserrilhado por câmera, Máscara de volume e Viewport Rect para tela dividida. Selecione a câmera › Inspector: Lente, Renderização, Ambiente e Saída. A tag MainCamera marca a câmera do jogo (Camera.main). Para tela dividida, duas câmeras com Viewport diferentes e Prioridades distintas. ## Vindo de outra engine Na Unity, o conceito mais próximo está em [Camera](https://docs.unity3d.com/6000.0/Documentation/Manual/class-Camera.html). A Astra estudou essa referência; os campos e o comportamento são os desta página, sem paridade garantida. Palavras que a busca de Adicionar componente aceita: `Camera`, `Camera3D`, `Perspectiva`, `Ortografica`. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Câmera** / **Projeção** → **Câmera**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.Camera](/pt-br/snapshot-2026-10-28/api/astra-components-camera/). Várias câmeras desenham da menor para a maior prioridade; uma de tela inteira que limpa o fundo esconde as de baixo. Até duas visíveis ao mesmo tempo, e a de cima sai sem sombras e sem TAA. **Guia relacionado:** [Céu, luz e materiais](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#céu-luz-e-materiais) ## Exemplo de uso Câmera física: ligue, Distância focal 85 mm, sensor 36×24 mm, Ajuste Vertical: o campo de visão sai da focal. Fundo Cor sólida preta e Culling Mask sem a camada Casas mostram só os personagens. ## Dependências Nenhuma regra adicional declarada no schema deste componente. ## Conflitos Nenhuma regra adicional declarada no schema deste componente. ## Edição e ciclo de vida | Operação | Contrato | |---|---| | Adicionar/remover em Play | ponto seguro | | Alterar propriedades em Play | ponto seguro | | Múltiplas instâncias | Não | | Versão do payload | 5 | Alterações em ponto seguro são aplicadas entre passos da simulação. Um componente exigido por outro não pode ser removido enquanto a dependência existir. Salvar a cena autoral e modificar o mundo de Play são operações distintas; veja [Play e cena autoral](/pt-br/snapshot-2026-10-06/conceitos/play-e-cena-autoral/). ## Propriedades Valores abaixo são resolvidos pelo descritor de um componente recém-criado. Campos por slot dependem dos recursos atribuídos. Um campo sem padrão significa que o descritor não fornece um valor independente de contexto. ### Lente | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Campo vertical**](#field-vertical-fov)
`vertical_fov` | número · ° | 60 | 1 … 170 | | [**Próximo**](#field-near-plane)
`near_plane` | número · m | 0.1 | 0.001 … 10000 | | [**Distante**](#field-far-plane)
`far_plane` | número · m | 2000 | 0.01 … 1000000 | | [**Meia altura**](#field-orthographic-half-height)
`orthographic_half_height` | número · m | 5 | 0.001 … 100000 | | [**Distância focal**](#field-focal-length)
`focal_length` | número · mm | 20.784609 | 0.1 … 1000 | | [**Sensor · largura**](#field-sensor-width)
`sensor_width` | número · mm | 36 | 0.1 … 100 | | [**Sensor · altura**](#field-sensor-height)
`sensor_height` | número · mm | 24 | 0.1 … 100 | | [**Câmera física**](#field-physical-camera)
`physical_camera` | booleano | falso | verdadeiro \| falso | | [**Projeção**](#field-projection)
`projection` | enumeração | Perspectiva | Perspectiva \| Ortográfica | | [**Ajuste do sensor**](#field-gate-fit)
`gate_fit` | enumeração | Horizontal | Vertical \| Horizontal \| Preencher \| Sobrevarredura \| Nenhum (esticar) |

Campo vertical · vertical_fov

**Onde:** Inspector → **Câmera** → **Lente** → **Campo vertical**. **Uso e efeito:** Campo de visão vertical da perspectiva, em graus. **Valor:** 60 · **Tipo:** número · **Unidade:** ° · **Domínio:** 1 … 170. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Próximo · near_plane

**Onde:** Inspector → **Câmera** → **Lente** → **Próximo**. **Uso e efeito:** Plano de corte próximo; valor exageradamente baixo reduz precisão de depth. **Valor:** 0.1 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.001 … 10000.

Distante · far_plane

**Onde:** Inspector → **Câmera** → **Lente** → **Distante**. **Uso e efeito:** Plano de corte distante; objetos além ficam cortados. **Valor:** 2000 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 1000000.

Meia altura · orthographic_half_height

**Onde:** Inspector → **Câmera** → **Lente** → **Meia altura**. **Uso e efeito:** Metade da altura visível. Zoom altera esta extensão. **Valor:** 5 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.001 … 100000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade.

Distância focal · focal_length

**Onde:** Inspector → **Câmera** → **Lente** → **Distância focal**. **Uso e efeito:** Com o sensor, define o campo de visão (Physical Camera) **Valor:** 20.784609 · **Tipo:** número · **Unidade:** mm · **Domínio:** 0.1 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade. Sem deslocamento de lente, abertura, ISO ou obturador Capacidade necessária: `render.camera.physical`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Sensor · largura · sensor_width

**Onde:** Inspector → **Câmera** → **Lente** → **Sensor · largura**. **Uso e efeito:** Padrão 36 × 24 mm (full frame) **Valor:** 36 · **Tipo:** número · **Unidade:** mm · **Domínio:** 0.1 … 100. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Sem deslocamento de lente, abertura, ISO ou obturador Capacidade necessária: `render.camera.physical`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Sensor · altura · sensor_height

**Onde:** Inspector → **Câmera** → **Lente** → **Sensor · altura**. **Uso e efeito:** Altura do sensor da câmera física, em mm (Full Frame: 24). Com a focal, define o campo vertical. **Valor:** 24 · **Tipo:** número · **Unidade:** mm · **Domínio:** 0.1 … 100. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Sem deslocamento de lente, abertura, ISO ou obturador Capacidade necessária: `render.camera.physical`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Câmera física · physical_camera

**Onde:** Inspector → **Câmera** → **Lente** → **Câmera física**. **Uso e efeito:** Lente por distância focal e sensor, como uma câmera real **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Sem deslocamento de lente, abertura, ISO ou obturador Capacidade necessária: `render.camera.physical`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Projeção · projection

**Onde:** Inspector → **Câmera** → **Lente** → **Projeção**. **Uso e efeito:** Seleciona perspectiva ou ortográfica. **Valor:** Perspectiva · **Tipo:** enumeração · **Domínio:** Perspectiva \| Ortográfica.

Ajuste do sensor · gate_fit

**Onde:** Inspector → **Câmera** → **Lente** → **Ajuste do sensor**. **Uso e efeito:** Como o sensor encaixa na proporção da tela (Gate Fit) **Valor:** Horizontal · **Tipo:** enumeração · **Domínio:** Vertical \| Horizontal \| Preencher \| Sobrevarredura \| Nenhum (esticar). Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Sem deslocamento de lente, abertura, ISO ou obturador Capacidade necessária: `render.camera.physical`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Renderização | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Prioridade**](#field-priority)
`priority` | número | 0 | -10000 … 10000 | | [**Pós-processamento**](#field-post-processing)
`post_processing` | booleano | verdadeiro | verdadeiro \| falso | | [**Renderizar sombras**](#field-render-shadows)
`render_shadows` | booleano | verdadeiro | verdadeiro \| falso | | [**Camadas visíveis**](#field-culling-mask)
`culling_mask` | enumeração | Tudo | máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31 | | [**Antisserrilhado**](#field-antialiasing)
`antialiasing` | enumeração | Do projeto | Do projeto \| Nenhum \| FXAA |

Prioridade · priority

**Onde:** Inspector → **Câmera** → **Renderização** → **Prioridade**. **Uso e efeito:** Ordem de desenho (Depth): a maior fica por cima; empate pelo objeto mais novo **Valor:** 0 · **Tipo:** número · **Domínio:** -10000 … 10000. Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA Capacidade necessária: `render.camera.viewport`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Pós-processamento · post_processing

**Onde:** Inspector → **Câmera** → **Renderização** → **Pós-processamento**. **Uso e efeito:** Bloom, gradação, vinheta e exposição automática dos volumes **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. TAA por câmera só quando o projeto já aloca o histórico Capacidade necessária: `render.camera.post`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Renderizar sombras · render_shadows

**Onde:** Inspector → **Câmera** → **Renderização** → **Renderizar sombras**. **Uso e efeito:** Sombras do sol e das luzes locais nesta câmera **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. TAA por câmera só quando o projeto já aloca o histórico Capacidade necessária: `render.camera.post`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Camadas visíveis · culling_mask

**Onde:** Inspector → **Câmera** → **Renderização** → **Camadas visíveis**. **Uso e efeito:** Culling Mask: só objetos destas camadas aparecem nesta câmera **Valor:** Tudo · **Tipo:** enumeração · **Domínio:** máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31. Esconde o desenho e a sombra do objeto nesta câmera; luzes ainda não filtram por camada Capacidade necessária: `render.camera.culling_mask`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Antisserrilhado · antialiasing

**Onde:** Inspector → **Câmera** → **Renderização** → **Antisserrilhado**. **Uso e efeito:** Do projeto usa a política de qualidade; TAA só quando o projeto já usa TAA **Valor:** Do projeto · **Tipo:** enumeração · **Domínio:** Do projeto \| Nenhum \| FXAA. TAA por câmera só quando o projeto já aloca o histórico Capacidade necessária: `render.camera.post`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Saída | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Viewport X**](#field-viewport-x)
`viewport_x` | número | 0 | 0 … 1 | | [**Viewport Y**](#field-viewport-y)
`viewport_y` | número | 0 | 0 … 1 | | [**Viewport L**](#field-viewport-width)
`viewport_width` | número | 1 | 0 … 1 | | [**Viewport A**](#field-viewport-height)
`viewport_height` | número | 1 | 0 … 1 | | [**Usar no Play**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso | | [**HDR**](#field-hdr)
`hdr` | booleano | verdadeiro | verdadeiro \| falso |

Viewport X · viewport_x

**Onde:** Inspector → **Câmera** → **Saída** → **Viewport X**. **Uso e efeito:** Fração da tela a partir da esquerda **Valor:** 0 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade. Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA Capacidade necessária: `render.camera.viewport`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Viewport Y · viewport_y

**Onde:** Inspector → **Câmera** → **Saída** → **Viewport Y**. **Uso e efeito:** Fração da tela a partir de baixo **Valor:** 0 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade. Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA Capacidade necessária: `render.camera.viewport`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Viewport L · viewport_width

**Onde:** Inspector → **Câmera** → **Saída** → **Viewport L**. **Uso e efeito:** Largura em fração da tela **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade. Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA Capacidade necessária: `render.camera.viewport`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Viewport A · viewport_height

**Onde:** Inspector → **Câmera** → **Saída** → **Viewport A**. **Uso e efeito:** Altura em fração da tela **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade. Até duas câmeras visíveis ao mesmo tempo; a de cima sai sem sombras e sem TAA Capacidade necessária: `render.camera.viewport`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Usar no Play · enabled

**Onde:** Inspector → **Câmera** → **Saída** → **Usar no Play**. **Uso e efeito:** Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.

HDR · hdr

**Onde:** Inspector → **Câmera** → **Saída** → **HDR**. **Uso e efeito:** Desligado, a cena é tonalizada no próprio shader e nada passa de 1 antes do pós **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. TAA por câmera só quando o projeto já aloca o histórico Capacidade necessária: `render.camera.post`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Ambiente | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Fundo R**](#field-background-color-r)
`background_color.r` | número | 0.0307 | 0 … 1 | | [**Fundo G**](#field-background-color-g)
`background_color.g` | número | 0.0742 | 0 … 1 | | [**Fundo B**](#field-background-color-b)
`background_color.b` | número | 0.1912 | 0 … 1 | | [**Máscara de volume**](#field-environment-mask)
`environment_mask` | enumeração | Tudo | máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31 | | [**Fundo**](#field-background-type)
`background_type` | enumeração | Céu (Skybox) | Céu (Skybox) \| Cor sólida \| Não inicializado |

Fundo R · background_color.r

**Onde:** Inspector → **Câmera** → **Ambiente** → **Fundo R**. **Uso e efeito:** Canal vermelho da cor de fundo quando Fundo = Cor sólida. **Valor:** 0.0307 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade. Capacidade necessária: `render.camera.background`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Fundo G · background_color.g

**Onde:** Inspector → **Câmera** → **Ambiente** → **Fundo G**. **Uso e efeito:** Canal verde da cor de fundo quando Fundo = Cor sólida. **Valor:** 0.0742 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade. Capacidade necessária: `render.camera.background`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Fundo B · background_color.b

**Onde:** Inspector → **Câmera** → **Ambiente** → **Fundo B**. **Uso e efeito:** Canal azul da cor de fundo quando Fundo = Cor sólida. **Valor:** 0.1912 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Aceita tween numérico via contrato de propriedade. Capacidade necessária: `render.camera.background`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Máscara de volume · environment_mask

**Onde:** Inspector → **Câmera** → **Ambiente** → **Máscara de volume**. **Uso e efeito:** Volume Mask: só volumes em objetos destas camadas afetam esta câmera **Valor:** Tudo · **Tipo:** enumeração · **Domínio:** máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 + Camada 8 + Camada 9 + Camada 10 + Camada 11 + Camada 12 + Camada 13 + Camada 14 + Camada 15 + Camada 16 + Camada 17 + Camada 18 + Camada 19 + Camada 20 + Camada 21 + Camada 22 + Camada 23 + Camada 24 + Camada 25 + Camada 26 + Camada 27 + Camada 28 + Camada 29 + Camada 30 + Camada 31. Volume Profile compartilhado (Novo/Clonar), override por parâmetro com ALL/NONE, Volume Mask por camada de objeto; sem Volume Trigger nem Mesh Collider como forma Capacidade necessária: `render.environment.volumes`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Fundo · background_type

**Onde:** Inspector → **Câmera** → **Ambiente** → **Fundo**. **Uso e efeito:** O que preenche a tela antes da cena (Background Type) **Valor:** Céu (Skybox) · **Tipo:** enumeração · **Domínio:** Céu (Skybox) \| Cor sólida \| Não inicializado. Capacidade necessária: `render.camera.background`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ## Roadmap deste componente [Câmera e navegação](/pt-br/snapshot-2026-10-06/roadmap/camera-e-navegacao/). Presente na 0.4.0. Camera Stack (Overlay), Target Texture, MSAA e deslocamento de lente não existem. Os campos acima pertencem ao contrato existente; novas funções dependem do fechamento da família. Não há datas individuais prometidas para cada propriedade. ## Conferir na sua cena 1. Crie **Câmera** pelo fluxo indicado e resolva as dependências. 2. Altere uma propriedade por vez e observe o efeito esperado na cena. 3. Salve, reabra e confira os valores autorais. 4. Entre em Play e verifique o comportamento com os recursos reais do projeto. 5. Pare o Play e confira a cena autoral. Este é um roteiro de conferência; não representa um teste executado nesta publicação. ## Limitações da referência A tabela cobre os tipos de propriedade disponíveis no descritor de reflexão. Não presume persistência de campos transitórios, equivalência com outras engines ou suporte em todos os aparelhos. Recursos, coleções e operações podem exigir APIs específicas. **Referência de arquitetura registrada pela engine:** [documentação oficial](https://docs.unity3d.com/6000.0/Documentation/Manual/class-Camera.html). Essa referência não representa paridade funcional.