Câmera
Projeção e enquadramento
Família: Câmera · Grupo: Projeção · Identificador: astra.camera · Payload: 5
Para que usar
Seção intitulada “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
Seção intitulada “Vindo de outra engine”Na Unity, o conceito mais próximo está em Camera. 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
Seção intitulada “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.
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
Exemplo de uso
Seção intitulada “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
Seção intitulada “Dependências”Nenhuma regra adicional declarada no schema deste componente.
Conflitos
Seção intitulada “Conflitos”Nenhuma regra adicional declarada no schema deste componente.
Edição e ciclo de vida
Seção intitulada “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.
Propriedades
Seção intitulada “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.
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Campo verticalvertical_fov |
número · ° | 60 | 1 … 170 |
Próximonear_plane |
número · m | 0.1 | 0.001 … 10000 |
Distantefar_plane |
número · m | 2000 | 0.01 … 1000000 |
Meia alturaorthographic_half_height |
número · m | 5 | 0.001 … 100000 |
Distância focalfocal_length |
número · mm | 20.784609 | 0.1 … 1000 |
Sensor · largurasensor_width |
número · mm | 36 | 0.1 … 100 |
Sensor · alturasensor_height |
número · mm | 24 | 0.1 … 100 |
Câmera físicaphysical_camera |
booleano | falso | verdadeiro | falso |
Projeçãoprojection |
enumeração | Perspectiva | Perspectiva | Ortográfica |
Ajuste do sensorgate_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.
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.
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.
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.
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.
Renderização
Seção intitulada “Renderização”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Prioridadepriority |
número | 0 | -10000 … 10000 |
Pós-processamentopost_processing |
booleano | verdadeiro | verdadeiro | falso |
Renderizar sombrasrender_shadows |
booleano | verdadeiro | verdadeiro | falso |
Camadas visíveisculling_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 |
Antisserrilhadoantialiasing |
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.
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.
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.
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.
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.
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Viewport Xviewport_x |
número | 0 | 0 … 1 |
Viewport Yviewport_y |
número | 0 | 0 … 1 |
Viewport Lviewport_width |
número | 1 | 0 … 1 |
Viewport Aviewport_height |
número | 1 | 0 … 1 |
Usar no Playenabled |
booleano | verdadeiro | verdadeiro | falso |
HDRhdr |
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.
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.
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.
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.
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.
Ambiente
Seção intitulada “Ambiente”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Fundo Rbackground_color.r |
número | 0.0307 | 0 … 1 |
Fundo Gbackground_color.g |
número | 0.0742 | 0 … 1 |
Fundo Bbackground_color.b |
número | 0.1912 | 0 … 1 |
Máscara de volumeenvironment_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 |
Fundobackground_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.
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.
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.
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.
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.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”Câmera e navegação. 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
Seção intitulada “Conferir na sua cena”- Crie Câmera pelo fluxo indicado e resolva as dependências.
- Altere uma propriedade por vez e observe o efeito esperado na cena.
- Salve, reabra e confira os valores autorais.
- Entre em Play e verifique o comportamento com os recursos reais do projeto.
- 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
Seção intitulada “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. Essa referência não representa paridade funcional.