--- title: "Luz" 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-render-light/ --- # Luz Direcional, pontual ou spot **Família:** Luz · **Grupo:** Luzes · **Identificador:** `astra.render.light` · **Payload:** 4 :::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 Luz direcional, pontual ou spot, como o Light da Unity: modo Tempo real, Misto ou Assado, sombra configurada na própria luz, máscara de culling e camadas de renderização. Crie por + › Luzes. Em Sombra escolha Sem sombra, Dura ou Suave, a Força e os desvios. Modo Assado entra no lightmap e sai do tempo real quando houver lightmap; Misto assa só o rebote. Máscara de culling e Camadas de renderização escolhem o que a luz ilumina. ## Vindo de outra engine Na Unity, o conceito mais próximo está em [Light](https://docs.unity3d.com/6000.0/Documentation/Manual/class-Light.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: `Light`, `DirectionalLight3D`, `OmniLight3D`, `SpotLight3D`, `Point`, `Spot`, `Sol`. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Luz** / **Luzes** → **Luz**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.Light](/pt-br/snapshot-2026-10-28/api/astra-components-light/). A direcional mais brilhante (ou a Fonte do sol da Iluminação da cena) é o sol, com cascatas e disco no céu; as outras viram luzes adicionais sem sombra. Cada objeto soma até 8 luzes (4 no nível C). Ângulos do spot são a abertura total; a cor é sRGB. **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 Uma segunda direcional azulada, intensidade 0,3, sem sombra, ilumina o lado escuro das casas sem apagar o sol. Um poste com Modo Assado e sombra suave aparece no lightmap da praça e libera uma das luzes por objeto. ## 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 | 4 | 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. ### Emissão | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Cor R**](#field-color-r)
`color.r` | número | 1 | 0 … 1 | | [**Cor G**](#field-color-g)
`color.g` | número | 1 | 0 … 1 | | [**Cor B**](#field-color-b)
`color.b` | número | 1 | 0 … 1 | | [**Temperatura**](#field-color-temperature)
`color_temperature` | número · K | 6500 | 1667 … 25000 | | [**Intensidade**](#field-intensity)
`intensity` | número | 1000 | 0 … 1000000 | | [**Filtro por temperatura**](#field-use-color-temperature)
`use_color_temperature` | booleano | falso | verdadeiro \| falso | | [**Unidade**](#field-unit)
`unit` | enumeração | Lux / lúmen | Relativa (sem unidade) \| Lux / candela \| Lux / lúmen |

Cor R · color.r

**Onde:** Inspector → **Luz** → **Emissão** → **Cor R**. **Uso e efeito:** Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade.

Cor G · color.g

**Onde:** Inspector → **Luz** → **Emissão** → **Cor G**. **Uso e efeito:** Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade.

Cor B · color.b

**Onde:** Inspector → **Luz** → **Emissão** → **Cor B**. **Uso e efeito:** Componente sRGB, o mesmo número do seletor de cor; o motor converte para linear **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Aceita tween numérico via contrato de propriedade.

Temperatura · color_temperature

**Onde:** Inspector → **Luz** → **Emissão** → **Temperatura**. **Uso e efeito:** Multiplicada pela cor linear; D65 é 6500 K **Valor:** 6500 · **Tipo:** número · **Unidade:** K · **Domínio:** 1667 … 25000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Capacidade necessária: `render.light.temperature`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Intensidade · intensity

**Onde:** Inspector → **Luz** → **Emissão** → **Intensidade**. **Uso e efeito:** Energia da luz na unidade selecionada; compare com distância/alcance constantes. **Valor:** 1000 · **Tipo:** número · **Domínio:** 0 … 1000000. Aceita tween numérico via contrato de propriedade.

Filtro por temperatura · use_color_temperature

**Onde:** Inspector → **Luz** → **Emissão** → **Filtro por temperatura**. **Uso e efeito:** Multiplica a cor pela temperatura de corpo negro **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Capacidade necessária: `render.light.temperature`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Unidade · unit

**Onde:** Inspector → **Luz** → **Emissão** → **Unidade**. **Uso e efeito:** Relativa é a intensidade da URP; lux, candela e lúmen são as unidades físicas da HDRP **Valor:** Lux / lúmen · **Tipo:** enumeração · **Domínio:** Relativa (sem unidade) \| Lux / candela \| Lux / lúmen. Capacidade necessária: `render.light.photometric`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Volume | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Alcance**](#field-range)
`range` | número · m | 10 | 0.01 … 1000 | | [**Ângulo do spot**](#field-spot-angle)
`spot_angle` | número · ° | 30 | 1 … 179 | | [**Ângulo interno do spot**](#field-inner-spot-angle)
`inner_spot_angle` | número · ° | 21.799999 | 0 … 179 |

Alcance · range

**Onde:** Inspector → **Luz** → **Volume** → **Alcance**. **Uso e efeito:** Alcance de contribuição da luz pontual/spot. **Valor:** 10 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Ângulo do spot · spot_angle

**Onde:** Inspector → **Luz** → **Volume** → **Ângulo do spot**. **Uso e efeito:** Abertura total do cone (Spot Angle); a luz zera na borda **Valor:** 30 · **Tipo:** número · **Unidade:** ° · **Domínio:** 1 … 179. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Capacidade necessária: `render.light.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Ângulo interno do spot · inner_spot_angle

**Onde:** Inspector → **Luz** → **Volume** → **Ângulo interno do spot**. **Uso e efeito:** Abertura total do miolo com intensidade plena (Inner Spot Angle) **Valor:** 21.799999 · **Tipo:** número · **Unidade:** ° · **Domínio:** 0 … 179. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Capacidade necessária: `render.light.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Sombra | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Força da sombra**](#field-shadow-strength)
`shadow_strength` | número | 1 | 0 … 1 | | [**Desvio**](#field-shadow-bias)
`shadow_bias` | número · texel | 0.05 | 0 … 2 | | [**Desvio na normal**](#field-shadow-normal-bias)
`shadow_normal_bias` | número · texel | 0.4 | 0 … 2 | | [**Plano próximo da sombra**](#field-shadow-near-plane)
`shadow_near_plane` | número · m | 0.2 | 0.01 … 10 | | [**Tipo de sombra**](#field-shadow-mode)
`shadow_mode` | enumeração | Sem sombra | Sem sombra \| Sombra dura \| Sombra suave | | [**Resolução da sombra**](#field-shadow-resolution)
`shadow_resolution` | enumeração | Automática | Automática \| Baixa \| Média \| Alta \| Muito alta |

Força da sombra · shadow_strength

**Onde:** Inspector → **Luz** → **Sombra** → **Força da sombra**. **Uso e efeito:** 1 é sombra opaca; abaixo disso a luz vaza pelo oclusor **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Desvio · shadow_bias

**Onde:** Inspector → **Luz** → **Sombra** → **Desvio**. **Uso e efeito:** Afasta a comparação de profundidade e some com a acne; 0,05 é o desvio da política do aparelho **Valor:** 0.05 · **Tipo:** número · **Unidade:** texel · **Domínio:** 0 … 2. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Desvio na normal · shadow_normal_bias

**Onde:** Inspector → **Luz** → **Sombra** → **Desvio na normal**. **Uso e efeito:** Desloca a amostra ao longo da normal; 0,4 é o deslocamento da política do aparelho **Valor:** 0.4 · **Tipo:** número · **Unidade:** texel · **Domínio:** 0 … 2. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Plano próximo da sombra · shadow_near_plane

**Onde:** Inspector → **Luz** → **Sombra** → **Plano próximo da sombra**. **Uso e efeito:** Perto demais perde precisão; longe demais corta o que está junto da lâmpada **Valor:** 0.2 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 10. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Tipo de sombra · shadow_mode

**Onde:** Inspector → **Luz** → **Sombra** → **Tipo de sombra**. **Uso e efeito:** Dura usa uma busca; suave filtra a borda. A política do aparelho pode desligar a sombra **Valor:** Sem sombra · **Tipo:** enumeração · **Domínio:** Sem sombra \| Sombra dura \| Sombra suave. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Resolução da sombra · shadow_resolution

**Onde:** Inspector → **Luz** → **Sombra** → **Resolução da sombra**. **Uso e efeito:** Automática escolhe pelo tamanho da luz na tela **Valor:** Automática · **Tipo:** enumeração · **Domínio:** Automática \| Baixa \| Média \| Alta \| Muito alta. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. Atlas em quadtree: spot ocupa um mapa, pontual seis faces Capacidade necessária: `render.shadow.punctual`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Geral | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Acesa**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso | | [**Tipo**](#field-kind)
`kind` | enumeração | Pontual | Direcional \| Pontual \| Spot | | [**Modo**](#field-mode)
`mode` | enumeração | Tempo real | Tempo real \| Misto \| Assado |

Acesa · enabled

**Onde:** Inspector → **Luz** → **Geral** → **Acesa**. **Uso e efeito:** Ativa a contribuição desta luz **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.

Tipo · kind

**Onde:** Inspector → **Luz** → **Geral** → **Tipo**. **Uso e efeito:** Direcional ilumina a cena inteira numa direção; pontual e spot partem de um ponto **Valor:** Pontual · **Tipo:** enumeração · **Domínio:** Direcional \| Pontual \| Spot.

Modo · mode

**Onde:** Inspector → **Luz** → **Geral** → **Modo**. **Uso e efeito:** Tempo real ilumina a cada quadro; Misto assa só o rebote; Assado grava luz e rebote no lightmap **Valor:** Tempo real · **Tipo:** enumeração · **Domínio:** Tempo real \| Misto \| Assado. Assado: direta e rebote no lightmap; Misto: só o rebote; o sol da Hora do dia fica sempre em tempo real Capacidade necessária: `render.light.baked`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Renderização | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Máscara de culling**](#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 | | [**Camadas de renderização**](#field-rendering-layers)
`rendering_layers` | enumeração | Padrão | máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7 |

Máscara de culling · culling_mask

**Onde:** Inspector → **Luz** → **Renderização** → **Máscara de culling**. **Uso e efeito:** Camadas de objeto que esta luz ilumina **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. Capacidade necessária: `render.light.layers`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Camadas de renderização · rendering_layers

**Onde:** Inspector → **Luz** → **Renderização** → **Camadas de renderização**. **Uso e efeito:** Ilumina só renderers com uma camada de renderização em comum **Valor:** Padrão · **Tipo:** enumeração · **Domínio:** máscara: Padrão + Camada 1 + Camada 2 + Camada 3 + Camada 4 + Camada 5 + Camada 6 + Camada 7. Capacidade necessária: `render.light.layers`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ## Roadmap deste componente [Renderização e materiais](/pt-br/snapshot-2026-10-06/roadmap/renderizacao-e-materiais/). Presente na 0.4.0. Cookie e luz de Área 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 **Luz** 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-Light.html). Essa referência não representa paridade funcional.