Corpo físico
Massa e resposta física
Família: Física 3D · Grupo: Corpos · Identificador: astra.physics.body · Payload: 8
Para que usar
Seção intitulada “Para que usar”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.
Criar e configurar
Seção intitulada “Criar e configurar”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.
Exemplo de uso
Seção intitulada “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
Seção intitulada “Dependências”Nenhuma regra adicional declarada no schema deste componente.
Conflitos
Seção intitulada “Conflitos”- Personagem: Incompatível com personagem cápsula
Edição e ciclo de vida
Seção intitulada “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 | 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.
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 |
|---|---|---|---|
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 kgmass |
número · kg | 1 | 0.01 … 1000000 |
Sensor sem respostasensor |
booleano | falso | verdadeiro | falso |
Permitir repousoallow_sleep |
booleano | verdadeiro | verdadeiro | falso |
Monitorarmonitoring |
booleano | verdadeiro | verdadeiro | falso |
Detectável por sensoresmonitorable |
booleano | verdadeiro | verdadeiro | falso |
Movimentomotion |
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.
Material
Seção intitulada “Material”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Atritofriction |
número | 0.5 | 0 … 1 |
Restituiçãorestitution |
número | 0 | 0 … 1 |
Combinar atritofriction_combine |
enumeração | Padrão do motor | Padrão do motor | Média | Mínimo | Multiplicar | Máximo |
Combinar restituiçãorestitution_combine |
enumeração | Padrão do motor | Padrão do motor | Média | Mínimo | Multiplicar | Máximo |
Superfíciesurface |
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 Xvelocity_x |
número · m/s | 0 | -1000 … 1000 |
Velocidade inicial Yvelocity_y |
número · m/s | 0 | -1000 … 1000 |
Velocidade inicial Zvelocity_z |
número · m/s | 0 | -1000 … 1000 |
Giro inicial X · rad/sangular_x |
número · rad/s | 0 | -1000 … 1000 |
Giro inicial Y · rad/sangular_y |
número · rad/s | 0 | -1000 … 1000 |
Giro inicial Z · rad/sangular_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.
Amortecimento
Seção intitulada “Amortecimento”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Amortecimento linearlinear_damping |
número | 0.05 | 0 … 10 |
Amortecimento angularangular_damping |
número | 0.05 | 0 … 10 |
Multiplicador da gravidadegravity_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.
Simulação
Seção intitulada “Simulação”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Limite linearmax_linear_velocity |
número · m/s | 500 | 0.001 … 100000 |
Limite angularmax_angular_velocity |
número · rad/s | 47.12389 | 0.001 … 100000 |
Iterações de velocidadesolver_velocity_steps |
número | 0 | 0 … 255 |
Colisão contínuacontinuous_collision |
booleano | falso | verdadeiro | falso |
Interpolaçãointerpolation |
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 Xcenter_of_mass_x |
número · m | 0 | -1000 … 1000 |
Centro de massa Ycenter_of_mass_y |
número · m | 0 | -1000 … 1000 |
Centro de massa Zcenter_of_mass_z |
número · m | 0 | -1000 … 1000 |
Inércia Xinertia_x |
número · kg·m² | 1 | 0.000001 … 1000000 |
Inércia Yinertia_y |
número · kg·m² | 1 | 0.000001 … 1000000 |
Inércia Zinertia_z |
número · kg·m² | 1 | 0.000001 … 1000000 |
Centro de massa automáticoautomatic_center_of_mass |
booleano | verdadeiro | verdadeiro | falso |
Inércia automáticaautomatic_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.
Restrições
Seção intitulada “Restrições”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Travar posição Xfreeze_position_x |
booleano | falso | verdadeiro | falso |
Travar posição Yfreeze_position_y |
booleano | falso | verdadeiro | falso |
Travar posição Zfreeze_position_z |
booleano | falso | verdadeiro | falso |
Travar rotação Xfreeze_rotation_x |
booleano | falso | verdadeiro | falso |
Travar rotação Yfreeze_rotation_y |
booleano | falso | verdadeiro | falso |
Travar rotação Zfreeze_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.
Roadmap deste componente
Seção intitulada “Roadmap deste componente”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.
Conferir na sua cena
Seção intitulada “Conferir na sua cena”- Crie Corpo físico 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.