Pular para o conteúdo
AstraDOCS

Motor dinâmico

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

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

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.

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.

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.

Guia relacionado: Posse e movimento medido

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.

  • Personagem: Incompatível com personagem cápsula
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.

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.

Propriedade Tipo / unidade Padrão Domínio
Velocidade
speed
número · m/s 6 0 … 100
Aceleração
acceleration
número · m/s² 24 0 … 1000
Frenagem
braking
número · m/s² 36 0 … 1000
Controle no ar
air_control
número 0.25 0 … 1
Velocidade do salto
jump_speed
número · m/s 6 0 … 100
Habilitado
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.

Propriedade Tipo / unidade Padrão Domínio
Centro até os pés
probe_height
número · m 1 0.01 … 100
Alcance abaixo dos pés
probe_distance
número · m 0.15 0.001 … 2
Raio de sondagem
support_radius
número · m 0.3 0 … 10
Rampa máxima
max_slope
número · ° 50 0 … 89
Acompanhar plataforma
inherit_platform_velocity
booleano verdadeiro verdadeiro | falso
Apoio pela colisão
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.

Propriedade Tipo / unidade Padrão Domínio
Prioridade UI
control_priority_ui
número 10 0 … 1000
Prioridade Teclado / mouse
control_priority_keyboard
número 10 0 … 1000
Prioridade Gamepad
control_priority_gamepad
número 10 0 … 1000
Prioridade Script
control_priority_script
número 20 0 … 1000
Prioridade IA
control_priority_ai
número 5 0 … 1000
Fonte de controle
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.

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 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.

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.