Personagem
Locomoção com cápsula
Família: Física 3D · Grupo: Corpos · Identificador: astra.physics.character · Payload: 5
Para que usar
Seção intitulada “Para que usar”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.
Criar e configurar
Seção intitulada “Criar e configurar”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
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”Nenhuma regra adicional declarada no schema deste componente.
Conflitos
Seção intitulada “Conflitos”- Corpo físico: Incompatível com corpo físico
- Colisor 3D: O personagem traz a própria cápsula; remova o Colisor 3D
- Motor dinâmico: Escolha Character ou motor de corpo dinâmico
Edição e ciclo de vida
Seção intitulada “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 | 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.
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.
Cápsula
Seção intitulada “Cápsula”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Raio mradius |
número · m | 0.45 | 0.01 … 10 |
Meia altura do cilindro mhalf_height |
número · m | 0.55 | 0.01 … 10 |
Altura dos olhos meye_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.
Locomoção
Seção intitulada “Locomoção”| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
Velocidade m/sspeed |
número · m/s | 8 | 0.01 … 100 |
Inclinação máxima grausslope_degrees |
número · ° | 45 | 1 … 89 |
Velocidade do salto m/sjump_speed |
número · m/s | 5 | 0 … 100 |
Gravidadegravity |
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 degraustep_height |
número · m | 0.4 | 0 … 10 |
Aderência ao chãofloor_snap_length |
número · m | 0.5 | 0 … 10 |
Impulso ao sairinherit_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.
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 → 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.
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 Personagem 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.
Eventos do componente
Seção intitulada “Eventos do componente”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 |