---
title: "Personagem"
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-character/
---
# Personagem
Locomoção com cápsula
**Família:** Física 3D · **Grupo:** Corpos · **Identificador:** `astra.physics.character` · **Payload:** 5
:::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 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
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](/pt-br/snapshot-2026-10-07/api/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](/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
Nenhuma regra adicional declarada no schema deste componente.
## Conflitos
- [Corpo físico](/pt-br/snapshot-2026-10-07/componentes/astra-physics-body/): Incompatível com corpo físico
- [Colisor 3D](/pt-br/snapshot-2026-10-07/componentes/astra-physics-collider/): O personagem traz a própria cápsula; remova o Colisor 3D
- [Motor dinâmico](/pt-br/snapshot-2026-10-07/componentes/astra-physics-dynamic-motor/): Escolha Character ou motor de corpo dinâmico
## 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](/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.
### Cápsula
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Raio m**](#field-radius)
`radius` | número · m | 0.45 | 0.01 … 10 |
| [**Meia altura do cilindro m**](#field-half-height)
`half_height` | número · m | 0.55 | 0.01 … 10 |
| [**Altura dos olhos m**](#field-eye-height)
`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.
### Locomoção
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Velocidade m/s**](#field-speed)
`speed` | número · m/s | 8 | 0.01 … 100 |
| [**Inclinação máxima graus**](#field-slope-degrees)
`slope_degrees` | número · ° | 45 | 1 … 89 |
| [**Velocidade do salto m/s**](#field-jump-speed)
`jump_speed` | número · m/s | 5 | 0 … 100 |
| [**Gravidade**](#field-gravity)
`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.
### Chão
| Propriedade | Tipo / unidade | Padrão | Domínio |
|---|---|---|---|
| [**Altura do degrau**](#field-step-height)
`step_height` | número · m | 0.4 | 0 … 10 |
| [**Aderência ao chão**](#field-floor-snap-length)
`floor_snap_length` | número · m | 0.5 | 0 … 10 |
| [**Impulso ao sair**](#field-inherit-platform-horizontal)
`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.
**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
| 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 → **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
[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 **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.
## 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.unity3d.com/6000.0/Documentation/Manual/class-CharacterController.html). Essa referência não representa paridade funcional.
## 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 |