--- title: "Root motion" version: snapshot-2026-10-16 engineGeneration: astra-current language: C# status: source-reviewed reviewedAt: 2026-10-16 appRelease: "0.3.1-preview.20261016" runtimeVerified: false platformEvidence: [] url: https://astraengine.com.br/pt-br/snapshot-2026-10-16/componentes/astra-animation-root-motion/ --- # Root motion O passo do osso raiz anima o personagem; o osso fica no lugar **Família:** Animação · **Grupo:** Movimento · **Identificador:** `astra.animation.root_motion` · **Payload:** 1 :::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 O passo do osso raiz move o personagem pela cena, com o osso ficando no lugar: andar, correr e girar saem do clipe. No estúdio, ⋮ → **Root motion** cria o componente com o osso raiz encontrado pelo nome ou pela estrutura; escolha o que extrair (plano, vertical, giro) e a frente do osso. ## Criar e configurar Hierarquia → selecione o objeto → Inspector → Adicionar componente → **Animação** / **Movimento** → **Root motion**. O schema permite uma única instância desse tipo por objeto. A fachada C# correspondente é [Astra.Components.RootMotion](/pt-br/snapshot-2026-10-16/api/astra-components-rootmotion/). Salto e giro de laço corrigem a descontinuidade entre o último e o primeiro quadro; Osso fica no lugar remove o deslocamento do próprio osso. **Guia relacionado:** [Estúdio v2](/pt-br/snapshot-2026-10-06/versoes/preview-0-3-1/#estúdio-de-animação-v2) ## Exemplo de uso Clipe de caminhada em loop: com Andar no plano e Salto de laço, o personagem avança a cada volta em vez de voltar ao início; com Personagem, o movimento passa pela física. ## Dependências Nenhuma regra adicional declarada no schema deste componente. ## Conflitos Nenhuma regra adicional declarada no schema deste componente. ## 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 | 1 | 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. ### Movimento | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Peso**](#field-weight)
`weight` | número | 1 | 0 … 1 | | [**Ativo**](#field-enabled)
`enabled` | booleano | verdadeiro | verdadeiro \| falso | | [**Andar no plano**](#field-horizontal)
`horizontal` | booleano | verdadeiro | verdadeiro \| falso | | [**Subir e descer**](#field-vertical)
`vertical` | booleano | falso | verdadeiro \| falso | | [**Girar**](#field-rotation)
`rotation` | booleano | verdadeiro | verdadeiro \| falso |

Peso · weight

**Onde:** Inspector → **Root motion** → **Movimento** → **Peso**. **Uso e efeito:** 0 desliga, 1 aplica por inteiro; anime para ligar e desligar o efeito com suavidade. **Valor:** 1 · **Tipo:** número · **Domínio:** 0 … 1. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Ativo · enabled

**Onde:** Inspector → **Root motion** → **Movimento** → **Ativo**. **Uso e efeito:** Desligado, o componente fica na cena sem agir. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Andar no plano · horizontal

**Onde:** Inspector → **Root motion** → **Movimento** → **Andar no plano**. **Uso e efeito:** Extrai o movimento no plano. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Subir e descer · vertical

**Onde:** Inspector → **Root motion** → **Movimento** → **Subir e descer**. **Uso e efeito:** Extrai subida e descida. **Valor:** falso · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Girar · rotation

**Onde:** Inspector → **Root motion** → **Movimento** → **Girar**. **Uso e efeito:** Extrai o giro. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Laço | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Salto de laço**](#field-loop-jump)
`loop_jump` | número · m | 0.5 | 0.01 … 10 | | [**Giro de laço**](#field-loop-turn)
`loop_turn` | número · graus | 45 | 1 … 180 |

Salto de laço · loop_jump

**Onde:** Inspector → **Root motion** → **Laço** → **Salto de laço**. **Uso e efeito:** Compensação de posição entre o fim e o início do laço. **Valor:** 0.5 · **Tipo:** número · **Unidade:** m · **Domínio:** 0.01 … 10. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Giro de laço · loop_turn

**Onde:** Inspector → **Root motion** → **Laço** → **Giro de laço**. **Uso e efeito:** Compensação de giro no laço. **Valor:** 45 · **Tipo:** número · **Unidade:** graus · **Domínio:** 1 … 180. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ### Osso | Propriedade | Tipo / unidade | Padrão | Domínio | |---|---|---|---| | [**Osso fica no lugar**](#field-keep-bone-in-place)
`keep_bone_in_place` | booleano | verdadeiro | verdadeiro \| falso | | [**Frente do osso**](#field-axis)
`axis` | enumeração | +Z | +X \| +Y \| +Z \| -X \| -Y \| -Z | | [**Osso raiz**](#field-bone)
`bone` | referência | Escolher osso | qualquer objeto · abaixo deste objeto |

Osso fica no lugar · keep_bone_in_place

**Onde:** Inspector → **Root motion** → **Osso** → **Osso fica no lugar**. **Uso e efeito:** Remove o deslocamento do próprio osso. **Valor:** verdadeiro · **Tipo:** booleano · **Domínio:** verdadeiro \| falso. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Frente do osso · axis

**Onde:** Inspector → **Root motion** → **Osso** → **Frente do osso**. **Uso e efeito:** Eixo local do osso que aponta para a frente. **Valor:** +Z · **Tipo:** enumeração · **Domínio:** +X \| +Y \| +Z \| -X \| -Y \| -Z. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/).

Osso raiz · bone

**Onde:** Inspector → **Root motion** → **Osso** → **Osso raiz**. **Uso e efeito:** Osso raiz; encontrado pelo nome ou pela primeira bifurcação. **Valor:** Escolher osso · **Tipo:** referência · **Domínio:** qualquer objeto · abaixo deste objeto. Translação, rotação e escala; pesos de morph não; sem mistura entre clipes Capacidade necessária: `animation.clip`; veja [estado do renderer](/pt-br/snapshot-2026-10-06/roadmap/capacidades-do-renderer/). ## Roadmap deste componente [Objetos, Behaviors e composição](/pt-br/snapshot-2026-10-06/roadmap/objetos-e-scripts/). Presente na 0.3.1. Sem curvas de root motion editáveis à parte do clipe. Sem data prometida. 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 **Root motion** 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/RootMotion.html). Essa referência não representa paridade funcional.