Pular para o conteúdo
AstraDOCS

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

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.

Na Unity, o conceito mais próximo está em Physics.Raycast. 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.

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.

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

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.

  • Linha: Adicione uma Linha a este objeto: o laser desenha por ela

Nenhuma regra adicional declarada no schema deste componente.

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.

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
Alcance
max_length
número · m 20 0.01 … 10000
Repetições por metro
texture_tiling
número · /m 1 0 … 100
Ativo
enabled
booleano verdadeiro verdadeiro | falso
Frente
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.

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.

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.

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.

Propriedade Tipo / unidade Padrão Domínio
Afastamento do impacto
hit_offset
número · m 0 -10 … 10
Impacto alinhado ao laser
align_hit
booleano falso verdadeiro | falso
Efeito de impacto
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.

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.

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.

Objetos, Behaviors e composição. 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.

  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.

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.