--- title: "Colisor 3D" version: snapshot-2026-10-07 engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-07 appRelease: "0.2.3-preview.20261007" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-07/componentes/astra-physics-collider/ --- # Colisor 3D Volume de contato **Família:** Física 3D · **Grupo:** Formas · **Identificador:** `astra.physics.collider` · **Payload:** 9 :::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 Volume de contato Resolva Corpo físico, Colisor e autoridade de pose antes de aplicar forças, motores ou juntas. Corpo dinâmico recebe forças; sensor emite sobreposição. Character e Motor dinâmico têm contratos próprios. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Física 3D** / **Formas** → **Colisor 3D**. O schema permite múltiplas instâncias no mesmo objeto; identifique a instância antes de editar ou remover. A fachada C# correspondente é [Astra.Components.Collider](/pt-br/snapshot-2026-10-07/api/astra-components-collider/). Material próprio diferencia esta forma do material do corpo. Desligado, usa o corpo. Recurso .physmat também abre em Propriedades pelo navegador de arquivos. [Materiais por forma](/pt-br/snapshot-2026-10-06/versoes/preview-2026-10-07/#material-físico-por-corpo-e-por-forma). ## Exemplo de uso Crie chão estático e um corpo dinâmico com colisor. Compare queda, massa, atrito e restituição. Para sensor, conecte TriggerEnter a um Behavior como no HUD de corações. ## Dependências Nenhuma regra adicional declarada no schema deste componente. ## Conflitos - [Personagem](/pt-br/snapshot-2026-10-07/componentes/astra-physics-character/): O personagem já possui cápsula própria ## Edição e ciclo de vida | Operação | Contrato | |---|---| | Adicionar/remover em Play | não permitido | | Alterar propriedades em Play | ponto seguro | | Múltiplas instâncias | Sim | | Versão do payload | 9 | 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 | |---|---|---|---| | **Malha de colisão** · `collision_mesh` | Inspector → Colisor 3D → Forma | mesh | Vazio usa a malha visual; escolha uma malha simplificada para a física Pode herdar da fonte; herdar e limpar são estados diferentes. | | **Material físico** · `material` | Inspector → Colisor 3D → Material | physics_material | Recurso compartilhado; escolher copia atrito, restituição, combinação e superfície para esta forma | ### Forma | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Meia extensão X**](#field-half-x)
`half_x` | número | 0.5 | 0.01 … 10000 | | [**Meia extensão Y**](#field-half-y)
`half_y` | número | 0.5 | 0.01 … 10000 | | [**Meia extensão Z**](#field-half-z)
`half_z` | número | 0.5 | 0.01 … 10000 | | [**Raio**](#field-radius)
`radius` | número | 0.5 | 0.01 … 10000 | | [**Meia altura cilíndrica**](#field-half-height)
`half_height` | número | 0.5 | 0.01 … 10000 | | [**Convexo**](#field-convex)
`convex` | booleano | falso | verdadeiro \| falso | | [**Pose local da malha**](#field-mesh-local-pose)
`mesh_local_pose` | booleano | falso | verdadeiro \| falso | | [**Forma**](#field-shape)
`shape` | enumeração | Caixa | Caixa \| Esfera \| Cápsula \| Malha \| Cilindro |

Meia extensão X · half_x

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Meia extensão X**. **Uso e efeito:** Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0.01 … 10000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Meia extensão Y · half_y

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Meia extensão Y**. **Uso e efeito:** Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0.01 … 10000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Meia extensão Z · half_z

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Meia extensão Z**. **Uso e efeito:** Meia extensão da caixa neste eixo, em metros. Uma extensão .5 representa tamanho total 1 nesse eixo. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0.01 … 10000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Raio · radius

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Raio**. **Uso e efeito:** Raio da forma/volume selecionado; confira o tipo e os campos condicionais. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0.01 … 10000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Meia altura cilíndrica · half_height

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Meia altura cilíndrica**. **Uso e efeito:** Meia dimensão da forma/volume no eixo indicado. Dimensão total é o dobro; aplica-se à forma selecionada. **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0.01 … 10000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Convexo · convex

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Convexo**. **Uso e efeito:** Casco convexo da malha: aceita corpo dinâmico. Desligado usa os triângulos exatos e só vale em corpo estático ou cinemático. **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Pose local da malha · mesh_local_pose

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Pose local da malha**. **Uso e efeito:** Aplica centro e rotação locais à geometria física; não altera a malha visual. Desligado mantém a pose legada do objeto. **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Forma · shape

**Onde:** Inspector → **Colisor 3D** → **Forma** → **Forma**. **Uso e efeito:** Escolhe a geometria do colisor/campo no domínio indicado; os campos relevantes mudam por forma. **Valor:** Caixa · **Tipo:** enumeração · **Domínio:** Caixa \| Esfera \| Cápsula \| Malha \| Cilindro. ### Pose | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Centro X**](#field-center-x)
`center_x` | número | 0 | -10000000 … 10000000 | | [**Centro Y**](#field-center-y)
`center_y` | número | 0 | -10000000 … 10000000 | | [**Centro Z**](#field-center-z)
`center_z` | número | 0 | -10000000 … 10000000 | | [**Rotação local X**](#field-rotation-x)
`rotation_x` | número · ° | 0 | -10000000 … 10000000 | | [**Rotação local Y**](#field-rotation-y)
`rotation_y` | número · ° | 0 | -10000000 … 10000000 | | [**Rotação local Z**](#field-rotation-z)
`rotation_z` | número · ° | 0 | -10000000 … 10000000 |

Centro X · center_x

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Centro X**. **Uso e efeito:** Centro local da forma de colisão, eixo X. **Valor:** 0 · **Tipo:** número · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Centro Y · center_y

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Centro Y**. **Uso e efeito:** Centro local da forma de colisão, eixo Y. **Valor:** 0 · **Tipo:** número · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Centro Z · center_z

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Centro Z**. **Uso e efeito:** Centro local da forma de colisão, eixo Z. **Valor:** 0 · **Tipo:** número · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Rotação local X · rotation_x

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Rotação local X**. **Uso e efeito:** Rotação autorada do sistema na unidade indicada, eixo X. **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Rotação local Y · rotation_y

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Rotação local Y**. **Uso e efeito:** Rotação autorada do sistema na unidade indicada, eixo Y. **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Rotação local Z · rotation_z

**Onde:** Inspector → **Colisor 3D** → **Pose** → **Rotação local Z**. **Uso e efeito:** Rotação autorada do sistema na unidade indicada, eixo Z. **Valor:** 0 · **Tipo:** número · **Unidade:** ° · **Domínio:** -10000000 … 10000000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. ### Cozimento | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Tolerância do casco**](#field-hull-tolerance)
`hull_tolerance` | número · u | 0.001 | 0.00001 … 1 | | [**Ângulo de aresta ativa**](#field-active-edge-angle)
`active_edge_angle` | número · ° | 5 | 0 … 90 | | [**Soldar vértices iguais**](#field-weld-vertices)
`weld_vertices` | booleano | verdadeiro | verdadeiro \| falso | | [**Otimizar para o jogo**](#field-optimize-cooking)
`optimize_cooking` | booleano | verdadeiro | verdadeiro \| falso |

Tolerância do casco · hull_tolerance

**Onde:** Inspector → **Colisor 3D** → **Cozimento** → **Tolerância do casco**. **Uso e efeito:** Pontos até esta distância podem ficar fora do casco; valores maiores geram cascos mais simples. **Valor:** 0.001 · **Tipo:** número · **Unidade:** u · **Domínio:** 0.00001 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Ângulo de aresta ativa · active_edge_angle

**Onde:** Inspector → **Colisor 3D** → **Cozimento** → **Ângulo de aresta ativa**. **Uso e efeito:** Separa arestas de contato em superfícies com mudança de normal acima deste ângulo. **Valor:** 5 · **Tipo:** número · **Unidade:** ° · **Domínio:** 0 … 90. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Soldar vértices iguais · weld_vertices

**Onde:** Inspector → **Colisor 3D** → **Cozimento** → **Soldar vértices iguais**. **Uso e efeito:** Compartilha vértices coincidentes antes de criar a malha física, reduzindo costuras internas. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Otimizar para o jogo · optimize_cooking

**Onde:** Inspector → **Colisor 3D** → **Cozimento** → **Otimizar para o jogo**. **Uso e efeito:** Constrói uma árvore de busca mais eficiente; desligue para cozinhar mais rápido durante iterações. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade. ### Material | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Atrito**](#field-friction)
`friction` | número | 0.5 | 0 … 1 | | [**Restituição**](#field-restitution)
`restitution` | número | 0 | 0 … 1 | | [**Material próprio**](#field-own-material)
`own_material` | booleano | falso | verdadeiro \| falso | | [**Combinar atrito**](#field-friction-combine)
`friction_combine` | enumeração | Padrão do motor | Padrão do motor \| Média \| Mínimo \| Multiplicar \| Máximo | | [**Combinar restituição**](#field-restitution-combine)
`restitution_combine` | enumeração | Padrão do motor | Padrão do motor \| Média \| Mínimo \| Multiplicar \| Máximo | | [**Superfície**](#field-surface)
`surface` | enumeração | Padrão | Padrão \| Concreto \| Madeira \| Metal \| Grama \| Terra \| Areia \| Água \| Gelo \| Borracha \| Vidro \| Tecido \| Pedra |

Atrito · friction

**Onde:** Inspector → **Colisor 3D** → **Material** → **Atrito**. **Uso e efeito:** Usado por esta forma quando Material próprio está ligado **Valor:** 0.5 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Restituição · restitution

**Onde:** Inspector → **Colisor 3D** → **Material** → **Restituição**. **Uso e efeito:** Restituição nos contatos; controla ressalto conforme a combinação física. **Valor:** 0 · **Tipo:** número · **Domínio:** 0 … 1. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Material próprio · own_material

**Onde:** Inspector → **Colisor 3D** → **Material** → **Material próprio**. **Uso e efeito:** Ligado usa material físico próprio desta forma. Desligado herda o do corpo. Não altera cor/textura. **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.

Combinar atrito · friction_combine

**Onde:** Inspector → **Colisor 3D** → **Material** → **Combinar atrito**. **Uso e efeito:** Política de combinar atrito do par. Padrão conserva a regra do motor; a precedência dos modos participa da escolha. **Valor:** Padrão do motor · **Tipo:** enumeração · **Domínio:** Padrão do motor \| Média \| Mínimo \| Multiplicar \| Máximo.

Combinar restituição · restitution_combine

**Onde:** Inspector → **Colisor 3D** → **Material** → **Combinar restituição**. **Uso e efeito:** Política de combinar restituição do par. Compare em uma queda controlada; não muda o material visual. **Valor:** Padrão do motor · **Tipo:** enumeração · **Domínio:** Padrão do motor \| Média \| Mínimo \| Multiplicar \| Máximo.

Superfície · surface

**Onde:** Inspector → **Colisor 3D** → **Material** → **Superfície**. **Uso e efeito:** Classificação da superfície para consumidores como regras de passos. Selecionar o valor não cria som ou Behavior automaticamente. **Valor:** Padrão · **Tipo:** enumeração · **Domínio:** Padrão \| Concreto \| Madeira \| Metal \| Grama \| Terra \| Areia \| Água \| Gelo \| Borracha \| Vidro \| Tecido \| Pedra. ### Geral | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso |

Ativo · enabled

**Onde:** Inspector → **Colisor 3D** → **Geral** → **Ativo**. **Uso e efeito:** Ativa/desativa a participação do componente no sistema consumidor; não remove seus dados. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. ### Vínculo | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Corpo proprietário**](#field-owner)
`owner` | referência | Neste objeto | astra.physics.body · neste objeto ou ancestral |

Corpo proprietário · owner

**Onde:** Inspector → **Colisor 3D** → **Vínculo** → **Corpo proprietário**. **Uso e efeito:** Escolhe o dono do corpo/forma no domínio do colisor. **Valor:** Neste objeto · **Tipo:** referência · **Domínio:** astra.physics.body · neste objeto ou ancestral. ## Roadmap deste componente [Física 3D e motores](/pt-br/snapshot-2026-10-06/roadmap/fisica-3d/). Ampliar autoria/rebuild, geometria e apoio dos motores, juntas e diagnóstico por cenário. Fechamento deve incluir salvar/reabrir, remoção e gameplay no aparelho. Importação universal de todas as formas e controles não está declarada pronta. 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 **Colisor 3D** 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/Manual/class-BoxCollider.html). Essa referência não representa paridade funcional. ## Eventos do componente No Behavior, a fachada permite inscrever um receptor usando o owner vivo; a inscrição pertence ao lifecycle daquela execução. Uma Conexão de evento precisa de emissor, evento, receptor e ação: adicionar a conexão não define a regra do jogo. | Evento / ID | Quando ocorre | Dados enviados | |---|---|---| | **Sensor: entrou** · `trigger_enter` | Outro corpo começou a sobrepor este sensor | Outro objeto: objeto | | **Sensor: saiu** · `trigger_exit` | Outro corpo deixou de sobrepor este sensor | Outro objeto: objeto | | **Colisão: começou** · `collision_enter` | Contato sólido começou; entregue aos dois objetos | Outro objeto: objeto | | **Colisão: terminou** · `collision_exit` | Contato sólido terminou; entregue aos dois objetos | Outro objeto: objeto | | **Sensor: dentro** · `trigger_stay` | Outro corpo continua sobrepondo este sensor; no máximo uma vez por quadro e par | Outro objeto: objeto |