Pular para o conteúdo
AstraDOCS

Colisor 3D

Astra 0.2.3-preview.20261007Conferido em fonteReferência revisada · 07 out. 2026

Volume de contato

Família: Física 3D · Grupo: Formas · Identificador: astra.physics.collider · Payload: 9

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.

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.

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.

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.

Nenhuma regra adicional declarada no schema deste componente.

  • Personagem: O personagem já possui cápsula própria
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.

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
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
Propriedade Tipo / unidade Padrão Domínio
Meia extensão X
half_x
número 0.5 0.01 … 10000
Meia extensão Y
half_y
número 0.5 0.01 … 10000
Meia extensão Z
half_z
número 0.5 0.01 … 10000
Raio
radius
número 0.5 0.01 … 10000
Meia altura cilíndrica
half_height
número 0.5 0.01 … 10000
Convexo
convex
booleano falso verdadeiro | falso
Pose local da malha
mesh_local_pose
booleano falso verdadeiro | falso
Forma
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.

Propriedade Tipo / unidade Padrão Domínio
Centro X
center_x
número 0 -10000000 … 10000000
Centro Y
center_y
número 0 -10000000 … 10000000
Centro Z
center_z
número 0 -10000000 … 10000000
Rotação local X
rotation_x
número · ° 0 -10000000 … 10000000
Rotação local Y
rotation_y
número · ° 0 -10000000 … 10000000
Rotação local 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.

Propriedade Tipo / unidade Padrão Domínio
Tolerância do casco
hull_tolerance
número · u 0.001 0.00001 … 1
Ângulo de aresta ativa
active_edge_angle
número · ° 5 0 … 90
Soldar vértices iguais
weld_vertices
booleano verdadeiro verdadeiro | falso
Otimizar para o jogo
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.

Propriedade Tipo / unidade Padrão Domínio
Atrito
friction
número 0.5 0 … 1
Restituição
restitution
número 0 0 … 1
Material próprio
own_material
booleano falso verdadeiro | falso
Combinar atrito
friction_combine
enumeração Padrão do motor Padrão do motor | Média | Mínimo | Multiplicar | Máximo
Combinar restituição
restitution_combine
enumeração Padrão do motor Padrão do motor | Média | Mínimo | Multiplicar | Máximo
Superfície
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.

Propriedade Tipo / unidade Padrão Domínio
Ativo
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.

Propriedade Tipo / unidade Padrão Domínio
Corpo proprietário
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.

Física 3D e motores. 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.

  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.

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.

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