--- title: "Instanciar ao colidir" 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-collision-spawn/ --- # Instanciar ao colidir Cada toque de partícula cria um prefab no ponto (respingo, faísca, explosão) **Família:** Efeitos · **Grupo:** Comportamentos · **Identificador:** `astra.effects.collision_spawn` · **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 Cada toque de partícula do Sistema de partículas deste objeto cria um prefab no ponto: respingo, faísca, explosão. Equivale ao OnParticleCollision dos scripts dos pacotes. No objeto com Sistema de partículas e Colisão ligada, adicione Instanciar ao colidir e escolha os Efeitos. Defina Duração do efeito (quanto cada cópia vive) e Máximo por quadro. ## Vindo de outra engine Na Unity, o conceito mais próximo está em [MonoBehaviour.OnParticleCollision](https://docs.unity3d.com/6000.0/Documentation/ScriptReference/MonoBehaviour.OnParticleCollision.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: `OnParticleCollision`, `ParticleCollisionInstance`, `Impacto`, `Respingo`, `Colisao`, `Instanciar`. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Efeitos** / **Comportamentos** → **Instanciar ao colidir**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.ParticleCollisionSpawn](/pt-br/snapshot-2026-10-28/api/astra-components-particlecollisionspawn/). Solto na cena deixa as cópias no mundo em vez de filhas do emissor. Destruir este objeto remove o emissor no primeiro toque (projéteis de partícula). **Guia relacionado:** [Importação de pacotes](/pt-br/snapshot-2026-10-06/versoes/preview-0-4-0/#importação-de-pacotes) ## Exemplo de uso Chuva de meteoros com Colisão no plano do chão: Efeitos = prefab de explosão pequena, Duração 2 s, Máximo por quadro 4. Cada meteoro que toca o chão deixa uma explosão; Virado para o emissor orienta a explosão para cima. ## Dependências - [Sistema de partículas](/pt-br/snapshot-2026-10-28/componentes/astra-effects-particle-system/): Adicione um Sistema de partículas com Colisão a este objeto ## 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. ### 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 | |---|---|---|---| | **Efeitos** · `effects` | Inspector → Instanciar ao colidir → Ao colidir | prefab | Prefabs criados em cada toque de partícula | ### Ao colidir | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Duração do efeito**](#field-destroy-delay)
`destroy_delay` | número · s | 5 | 0.05 … 3600 | | [**Afastamento**](#field-offset)
`offset` | número · m | 0 | -10 … 10 | | [**Máximo por quadro**](#field-max-per-frame)
`max_per_frame` | número | 8 | 1 … 64 | | [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso | | [**Solto na cena**](#field-world-space)
`world_space` | booleano | falso | verdadeiro \| falso | | [**Destruir este objeto**](#field-destroy-emitter)
`destroy_emitter` | booleano | falso | verdadeiro \| falso |

Duração do efeito · destroy_delay

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Duração do efeito**. **Uso e efeito:** Cada efeito criado é destruído depois deste tempo **Valor:** 5 · **Tipo:** número · **Unidade:** s · **Domínio:** 0.05 … 3600. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Afastamento · offset

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Afastamento**. **Uso e efeito:** O efeito nasce esta distância para fora da superfície **Valor:** 0 · **Tipo:** número · **Unidade:** m · **Domínio:** -10 … 10. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Máximo por quadro · max_per_frame

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Máximo por quadro**. **Uso e efeito:** Teto de efeitos criados num quadro (chuva de toques não trava o aparelho) **Valor:** 8 · **Tipo:** número · **Domínio:** 1 … 64. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Ativo · enabled

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Ativo**. **Uso e efeito:** Desligado, os toques não criam nada **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Solto na cena · world_space

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Solto na cena**. **Uso e efeito:** O efeito criado fica na cena; desligado, vira filho deste objeto **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Destruir este objeto · destroy_emitter

**Onde:** Inspector → **Instanciar ao colidir** → **Ao colidir** → **Destruir este objeto**. **Uso e efeito:** Depois do primeiro toque, este objeto some meio segundo depois dos efeitos **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Giro | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Giro fixo X**](#field-rotation-offset-x)
`rotation_offset_x` | número · ° | 0 | -360 … 360 | | [**Giro fixo Y**](#field-rotation-offset-y)
`rotation_offset_y` | número · ° | 0 | -360 … 360 | | [**Giro fixo Z**](#field-rotation-offset-z)
`rotation_offset_z` | número · ° | 0 | -360 … 360 | | [**Virado para o emissor**](#field-face-emitter)
`face_emitter` | booleano | falso | verdadeiro \| falso | | [**Só o giro fixo**](#field-rotation-offset-only)
`rotation_offset_only` | booleano | verdadeiro | verdadeiro \| falso | | [**Frente dos efeitos**](#field-forward-axis)
`forward_axis` | enumeração | +Z (Astra) | +Z (Astra) \| −Z (Unity) |

Giro fixo X · rotation_offset_x

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Giro fixo X**. **Uso e efeito:** Giro do efeito criado **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -360 … 360. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Giro fixo Y · rotation_offset_y

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Giro fixo Y**. **Uso e efeito:** Giro do efeito criado **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -360 … 360. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Giro fixo Z · rotation_offset_z

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Giro fixo Z**. **Uso e efeito:** Giro do efeito criado **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -360 … 360. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Virado para o emissor · face_emitter

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Virado para o emissor**. **Uso e efeito:** O efeito olha para este objeto **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Só o giro fixo · rotation_offset_only

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Só o giro fixo**. **Uso e efeito:** Com giro fixo, usa só ele; desligado, soma o giro à direção da superfície **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Frente dos efeitos · forward_axis

**Onde:** Inspector → **Instanciar ao colidir** → **Giro** → **Frente dos efeitos**. **Uso e efeito:** Eixo que aponta para a superfície: +Z nos efeitos da Astra, −Z nos importados da Unity **Valor:** +Z (Astra) · **Tipo:** enumeração · **Domínio:** +Z (Astra) \| −Z (Unity). Em Play: cada toque de partícula (planos ou mundo) cria até 4 prefabs no ponto, soltos ou filhos, com giro fixo ou pela superfície, teto por quadro e duração Capacidade necessária: `render.effects.collision_spawn`; 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. Toques com a física da cena dependem da Colisão Mundo do Sistema de partículas. 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 **Instanciar ao colidir** 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/MonoBehaviour.OnParticleCollision.html). Essa referência não representa paridade funcional.