---
title: "Laser"
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-effects-laser/
---
# Laser
Raio da frente do objeto até o primeiro colisor, desenhado pela Linha, com impacto no ponto
**Família:** Efeitos · **Grupo:** Comportamentos · **Identificador:** `astra.effects.laser` · **Payload:** 1
:::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
Lança um raio da frente do objeto até o primeiro colisor e desenha-o pela Linha do mesmo objeto, com um efeito de impacto no ponto. Converte o script de laser dos pacotes de efeitos.
No objeto com Linha, adicione Laser. Defina Alcance, Frente (+Z da Astra ou o eixo do pacote) e escolha o Efeito de impacto (um objeto filho com partículas). Repetições por metro faz a textura não esticar com o comprimento.
## Vindo de outra engine
Na Unity, o conceito mais próximo está em [Physics.Raycast](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Physics.Raycast.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: `Laser`, `Beam`, `Raio`, `Feixe`, `Raycast`, `LineRenderer`.
## Criar e configurar
Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Laser**.
O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.Laser](/pt-br/snapshot-2026-10-28/api/astra-components-laser/).
Afastamento do impacto recua o efeito da superfície para não entrar na parede. Sem colisor no alcance, a linha vai até o Alcance e o impacto some.
**Guia relacionado:** [Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes)
## Exemplo de uso
Numa arma com Linha aditiva vermelha, Laser com Alcance 20 e Efeito de impacto num filho Faíscas: apontando para uma parede a 6 m, a linha para na parede e as faíscas nascem no ponto, viradas para fora com Impacto alinhado ao laser.
## Dependências
- [Linha](/pt-br/snapshot-2026-10-28/componentes/astra-render-line/): Adicione uma Linha a este objeto: o laser desenha por ela
## 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 | 1 |
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.
### Laser
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Alcance**](#field-max-length)
`max_length` | número · m | 20 | 0.01 … 10000 |
| [**Repetições por metro**](#field-texture-tiling)
`texture_tiling` | número · /m | 1 | 0 … 100 |
| [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso |
| [**Frente**](#field-forward-axis)
`forward_axis` | enumeração | +Z (Astra) | +Z (Astra) \| −Z (Unity) |
Alcance · max_length
**Onde:** Inspector → **Laser** → **Laser** → **Alcance**.
**Uso e efeito:** Distância máxima do raio; sem acerto, a linha termina aqui
**Valor:** 20 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 10000.
Aceita tween numérico via contrato de propriedade. Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
Repetições por metro · texture_tiling
**Onde:** Inspector → **Laser** → **Laser** → **Repetições por metro**.
**Uso e efeito:** Quantas vezes a imagem da Linha se repete por metro de raio (zero estica)
**Valor:** 1 · **Tipo:** número · **Unidade:** /m · **Domínio:** 0 … 100.
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
Ativo · enabled
**Onde:** Inspector → **Laser** → **Laser** → **Ativo**.
**Uso e efeito:** Desligado, a linha e o impacto param de seguir o raio
**Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
Frente · forward_axis
**Onde:** Inspector → **Laser** → **Laser** → **Frente**.
**Uso e efeito:** +Z é a frente da Astra; −Z é a frente de um efeito importado da Unity
**Valor:** +Z (Astra) · **Tipo:** enumeração · **Domínio:** +Z (Astra) \| −Z (Unity).
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
### Impacto
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Afastamento do impacto**](#field-hit-offset)
`hit_offset` | número · m | 0 | -10 … 10 |
| [**Impacto alinhado ao laser**](#field-align-hit)
`align_hit` | booleano | falso | verdadeiro \| falso |
| [**Efeito de impacto**](#field-hit-effect)
`hit_effect` | referência | Nenhum | qualquer objeto · outro objeto |
Afastamento do impacto · hit_offset
**Onde:** Inspector → **Laser** → **Impacto** → **Afastamento do impacto**.
**Uso e efeito:** O impacto fica esta distância para fora da superfície
**Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -10 … 10.
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
Impacto alinhado ao laser · align_hit
**Onde:** Inspector → **Laser** → **Impacto** → **Impacto alinhado ao laser**.
**Uso e efeito:** O impacto gira com o laser; desligado, encara a superfície atingida
**Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
Efeito de impacto · hit_effect
**Onde:** Inspector → **Laser** → **Impacto** → **Efeito de impacto**.
**Uso e efeito:** Objeto levado ao ponto atingido; as partículas dele tocam enquanto o raio acerta algo
**Valor:** Nenhum · **Tipo:** referência · **Domínio:** qualquer objeto · outro objeto.
Em Play: raio da física pela frente do objeto até o Alcance, Linha do objeto do início ao ponto, efeito de impacto levado ao ponto e partículas dele tocando só com acerto Capacidade necessária: `render.effects.laser`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).
## Roadmap deste componente
[Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Presente na 0.4.0. Filtro por camada e reflexo em espelho 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 **Laser** 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/ScriptReference/Physics.Raycast.html). Essa referência não representa paridade funcional.