> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-pt/wearables-e-emotes/emotes/avatar-rig.md).

# Rig do Avatar

Noções básicas sobre o rig do avatar.

Um rig é um esqueleto virtual que permite que um model se mova. Consiste numa hierarquia de bones individuais, muito semelhante a um esqueleto da vida real, e funciona numa relação pai/filho. Este documento abordará alguns conceitos básicos de rigging, como a posição dos bones, a orientação dos bones, bones deforming e non-deforming, a diferença entre IK e FK e os seus propósitos. A estrutura do rig de um avatar, atributos personalizados e a configuração para animar podem ser encontrados em [características do rig](/creator/content-creator-pt/wearables-e-emotes/emotes/rig-features.md).

{% hint style="info" %}
**💡 Dica**: Instale o [plugin Decentraland Tools Blender](https://extensions.blender.org/add-ons/decentraland-tools/). Inclui várias funções úteis para o ajudar a editar e exportar modelos 3D, wearables e Emotes.
{% endhint %}

## **Noções básicas**

#### Posição dos bones ou pontos de pivot

Embora um rig não seja uma réplica exata do esqueleto humano, é boa prática seguir a posição dos bones da vida real ao colocar os digitais. Isto é feito para garantir uma deformação credível e fluida. A posição dos bones é importante porque define o ponto de pivot (de onde o movimento começará). Um bone mal colocado causará uma má deformação da mesh. As imagens abaixo mostram a diferença na posição dos bones.

![head\_pivot\_rig\_1.0.gif](https://raw.githubusercontent.com/decentraland/documentation-creators/main/images/emotes/head_pivot_rig_1.0.gif)

![head\_pivot\_rig\_2.0.gif](https://raw.githubusercontent.com/decentraland/documentation-creators/main/images/emotes/head_pivot_rig_2.0.gif)

#### Orientação do Bone

A orientação dos bones definirá em que direção irão rodar, como X positivo, Z negativo, etc. Podem ser configurados de muitas formas diferentes, desde que haja consistência em todo o rig. Por exemplo, se o eixo X for escolhido para o movimento de flexão para a frente da coluna, faz sentido que a mesma configuração seja usada nas pernas. A orientação também é importante porque afeta o comportamento de mirror. Isto significa que, normalmente, a orientação do lado direito é a versão espelhada da do lado esquerdo e vice-versa.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-0ca8cf13d59ffd63b35554c9926c95b15a858756%2FboneAxis.gif?alt=media\&token=574f8999-a571-4bff-ad7f-ae8ecc5dcede)

*Ligue os eixos para mostrar a orientação dos bones.*

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-d88dffc01ac9a2cef8e92560d1d474b5ea5b678e%2Fboneorientation.gif?alt=media\&token=e32aa456-ddf2-4e25-aba8-ddcce1e7dea3)

*Os eixos são as direções em que o bone irá rodar.*

#### Bones deforming e non-deforming

Os bones deforming são os que deformarão a mesh, sendo responsáveis pela forma como o model se move. Esse é o esqueleto base e **não deve ser editada de forma alguma**. Alterá-la de qualquer forma pode quebrar o rig e a animação não funcionará quando exportada. Por esta razão, este base rig foi movido para a sua própria layer (a última na parte inferior). Estes bones são a armature que é exportada com a mesh.

Os bones non-deforming são os que não deformarão a mesh, mas continuam a ser necessários num rig robusto e são usados para a configuração de [IKs, FKs](#what’s-FK-and-IK-in-a-rig) e outras propriedades personalizadas. Exemplos de bones non-deforming são controls, bones IK e FK, bones de configuração dos pés. Estes não devem ser exportados, sendo usados apenas para fins de animação.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-617f8ee76a78ef3cdf9ddb35a1643e6c2d3ec4a9%2FDeformationBones.png?alt=media\&token=a513e3c9-baed-414d-bdee-8e5584cfc176)

*Bones deforming.*

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-dd1eef74806715dfab5aa4ed780e20037c643cb4%2FNonDeformationBones.png?alt=media\&token=a4dc0c97-aa2a-4e7d-893f-58407603718b)

*Bones non-deforming.*

{% hint style="warning" %}
⚠️ **Atenção!** **Não edite o esqueleto base de forma alguma!**
{% endhint %}

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-efdebcd044a259066f57ea9b43add79cff6cd69c%2FBaseSkeleton.png?alt=media\&token=b17fd1ad-a941-471a-bd50-122ffdd7de0f)

*O esqueleto base.*

#### Controles

Como boa prática, um rig não deve ser animado manipulando os bones deforming, porque isso pode fazer com que o rig quebre. Em vez disso, **as animações devem ser feitas manipulando os controls.**

Os controls são basicamente bones non-deforming, o que significa que não afetarão a mesh, tornando-os totalmente seguros para serem manipulados e animados. A sua função é controlar o esqueleto base através de constraints e drivers, sem o tocar diretamente. Normalmente têm formas e cores diferentes como indicação visual das suas funções e propósitos, tornando mais fácil para o animator distinguir os bones. Alguns deles também terão mais do que apenas transforms de location, rotation e scale, porque é possível adicionar-lhes propriedades personalizadas, como um switch IK/FK.

Também é importante notar que não é possível usar a configuração de controls num software diferente daquele em que foi originalmente feita. Cada software tem a sua própria lógica e não é possível exportar constraints.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5a35cfafed8502560e922a62958e0791b8f196d5%2FRigControls.png?alt=media\&token=fb5cd3e4-2268-4aae-b8de-7a6346b02ec5) \_Controls e as suas diferentes formas e cores.\_

{% hint style="warning" %}
⚠️ **Aviso**: O rig tem de ser animado no mesmo software em que foi criado. Não é possível usar uma configuração do Blender no Maya, por exemplo, e vice-versa.
{% endhint %}

#### O que é FK e IK num rig?

Um rig pode usar duas configurações diferentes que influenciam a forma como se move: FK e IK.

#### FK - Forward Kinematics

Em forward kinematics, ou FK, o pai na hierarquia move todos os bones filhos abaixo dele. Tomemos o braço como exemplo: quando o ombro roda, o resto do braço também roda; quando o braço roda, o antebraço seguirá o seu comportamento. Ao animar em FK, cada bone tem de ser rodado individualmente. Esta configuração dá muito controlo sobre o movimento e é excelente para movimentos em arco, que são essenciais para uma animação fluida.

*Direção do movimento na hierarquia.*

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e80fd8aee4e2111128bd3a0532630b69e9ce7afe%2FFK_GIF.gif?alt=media\&token=4b2b8658-ba7f-4a55-b34a-784e370e592f)

*Em FK, cada bone tem de ser rodado individualmente.*

#### IK - Inverse Kinematics

Em inverse kinematics, ou IK, o filho na hierarquia pode influenciar o movimento dos seus pais. Neste caso, usando novamente o braço como exemplo, quando a mão é movida, o resto do braço seguirá o movimento. Isso também significa que, não importa como o ombro se mova, a mão manterá a sua posição. Nesta configuração, um pole vector/pole target controlará em que direção os bones se dobrarão. As pernas geralmente usam IK, o que é essencial para que os pés permaneçam presos ao nível do chão durante a animação.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-b740a0f922dfa3bca875d87f15c9809274b124e5%2FIK.png?alt=media\&token=c32e03ab-21b9-42a7-a2c7-1793fbd8aff8)

*Direção do movimento na hierarquia.*

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c98257d54f76eecf00cd6d398d4634d0e9dc1251%2FIK_last.gif?alt=media\&token=66a9072c-f8e1-4053-ac8f-76fcf79df9f4)

*Em IK, a mão moverá todo o braço e também manterá a sua posição. O pole target determina a direção em que o cotovelo se dobra.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/creator/content-creator-pt/wearables-e-emotes/emotes/avatar-rig.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
