---
title: "Corpo físico"
version: snapshot-2026-10-06
engineGeneration: astra-current
language: C#
status: source-reviewed
runtimeVerified: false
platformEvidence: []
url: https://astraengine.com.br/pt-br/snapshot-2026-10-06/componentes/astra-physics-body/
---
# Corpo físico
Massa e resposta física
**Família:** Física 3D · **Grupo:** Corpos · **Identificador:** `astra.physics.body` · **Payload:** 4
:::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
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
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](/pt-br/snapshot-2026-10-06/api/astra-components-physicsbody/).
## 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-06/componentes/astra-physics-character/): Incompatível com personagem cápsula
## 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 | 4 |
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.
### Corpo
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Massa kg**](#field-mass)
`mass` | número · kg | 1 | 0.01 … 1000000 |
| [**Atrito**](#field-friction)
`friction` | número | 0.5 | 0 … 1 |
| [**Restituição**](#field-restitution)
`restitution` | número | 0 | 0 … 1 |
| [**Sensor sem resposta**](#field-sensor)
`sensor` | booleano | falso | verdadeiro \| falso |
| [**Permitir repouso**](#field-allow-sleep)
`allow_sleep` | booleano | verdadeiro | verdadeiro \| falso |
| [**Movimento**](#field-motion)
`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.
Atrito · friction
**Onde:** Inspector → **Corpo físico** → **Corpo** → **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** → **Corpo** → **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.
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.
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.
### Início
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Velocidade inicial X**](#field-velocity-x)
`velocity_x` | número · m/s | 0 | -1000 … 1000 |
| [**Velocidade inicial Y**](#field-velocity-y)
`velocity_y` | número · m/s | 0 | -1000 … 1000 |
| [**Velocidade inicial Z**](#field-velocity-z)
`velocity_z` | número · m/s | 0 | -1000 … 1000 |
| [**Giro inicial X · rad/s**](#field-angular-x)
`angular_x` | número · rad/s | 0 | -1000 … 1000 |
| [**Giro inicial Y · rad/s**](#field-angular-y)
`angular_y` | número · rad/s | 0 | -1000 … 1000 |
| [**Giro inicial Z · rad/s**](#field-angular-z)
`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.
### Amortecimento
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Amortecimento linear**](#field-linear-damping)
`linear_damping` | número | 0.05 | 0 … 10 |
| [**Amortecimento angular**](#field-angular-damping)
`angular_damping` | número | 0.05 | 0 … 10 |
| [**Multiplicador da gravidade**](#field-gravity-factor)
`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.
### Simulação
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Limite linear**](#field-max-linear-velocity)
`max_linear_velocity` | número · m/s | 500 | 0.001 … 100000 |
| [**Limite angular**](#field-max-angular-velocity)
`max_angular_velocity` | número · rad/s | 47.12389 | 0.001 … 100000 |
| [**Iterações de velocidade**](#field-solver-velocity-steps)
`solver_velocity_steps` | número | 0 | 0 … 255 |
| [**Colisão contínua**](#field-continuous-collision)
`continuous_collision` | booleano | falso | verdadeiro \| falso |
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.
### Restrições
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Travar posição X**](#field-freeze-position-x)
`freeze_position_x` | booleano | falso | verdadeiro \| falso |
| [**Travar posição Y**](#field-freeze-position-y)
`freeze_position_y` | booleano | falso | verdadeiro \| falso |
| [**Travar posição Z**](#field-freeze-position-z)
`freeze_position_z` | booleano | falso | verdadeiro \| falso |
| [**Travar rotação X**](#field-freeze-rotation-x)
`freeze_rotation_x` | booleano | falso | verdadeiro \| falso |
| [**Travar rotação Y**](#field-freeze-rotation-y)
`freeze_rotation_y` | booleano | falso | verdadeiro \| falso |
| [**Travar rotação Z**](#field-freeze-rotation-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.
## 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 **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.
## 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-Rigidbody.html). Essa referência não representa paridade funcional.