Pular para o conteúdo
AstraDOCS

Corpo físico

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

Massa e resposta física

Família: Física 3D · Grupo: Corpos · Identificador: astra.physics.body · Payload: 8

Massa e resposta física

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 / Corpos → Corpo físico.

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

Material físico é um recurso .physmat, separado do material visual. No seletor, crie com os valores do corpo; compartilhar um recurso compartilha futuras edições. Centro de massa/inércia manuais requerem os modos automáticos desligados. Materiais e sensores.

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: Incompatível com personagem cápsula
Operação Contrato
Adicionar/remover em Play não permitido
Alterar propriedades em Play ponto seguro
Múltiplas instâncias Não
Versão do payload 8

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
Material físico · material Inspector → Corpo físico → Material physics_material Recurso compartilhado; escolher copia atrito, restituição, combinação e superfície para este corpo
Propriedade Tipo / unidade Padrão Domínio
Massa kg
mass
número · kg 1 0.01 … 1000000
Sensor sem resposta
sensor
booleano falso verdadeiro | falso
Permitir repouso
allow_sleep
booleano verdadeiro verdadeiro | falso
Monitorar
monitoring
booleano verdadeiro verdadeiro | falso
Detectável por sensores
monitorable
booleano verdadeiro verdadeiro | falso
Movimento
motion
enumeração Estático Estático | Cinemático | Dinâmico

Massa kg · mass

Onde: Inspector → Corpo físico → Corpo → Massa kg.

Uso e efeito: Massa do corpo dinâmico em kg; influencia resposta a força/impulso.

Valor: 1 · Tipo: número · Unidade: kg · Domínio: 0.01 … 1000000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Sensor sem resposta · sensor

Onde: Inspector → Corpo físico → Corpo → Sensor sem resposta.

Uso e efeito: Participa como sensor/sobreposição; não é uma superfície sólida de contato.

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

Permitir repouso · allow_sleep

Onde: Inspector → Corpo físico → Corpo → Permitir repouso.

Uso e efeito: Permite dormir quando o corpo pode ficar em repouso.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Monitorar · monitoring

Onde: Inspector → Corpo físico → Corpo → Monitorar.

Uso e efeito: Permite publicar eventos deste sensor. Desligado não significa desativar o collider visual ou outro sensor.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Detectável por sensores · monitorable

Onde: Inspector → Corpo físico → Corpo → Detectável por sensores.

Uso e efeito: Permite que outros sensores detectem este corpo pelo filtro. É independente de Monitorar os próprios eventos.

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

Movimento · motion

Onde: Inspector → Corpo físico → Corpo → Movimento.

Uso e efeito: Escolhe autoridade estática/cinemática/dinâmica no domínio do corpo.

Valor: Estático · Tipo: enumeração · Domínio: Estático | Cinemático | Dinâmico.

Propriedade Tipo / unidade Padrão Domínio
Atrito
friction
número 0.5 0 … 1
Restituição
restitution
número 0 0 … 1
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 → Corpo físico → Material → Atrito.

Uso e efeito: Atrito nos contatos; compare deslizamento com o mesmo par de superfícies.

Valor: 0.5 · Tipo: número · Domínio: 0 … 1.

Restituição · restitution

Onde: Inspector → Corpo físico → 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.

Combinar atrito · friction_combine

Onde: Inspector → Corpo físico → 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 → Corpo físico → 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 → Corpo físico → 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
Velocidade inicial X
velocity_x
número · m/s 0 -1000 … 1000
Velocidade inicial Y
velocity_y
número · m/s 0 -1000 … 1000
Velocidade inicial Z
velocity_z
número · m/s 0 -1000 … 1000
Giro inicial X · rad/s
angular_x
número · rad/s 0 -1000 … 1000
Giro inicial Y · rad/s
angular_y
número · rad/s 0 -1000 … 1000
Giro inicial Z · rad/s
angular_z
número · rad/s 0 -1000 … 1000

Velocidade inicial X · velocity_x

Onde: Inspector → Corpo físico → Início → Velocidade inicial X.

Uso e efeito: Velocidade linear inicial/autorada do corpo, eixo X.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Velocidade inicial Y · velocity_y

Onde: Inspector → Corpo físico → Início → Velocidade inicial Y.

Uso e efeito: Velocidade linear inicial/autorada do corpo, eixo Y.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Velocidade inicial Z · velocity_z

Onde: Inspector → Corpo físico → Início → Velocidade inicial Z.

Uso e efeito: Velocidade linear inicial/autorada do corpo, eixo Z.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Giro inicial X · rad/s · angular_x

Onde: Inspector → Corpo físico → Início → Giro inicial X · rad/s.

Uso e efeito: Velocidade angular do corpo, eixo X.

Valor: 0 · Tipo: número · Unidade: rad/s · Domínio: -1000 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Giro inicial Y · rad/s · angular_y

Onde: Inspector → Corpo físico → Início → Giro inicial Y · rad/s.

Uso e efeito: Velocidade angular do corpo, eixo Y.

Valor: 0 · Tipo: número · Unidade: rad/s · Domínio: -1000 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Giro inicial Z · rad/s · angular_z

Onde: Inspector → Corpo físico → Início → Giro inicial Z · rad/s.

Uso e efeito: Velocidade angular do corpo, eixo Z.

Valor: 0 · Tipo: número · Unidade: rad/s · Domínio: -1000 … 1000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Propriedade Tipo / unidade Padrão Domínio
Amortecimento linear
linear_damping
número 0.05 0 … 10
Amortecimento angular
angular_damping
número 0.05 0 … 10
Multiplicador da gravidade
gravity_factor
número 1 -100 … 100

Amortecimento linear · linear_damping

Onde: Inspector → Corpo físico → Amortecimento → Amortecimento linear.

Uso e efeito: Amortecimento de velocidade linear.

Valor: 0.05 · Tipo: número · Domínio: 0 … 10.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Amortecimento angular · angular_damping

Onde: Inspector → Corpo físico → Amortecimento → Amortecimento angular.

Uso e efeito: Amortecimento de velocidade angular.

Valor: 0.05 · Tipo: número · Domínio: 0 … 10.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Multiplicador da gravidade · gravity_factor

Onde: Inspector → Corpo físico → Amortecimento → Multiplicador da gravidade.

Uso e efeito: Multiplica gravidade mundial deste corpo 3D.

Valor: 1 · Tipo: número · Domínio: -100 … 100.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Propriedade Tipo / unidade Padrão Domínio
Limite linear
max_linear_velocity
número · m/s 500 0.001 … 100000
Limite angular
max_angular_velocity
número · rad/s 47.12389 0.001 … 100000
Iterações de velocidade
solver_velocity_steps
número 0 0 … 255
Colisão contínua
continuous_collision
booleano falso verdadeiro | falso
Interpolação
interpolation
enumeração Nenhuma Nenhuma | Interpolar | Extrapolar

Limite linear · max_linear_velocity

Onde: Inspector → Corpo físico → Simulação → Limite linear.

Uso e efeito: Limite de velocidade linear do corpo.

Valor: 500 · Tipo: número · Unidade: m/s · Domínio: 0.001 … 100000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Limite angular · max_angular_velocity

Onde: Inspector → Corpo físico → Simulação → Limite angular.

Uso e efeito: Limite de velocidade angular do corpo.

Valor: 47.12389 · Tipo: número · Unidade: rad/s · Domínio: 0.001 … 100000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Iterações de velocidade · solver_velocity_steps

Onde: Inspector → Corpo físico → Simulação → Iterações de velocidade.

Uso e efeito: 0 usa as iterações do mundo; aumenta custo por ilha de contato

Valor: 0 · Tipo: número · Domínio: 0 … 255.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Colisão contínua · continuous_collision

Onde: Inspector → Corpo físico → Simulação → Colisão contínua.

Uso e efeito: Varredura linear Jolt; não detecta varredura apenas angular

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Interpolação · interpolation

Onde: Inspector → Corpo físico → Simulação → Interpolação.

Uso e efeito: Política de suavização visual entre passos físicos; não aumenta a frequência do solver nem muda a trajetória física.

Valor: Nenhuma · Tipo: enumeração · Domínio: Nenhuma | Interpolar | Extrapolar.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Propriedade Tipo / unidade Padrão Domínio
Centro de massa X
center_of_mass_x
número · m 0 -1000 … 1000
Centro de massa Y
center_of_mass_y
número · m 0 -1000 … 1000
Centro de massa Z
center_of_mass_z
número · m 0 -1000 … 1000
Inércia X
inertia_x
número · kg·m² 1 0.000001 … 1000000
Inércia Y
inertia_y
número · kg·m² 1 0.000001 … 1000000
Inércia Z
inertia_z
número · kg·m² 1 0.000001 … 1000000
Centro de massa automático
automatic_center_of_mass
booleano verdadeiro verdadeiro | falso
Inércia automática
automatic_inertia
booleano verdadeiro verdadeiro | falso

Centro de massa X · center_of_mass_x

Onde: Inspector → Corpo físico → Massa → Centro de massa X.

Uso e efeito: Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Centro de massa Y · center_of_mass_y

Onde: Inspector → Corpo físico → Massa → Centro de massa Y.

Uso e efeito: Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Centro de massa Z · center_of_mass_z

Onde: Inspector → Corpo físico → Massa → Centro de massa Z.

Uso e efeito: Coordenada local em metros do centro de massa manual. Desligue cálculo automático; muda a resposta de rotação física, não desloca a malha visual.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Inércia X · inertia_x

Onde: Inspector → Corpo físico → Massa → Inércia X.

Uso e efeito: Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.

Valor: 1 · Tipo: número · Unidade: kg·m² · Domínio: 0.000001 … 1000000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Inércia Y · inertia_y

Onde: Inspector → Corpo físico → Massa → Inércia Y.

Uso e efeito: Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.

Valor: 1 · Tipo: número · Unidade: kg·m² · Domínio: 0.000001 … 1000000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Inércia Z · inertia_z

Onde: Inspector → Corpo físico → Massa → Inércia Z.

Uso e efeito: Componente diagonal da inércia manual, usada com cálculo automático desligado. Valores válidos afetam resistência à rotação; compare com a massa e forma reais.

Valor: 1 · Tipo: número · Unidade: kg·m² · Domínio: 0.000001 … 1000000.

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Centro de massa automático · automatic_center_of_mass

Onde: Inspector → Corpo físico → Massa → Centro de massa automático.

Uso e efeito: Ligado calcula centro de massa da composição física; desligue para usar as coordenadas manuais.

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Inércia automática · automatic_inertia

Onde: Inspector → Corpo físico → Massa → Inércia automática.

Uso e efeito: Ligado calcula inércia; desligue para usar os valores manuais e conferir resposta de rotação.

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
Travar posição X
freeze_position_x
booleano falso verdadeiro | falso
Travar posição Y
freeze_position_y
booleano falso verdadeiro | falso
Travar posição Z
freeze_position_z
booleano falso verdadeiro | falso
Travar rotação X
freeze_rotation_x
booleano falso verdadeiro | falso
Travar rotação Y
freeze_rotation_y
booleano falso verdadeiro | falso
Travar rotação Z
freeze_rotation_z
booleano falso verdadeiro | falso

Travar posição X · freeze_position_x

Onde: Inspector → Corpo físico → Restrições → Travar posição X.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Travar posição Y · freeze_position_y

Onde: Inspector → Corpo físico → Restrições → Travar posição Y.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Travar posição Z · freeze_position_z

Onde: Inspector → Corpo físico → Restrições → Travar posição Z.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Travar rotação X · freeze_rotation_x

Onde: Inspector → Corpo físico → Restrições → Travar rotação X.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Travar rotação Y · freeze_rotation_y

Onde: Inspector → Corpo físico → Restrições → Travar rotação Y.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Travar rotação Z · freeze_rotation_z

Onde: Inspector → Corpo físico → Restrições → Travar rotação Z.

Uso e efeito: Eixos do mundo; bloquear todos exige corpo estático

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

Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

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 Corpo físico 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.