Pular para o conteúdo
AstraDOCS

Personagem

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

Locomoção com cápsula

Família: Física 3D · Grupo: Corpos · Identificador: astra.physics.character · Payload: 5

Locomoção com cápsula

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

O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é Astra.Components.Character.

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.

Nenhuma regra adicional declarada no schema deste componente.

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 5

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
Raio m
radius
número · m 0.45 0.01 … 10
Meia altura do cilindro m
half_height
número · m 0.55 0.01 … 10
Altura dos olhos m
eye_height
número · m 1.65 0.02 … 20

Raio m · radius

Onde: Inspector → Personagem → Cápsula → Raio m.

Uso e efeito: Raio da forma/volume selecionado; confira o tipo e os campos condicionais.

Valor: 0.45 · Tipo: número · Unidade: m · Domínio: 0.01 … 10.

Meia altura do cilindro m · half_height

Onde: Inspector → Personagem → Cápsula → Meia altura do cilindro m.

Uso e efeito: Meia dimensão da forma/volume no eixo indicado. Dimensão total é o dobro; aplica-se à forma selecionada.

Valor: 0.55 · Tipo: número · Unidade: m · Domínio: 0.01 … 10.

Altura dos olhos m · eye_height

Onde: Inspector → Personagem → Cápsula → Altura dos olhos m.

Uso e efeito: Altura de referência dos olhos do Character.

Valor: 1.65 · Tipo: número · Unidade: m · Domínio: 0.02 … 20.

Propriedade Tipo / unidade Padrão Domínio
Velocidade m/s
speed
número · m/s 8 0.01 … 100
Inclinação máxima graus
slope_degrees
número · ° 45 1 … 89
Velocidade do salto m/s
jump_speed
número · m/s 5 0 … 100
Gravidade
gravity
número · m/s² 9.81 0 … 1000

Velocidade m/s · speed

Onde: Inspector → Personagem → Locomoção → Velocidade m/s.

Uso e efeito: Velocidade de reprodução/percurso/motor na unidade do componente.

Valor: 8 · Tipo: número · Unidade: m/s · Domínio: 0.01 … 100.

Inclinação máxima graus · slope_degrees

Onde: Inspector → Personagem → Locomoção → Inclinação máxima graus.

Uso e efeito: Inclinação máxima de apoio do Character.

Valor: 45 · Tipo: número · Unidade: ° · Domínio: 1 … 89.

Velocidade do salto m/s · jump_speed

Onde: Inspector → Personagem → Locomoção → Velocidade do salto m/s.

Uso e efeito: Velocidade alvo inicial de salto.

Valor: 5 · Tipo: número · Unidade: m/s · Domínio: 0 … 100.

Gravidade · gravity

Onde: Inspector → Personagem → Locomoção → Gravidade.

Uso e efeito: Aceleração de gravidade do Character.

Valor: 9.81 · Tipo: número · Unidade: m/s² · Domínio: 0 … 1000.

Propriedade Tipo / unidade Padrão Domínio
Altura do degrau
step_height
número · m 0.4 0 … 10
Aderência ao chão
floor_snap_length
número · m 0.5 0 … 10
Impulso ao sair
inherit_platform_horizontal
booleano falso verdadeiro | falso

Altura do degrau · step_height

Onde: Inspector → Personagem → Chão → Altura do degrau.

Uso e efeito: Altura de degrau que o Character pode transpor.

Valor: 0.4 · Tipo: número · Unidade: m · Domínio: 0 … 10.

Aderência ao chão · floor_snap_length

Onde: Inspector → Personagem → Chão → Aderência ao chão.

Uso e efeito: Distância de snap ao chão; confira degraus e bordas.

Valor: 0.5 · Tipo: número · Unidade: m · Domínio: 0 … 10.

Impulso ao sair · inherit_platform_horizontal

Onde: Inspector → Personagem → Chão → Impulso ao sair.

Uso e efeito: Conserva X/Z da superfície no ar; desligar remove apenas esse impulso, sem recriar a cápsula.

Valor: falso · 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 → Personagem → 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 → Personagem → 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 → Personagem → 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 → Personagem → 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 → Personagem → 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 → Personagem → 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 Personagem 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.

No Behavior, a fachada permite inscrever um receptor usando o owner vivo; a inscrição pertence ao lifecycle daquela execução. Uma Conexão de evento precisa de emissor, evento, receptor e ação: adicionar a conexão não define a regra do jogo.

Evento / ID Quando ocorre Dados enviados
Bateu num colisor · collider_hit O movimento do personagem colidiu com um corpo; carrega o objeto, o ponto e a normal Objeto tocado: objeto; Ponto: vetor (m); Normal: vetor