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
Para que usar
Seção intitulada “Para que usar”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.
Vindo de outra engine
Seção intitulada “Vindo de outra engine”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.
Criar e configurar
Seção intitulada “Criar e configurar”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
Exemplo de uso
Seção intitulada “Exemplo de uso”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.
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 | 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.
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.
Recursos do projeto
Seção intitulada “Recursos do projeto”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 |
Projétil
Seção intitulada “Projétil”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Velocidadespeed |
número · m/s | 15 | 0 … 10000 |
Vidalifetime |
número · s | 5 | 0.05 … 3600 |
Raioradius |
número · m | 0.1 | 0 … 100 |
Ativoenabled |
booleano | verdadeiro | verdadeiro | falso |
Frenteforward_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.
Impacto
Seção intitulada “Impacto”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Afastamento do impactohit_offset |
número · m | 0 | -10 … 10 |
Giro do impacto Xrotation_offset_x |
número · ° | 0 | -360 … 360 |
Giro do impacto Yrotation_offset_y |
número · ° | 0 | -360 … 360 |
Giro do impacto Zrotation_offset_z |
número · ° | 0 | -360 … 360 |
Impacto virado para o atiradorface_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.
Ao acertar
Seção intitulada “Ao acertar”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Soltar 1detach_0 |
referência | Nenhum | qualquer objeto · abaixo deste objeto |
Soltar 2detach_1 |
referência | Nenhum | qualquer objeto · abaixo deste objeto |
Soltar 3detach_2 |
referência | Nenhum | qualquer objeto · abaixo deste objeto |
Soltar 4detach_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.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”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.
Conferir na sua cena
Seção intitulada “Conferir na sua cena”- Crie Projétil 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.