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
Para que usar
Seção intitulada “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
Seção intitulada “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.
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
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”- Corpo físico: Adicione Corpo físico dinâmico ao receptor
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 | 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.
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.
Locomoção
Seção intitulada “Locomoção”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Velocidadespeed |
número · m/s | 6 | 0 … 100 |
Aceleraçãoacceleration |
número · m/s² | 24 | 0 … 1000 |
Frenagembraking |
número · m/s² | 36 | 0 … 1000 |
Controle no arair_control |
número | 0.25 | 0 … 1 |
Velocidade do saltojump_speed |
número · m/s | 6 | 0 … 100 |
Habilitadoenabled |
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ésprobe_height |
número · m | 1 | 0.01 … 100 |
Alcance abaixo dos pésprobe_distance |
número · m | 0.15 | 0.001 … 2 |
Raio de sondagemsupport_radius |
número · m | 0.3 | 0 … 10 |
Rampa máximamax_slope |
número · ° | 50 | 0 … 89 |
Acompanhar plataformainherit_platform_velocity |
booleano | verdadeiro | verdadeiro | falso |
Apoio pela colisãoautomatic_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
Seção intitulada “Posse de controle”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Prioridade UIcontrol_priority_ui |
número | 10 | 0 … 1000 |
Prioridade Teclado / mousecontrol_priority_keyboard |
número | 10 | 0 … 1000 |
Prioridade Gamepadcontrol_priority_gamepad |
número | 10 | 0 … 1000 |
Prioridade Scriptcontrol_priority_script |
número | 20 | 0 … 1000 |
Prioridade IAcontrol_priority_ai |
número | 5 | 0 … 1000 |
Fonte de controlecontrol_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
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 Motor dinâmico 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.