Pular para o conteúdo
AstraDOCS

Projétil

Anda pela frente; no primeiro acerto cria o impacto, solta os rastros e some

Família: Efeitos · Grupo: Comportamentos · Identificador: astra.effects.projectile · Payload: 1

Move o objeto para a frente; no primeiro acerto cria o Impacto, solta os rastros configurados e some. Converte o script de projétil dos pacotes de efeitos.

Adicione ao objeto do projétil. Defina Velocidade, Vida e Raio do teste de acerto, escolha os recursos Impacto e Disparo (prefabs) e, em Soltar 1..4, os filhos de rastro que devem continuar no mundo depois do acerto.

Na Unity, o conceito mais próximo está em Collider.OnCollisionEnter. 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: Projectile, ProjectileMover, Bala, Tiro, Magia, Bola, de, fogo.

Hierarquia → selecione o objeto → Inspector → Adicionar componente → Efeitos / Comportamentos → Projétil.

O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é Astra.Components.Projectile.

Impacto virado para o atirador orienta o efeito de volta para quem atirou; Giro do impacto corrige prefabs modelados em outro eixo. Disparo é criado na origem quando o projétil nasce.

Guia relacionado: Importação de pacotes

Bola de fogo: Velocidade 15 m/s, Vida 5 s, Raio 0,1; Impacto = prefab de explosão; Soltar 1 = filho Trilha. Instanciada pelo script a 1 m à frente do jogador, ela anda, acerta a parede, cria a explosão no ponto e a trilha se desfaz sozinha.

Nenhuma regra adicional declarada no schema deste componente.

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.

Estes seletores ficam no componente e não entram na contagem dos campos numéricos. Use recursos registrados do projeto; nome ou caminho externo não substitui uma referência válida.

Recurso Onde Tipo Uso
Impacto · impact Inspector → Projétil → Ao acertar prefab Prefab criado no ponto do acerto e destruído quando as partículas dele terminam
Disparo · muzzle Inspector → Projétil → Projétil prefab Prefab criado na saída (clarão do disparo) e destruído quando termina
Propriedade Tipo / unidade Padrão Domínio
Velocidade
speed
número · m/s 15 0 … 10000
Vida
lifetime
número · s 5 0.05 … 3600
Raio
radius
número · m 0.1 0 … 100
Ativo
enabled
booleano verdadeiro verdadeiro | falso
Frente
forward_axis
enumeração +Z (Astra) +Z (Astra) | −Z (Unity)

Velocidade · speed

Onde: Inspector → Projétil → Projétil → Velocidade.

Uso e efeito: Avança pela frente do objeto em Play

Valor: 15 · Tipo: número · Unidade: m/s · Domínio: 0 … 10000.

Aceita tween numérico via contrato de propriedade. Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Vida · lifetime

Onde: Inspector → Projétil → Projétil → Vida.

Uso e efeito: Destruído depois deste tempo mesmo sem acertar nada

Valor: 5 · Tipo: número · Unidade: s · Domínio: 0.05 … 3600.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Raio · radius

Onde: Inspector → Projétil → Projétil → Raio.

Uso e efeito: Raio da esfera que testa o acerto contra os colisores da cena

Valor: 0.1 · Tipo: número · Unidade: m · Domínio: 0 … 100.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Ativo · enabled

Onde: Inspector → Projétil → Projétil → Ativo.

Uso e efeito: Desligado, o projétil para onde está

Valor: verdadeiro · Tipo: booleano · Domínio: verdadeiro | falso.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Frente · forward_axis

Onde: Inspector → Projétil → Projétil → 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: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Propriedade Tipo / unidade Padrão Domínio
Afastamento do impacto
hit_offset
número · m 0 -10 … 10
Giro do impacto X
rotation_offset_x
número · ° 0 -360 … 360
Giro do impacto Y
rotation_offset_y
número · ° 0 -360 … 360
Giro do impacto Z
rotation_offset_z
número · ° 0 -360 … 360
Impacto virado para o atirador
face_shooter
booleano falso verdadeiro | falso

Afastamento do impacto · hit_offset

Onde: Inspector → Projétil → Impacto → Afastamento do impacto.

Uso e efeito: O impacto nasce esta distância para fora da superfície

Valor: 0 · Tipo: número · Unidade: m · Domínio: -10 … 10.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Giro do impacto X · rotation_offset_x

Onde: Inspector → Projétil → Impacto → Giro do impacto X.

Uso e efeito: Diferente de zero, o impacto usa este giro fixo

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Giro do impacto Y · rotation_offset_y

Onde: Inspector → Projétil → Impacto → Giro do impacto Y.

Uso e efeito: Diferente de zero, o impacto usa este giro fixo

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Giro do impacto Z · rotation_offset_z

Onde: Inspector → Projétil → Impacto → Giro do impacto Z.

Uso e efeito: Diferente de zero, o impacto usa este giro fixo

Valor: 0 · Tipo: número · Unidade: ° · Domínio: -360 … 360.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Impacto virado para o atirador · face_shooter

Onde: Inspector → Projétil → Impacto → Impacto virado para o atirador.

Uso e efeito: O impacto gira com o projétil (meia-volta); desligado, encara a superfície

Valor: falso · Tipo: booleano · Domínio: verdadeiro | falso.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Propriedade Tipo / unidade Padrão Domínio
Soltar 1
detach_0
referência Nenhum qualquer objeto · abaixo deste objeto
Soltar 2
detach_1
referência Nenhum qualquer objeto · abaixo deste objeto
Soltar 3
detach_2
referência Nenhum qualquer objeto · abaixo deste objeto
Soltar 4
detach_3
referência Nenhum qualquer objeto · abaixo deste objeto

Soltar 1 · detach_0

Onde: Inspector → Projétil → Ao acertar → Soltar 1.

Uso e efeito: Filho que fica na cena quando o projétil some (rastro, fumaça)

Valor: Nenhum · Tipo: referência · Domínio: qualquer objeto · abaixo deste objeto.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Soltar 2 · detach_1

Onde: Inspector → Projétil → Ao acertar → Soltar 2.

Uso e efeito: Filho que fica na cena quando o projétil some (rastro, fumaça)

Valor: Nenhum · Tipo: referência · Domínio: qualquer objeto · abaixo deste objeto.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Soltar 3 · detach_2

Onde: Inspector → Projétil → Ao acertar → Soltar 3.

Uso e efeito: Filho que fica na cena quando o projétil some (rastro, fumaça)

Valor: Nenhum · Tipo: referência · Domínio: qualquer objeto · abaixo deste objeto.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Soltar 4 · detach_3

Onde: Inspector → Projétil → Ao acertar → Soltar 4.

Uso e efeito: Filho que fica na cena quando o projétil some (rastro, fumaça)

Valor: Nenhum · Tipo: referência · Domínio: qualquer objeto · abaixo deste objeto.

Em Play: avança pela frente com consulta esférica à física, cria Disparo e Impacto (prefabs destruídos ao fim das partículas), solta os filhos marcados e some; Vida máxima Capacidade necessária: render.effects.projectile; veja estado do renderer.

Objetos, Behaviors e composição. Presente na 0.4.0. Gravidade, ricochete e teleguiado 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 Projétil 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.