--- title: "Motor dinâmico" 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-dynamic-motor/ --- # Motor dinâmico Locomoção por força e salto com apoio sobre Corpo físico dinâmico **Família:** Física 3D · **Grupo:** Corpos · **Identificador:** `astra.physics.dynamic_motor` · **Payload:** 3 :::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 Locomoção por força e salto com apoio sobre Corpo físico dinâmico 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** → **Motor dinâmico**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.DynamicBodyMotor](/pt-br/snapshot-2026-10-07/api/astra-components-dynamicbodymotor/). A seção Posse de controle escolhe UI, teclado, gamepad, Script ou IA. Prioridades ficam visíveis em Automático. Selecionar uma origem não cria vínculos de entrada. [Arbitragem, cancelamento, campos e receita](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/). **Guia relacionado:** [Posse e movimento medido](/pt-br/snapshot-2026-10-07/sistemas/posse-de-controle/) ## 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 - [Corpo físico](/pt-br/snapshot-2026-10-07/componentes/astra-physics-body/): Adicione Corpo físico dinâmico ao receptor ## Conflitos - [Personagem](/pt-br/snapshot-2026-10-07/componentes/astra-physics-character/): Incompatível com personagem cápsula ## Edição e ciclo de vida | Operação | Contrato | |---|---| | Adicionar/remover em Play | ponto seguro | | Alterar propriedades em Play | ponto seguro | | Múltiplas instâncias | Não | | Versão do payload | 3 | 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. ### Locomoção | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Velocidade**](#field-speed)
`speed` | número · m/s | 6 | 0 … 100 | | [**Aceleração**](#field-acceleration)
`acceleration` | número · m/s² | 24 | 0 … 1000 | | [**Frenagem**](#field-braking)
`braking` | número · m/s² | 36 | 0 … 1000 | | [**Controle no ar**](#field-air-control)
`air_control` | número | 0.25 | 0 … 1 | | [**Velocidade do salto**](#field-jump-speed)
`jump_speed` | número · m/s | 6 | 0 … 100 | | [**Habilitado**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso |

Velocidade · speed

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Velocidade**. **Uso e efeito:** Velocidade de reprodução/percurso/motor na unidade do componente. **Valor:** 6 · **Tipo:** número · **Unidade:** m/s · **Domínio:** 0 … 100.

Aceleração · acceleration

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Aceleração**. **Uso e efeito:** Limita a força de correção para atingir a velocidade alvo; usa a massa real, sem escrever Transform diretamente. **Valor:** 24 · **Tipo:** número · **Unidade:** m/s² · **Domínio:** 0 … 1000.

Frenagem · braking

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Frenagem**. **Uso e efeito:** Limita a correção da velocidade quando não há comando de movimento. **Valor:** 36 · **Tipo:** número · **Unidade:** m/s² · **Domínio:** 0 … 1000.

Controle no ar · air_control

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Controle no ar**. **Uso e efeito:** Multiplicador de controle enquanto sem apoio. **Valor:** 0.25 · **Tipo:** número · **Domínio:** 0 … 1.

Velocidade do salto · jump_speed

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Velocidade do salto**. **Uso e efeito:** Velocidade alvo inicial de salto. **Valor:** 6 · **Tipo:** número · **Unidade:** m/s · **Domínio:** 0 … 100.

Habilitado · enabled

**Onde:** Inspector → **Motor dinâmico** → **Locomoção** → **Habilitado**. **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. ### Chão | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Centro até os pés**](#field-probe-height)
`probe_height` | número · m | 1 | 0.01 … 100 | | [**Alcance abaixo dos pés**](#field-probe-distance)
`probe_distance` | número · m | 0.15 | 0.001 … 2 | | [**Raio de sondagem**](#field-support-radius)
`support_radius` | número · m | 0.3 | 0 … 10 | | [**Rampa máxima**](#field-max-slope)
`max_slope` | número · ° | 50 | 0 … 89 | | [**Acompanhar plataforma**](#field-inherit-platform-velocity)
`inherit_platform_velocity` | booleano | verdadeiro | verdadeiro \| falso | | [**Apoio pela colisão**](#field-automatic-support)
`automatic_support` | booleano | verdadeiro | verdadeiro \| falso |

Centro até os pés · probe_height

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Centro até os pés**. **Uso e efeito:** Usado somente quando Apoio pela colisão está desligado. **Valor:** 1 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 100. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Alcance abaixo dos pés · probe_distance

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Alcance abaixo dos pés**. **Uso e efeito:** Alcance da consulta de apoio. **Valor:** 0.15 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.001 … 2.

Raio de sondagem · support_radius

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Raio de sondagem**. **Uso e efeito:** Usado somente quando Apoio pela colisão está desligado. **Valor:** 0.3 · **Tipo:** número · **Unidade:** m · **Domínio:** 0 … 10. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Rampa máxima · max_slope

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Rampa máxima**. **Uso e efeito:** Inclinação máxima de apoio do motor. **Valor:** 50 · **Tipo:** número · **Unidade:** ° · **Domínio:** 0 … 89.

Acompanhar plataforma · inherit_platform_velocity

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Acompanhar plataforma**. **Uso e efeito:** Herda velocidade da plataforma de apoio quando permitido. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso.

Apoio pela colisão · automatic_support

**Onde:** Inspector → **Motor dinâmico** → **Chão** → **Apoio pela colisão**. **Uso e efeito:** Sonda a superfície real do colisor do solver, com escala, rotação e partes compostas. Cinco amostras; alcance abaixo da forma em metros. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. ### Posse de controle | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Prioridade UI**](#field-control-priority-ui)
`control_priority_ui` | número | 10 | 0 … 1000 | | [**Prioridade Teclado / mouse**](#field-control-priority-keyboard)
`control_priority_keyboard` | número | 10 | 0 … 1000 | | [**Prioridade Gamepad**](#field-control-priority-gamepad)
`control_priority_gamepad` | número | 10 | 0 … 1000 | | [**Prioridade Script**](#field-control-priority-script)
`control_priority_script` | número | 20 | 0 … 1000 | | [**Prioridade IA**](#field-control-priority-ai)
`control_priority_ai` | número | 5 | 0 … 1000 | | [**Fonte de controle**](#field-control-source)
`control_source` | enumeração | Automático | Automático \| UI \| Teclado / mouse \| Gamepad \| Script \| IA |

Prioridade UI · control_priority_ui

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Prioridade UI**. **Uso e efeito:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Valor:** 10 · **Tipo:** número · **Domínio:** 0 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Prioridade Teclado / mouse · control_priority_keyboard

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Prioridade Teclado / mouse**. **Uso e efeito:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Valor:** 10 · **Tipo:** número · **Domínio:** 0 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Prioridade Gamepad · control_priority_gamepad

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Prioridade Gamepad**. **Uso e efeito:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Valor:** 10 · **Tipo:** número · **Domínio:** 0 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Prioridade Script · control_priority_script

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Prioridade Script**. **Uso e efeito:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Valor:** 20 · **Tipo:** número · **Domínio:** 0 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Prioridade IA · control_priority_ai

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Prioridade IA**. **Uso e efeito:** Prioridade de arbitragem desta origem em Automático, de 0 a 1000. Maior vence entre candidatos; na fonte exclusiva fica oculta e é preservada. Não é prioridade de execução do script. **Valor:** 5 · **Tipo:** número · **Domínio:** 0 … 1000. Campo condicional: o modo/forma/recurso selecionado controla a disponibilidade.

Fonte de controle · control_source

**Onde:** Inspector → **Motor dinâmico** → **Posse de controle** → **Fonte de controle**. **Uso e efeito:** Automático arbitra os canais; UI/Teclado/Gamepad/Script/IA escolhe uma origem exclusiva. Origem exclusiva neutra mantém a posse; não passa para a IA. **Valor:** Automático · **Tipo:** enumeração · **Domínio:** Automático \| UI \| Teclado / mouse \| Gamepad \| Script \| IA. ## 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 **Motor dinâmico** 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.godotengine.org/en/4.5/classes/class_rigidbody3d.html). Essa referência não representa paridade funcional.