# Criar um rig

Este documento mostra como configurar um rig básico no Blender. Se quiseres familiarizar-te mais com alguns conceitos de rigging, consulta [O Rig: Conceitos Básicos](https://docs.decentraland.org/creator/emotes/avatar-rig/).

### Adicionar a Armature

Antes de mais, terás de importar o teu modelo 3D para o Blender ou, se já o fizeste no Blender, basta abrir o teu ficheiro blend. Em object mode, prime `Shift+A` e selecciona ***Armature*** no menu, como mostrado abaixo. Depois, em ***Object Data Properties***, em ***Viewport Display***, activa ***In Front***, para que possas ver o bone através da mesh. A mesh e a armature devem estar alinhadas, por isso certifica-te de que o modelo está bem posicionado no centro do mundo antes de adicionares os bones. A origem da armature deve estar em 0,0,0 (X,Y,Z).

![](/files/dcdd38c03a1eee1ff3c52bf80603e2a13b383d8c)

*Adicionar uma armature e mostrá-la através da mesh.*

### Editar a Armature

Depois de adicionares o objecto Armature, selecciona-o e vai para ***Edit Mode***. É aqui que adicionas os outros bones ao extrudir o original (prime `E`)`Shift+D`) ou simplesmente adicionando um novo com `Shift+A`. O esqueleto deve seguir a forma do modelo, como um esqueleto real. Os bones podem ser escalados, movidos e rodados e têm duas partes: a head e a tail. A head é o ponto de pivot, o que significa que as rotações e a escala começarão aí. Isso também significa que é aí que acontecerá a deformação da mesh, por isso posiciona os bones o mais centrados possível na mesh.

![](/files/467627987a3b11677a3fb60ac31df86d34d44531)

*Estrutura do bone.*

![](/files/d459dcdef2efff743f46ce2c6d3ede098d9c3c1b)

*Bone a rodar a partir do seu ponto de pivot.*

Para já, não precisas de te preocupar em criar bones para o lado direito e esquerdo. Concentra-te em criar primeiro apenas um lado.

### Renomear os Bones

Algo realmente importante a ter em mente é renomear correctamente todos os teus bones, de acordo com a [convenção de nomenclatura do Blender](https://docs.blender.org/manual/en/latest/animation/armatures/bones/editing/naming.html). Isto não só manterá tudo organizado, como também tornará possível espelhar poses e fazer weight paint. Podes simplesmente renomeá-lo com a parte do corpo que representa, como Spine\_01, ou podes ser mais específico e chamar-lhe DEF\_spine.001 (DEF significa deforming bone, por isso sabes que este bone é da hierarquia de deformação).

### Orientação do Bone

Antes de avançar, deves verificar a orientação do teu bone. Podes fazê-lo indo a ***Object Data Properties*** e em ***Viewport Display***, activa ***Axes***. Isto tornará visíveis os eixos dos bones, para que possas verificar se vão rodar na direcção adequada.

Os eixos devem estar alinhados com a direcção em que queres que os bones rodem. Se parecer um pouco errado, selecciona o bone e, no menu ***Item Transform*** à direita do viewport, ajusta o ***Roll*** até a orientação parecer correcta.

![](/files/71af04157ee24fe42904b4c7d2b87df1043dce1a)

*Corrigir o roll do bone.*

![](/files/9d7b4e7693c862534d276ad26de5986404fa2f1b)

*Activa Axes para poderes ver a direcção em que o bone vai rodar.*

Corrigir o roll do bone é especialmente importante para os dedos, para que todas as articulações dobrem na mesma direcção correcta. No entanto, não tens de o fazer para todos os bones de um dedo, basta acertares um deles. Depois, selecciona primeiro os que queres corrigir e por último o que tem o roll correcto, vai a ***Armature > Bone Roll > Recalculate Roll > Active Bone*** e todos ficarão com o mesmo roll. Ou podes simplesmente premir `Shift+N` > ***Active Bone***. Isto pode ser usado em muitas situações em que tens uma cadeia longa de bones, como um tentáculo, uma cauda, um rabo-de-cavalo comprido ou um braço mecânico.

![](/files/3e44b17e580b46ffc1954428e69da386128c40bf)

*Prime `Shift+N` para recalcular o roll do bone.*

### Espelhar o Rig

Não tens de criar bones para ambos os lados. Faz apenas um lado primeiro e, quando tiveres corrigido toda a nomenclatura e orientação dos bones, selecciona todos os bones que queres espelhar, clica com o botão direito do rato e selecciona ***Symmetrize***. Dessa forma, todos os bones serão espelhados correctamente, com as orientações certas. Lembra-te de que, para esta ferramenta funcionar, os bones precisam de estar nomeados de acordo com a convenção de nomenclatura do Blender. Se houver um “L”, “R”, “left” ou “right” em minúsculas ou maiúsculas, o Blender trata a contraparte correctamente.

Alguns exemplos de convenção de nomenclatura correcta:

* Hand\_L –> Hand\_R
* Hand.L –>Hand.R
* HandLeft –> HandRight

**Todos os exemplos acima são válidos, mas escolhe apenas um e mantém-no consistente ao longo do rig.**

![](/files/679397d08f58c8c86645f6ef14af0e5ff575f4b3)

*Usa a opção Symmetrize para espelhar os teus bones.*

{% hint style="info" %}
**⚠️ Atenção!** Symmetrize só funcionará se os bones estiverem correctamente renomeados. Se não espelhar correctamente, talvez devas verificar novamente os nomes dos bones.
{% endhint %}

### Skinning

Skinning é o processo de associar a mesh à armature. Para o fazer, em ***Object Mode***, selecciona a mesh, depois a armature e prime `CTRL+P` > ***Armature Deform > With Automatic Weights.*** Depois, vai para ***Pose Mode*** e testa diferentes poses para testar a deformação da mesh. Na maior parte das vezes, serão necessários alguns ajustes, como visto abaixo.

![](/files/cd6909bbff108052e2e40c7dfc9f6f2fbbf7cdd5)

*Para o Skinning, faz da mesh child da armature premindo `CTRL+P` e testa-a em Pose Mode.*

Se achares que um bone foi mal colocado ou que o ponto de pivot não é preciso, podes sempre voltar ao ***Edit Mode*** da armature e ajustá-lo. Isto não afectará o Skinning e podes sempre usar ***Symmetrize*** para espelhar as alterações.

Para corrigir deformações estranhas, vai a ***Object Mode***, selecciona a mesh e vai para ***Weight Paint***. Em ***Object Data Properties*** encontrarás os ***Vertex Groups***.

![](/files/6d05cfee6708fd7ea4ccd92351711f5f60b24a5b)

*Edita a influência de um bone em Weight Paint.*

Antes de começares a editar, para que o teu weight paint seja espelhado automaticamente enquanto pintas, activa ***Mirror Vertex Groups*** e selecciona ***X*** em ***Mirror*** em ***Symmetry*** (no Blender 3.4.0) Para editar as influências, selecciona o vertex group que pretendes e, no menu ***Tool*** , em ***Blend***, alterna entre ***Add*** e ***Subtract*** de acordo com as tuas necessidades. Também podes alterar o tamanho, weight e strength do pincel.

![](/files/d359f8db5366dc0bff02a44c3343b3ad3671a885)

*Altera o Blend para adicionar ou remover influência. Certifica-te de que Symmetry está correcta.*

![](/files/35800502ba907634537bcb3edc37aed690e9b93c)

Use o ***Blur*** tool no lado esquerdo do ecrã para suavizar o weight paint e torná-lo mais uniforme.

![](/files/605e42a6c80b404fb61e9fd2b5b0a7ddeac4440b)

*Ferramenta Blur.*

### Configurar o IK

O IK é essencial quando queres que algo permaneça no lugar. O melhor exemplo da sua utilização é nas pernas, mas pode ser adoptado numa variedade de situações, como nos exemplos abaixo:

![](/files/5b96be0d2c2f228907dfec9fc1e2f2971473c7af)

*Utilização de IK num braço mecânico.*

![](/files/1447b87816618031b71c599f1b24097f879a7293)

*Utilização de IK em cabos.*

Como vai alterar a hierarquia dos bones, o melhor é mantê-lo como uma configuração separada. Portanto, a primeira coisa que precisas de fazer é duplicar a cadeia de bones que será afectada pelo IK. Vamos usar a perna como exemplo. Selecciona os bones, prime `Shift+D` para os duplicar e move-os para uma layer diferente premindo `M` e seleccionando um slot diferente para isso.

Lembra-te de renomear os bones duplicados, adicionando IK ao nome para saberes que fazem parte da configuração de IK. E como não devem deformar a mesh, selecciona-os todos e em ***Bone Property***, prime e mantém `Alt` e desmarca ***Deform***.

![](/files/84d5926e76b3d0979a767043ef03f16308d53b9d)

*Duplica os bones e move-os para uma layer diferente.*

![](/files/b96ca67762f552aa938a4bd0a4701f67abe57dd2)

*Selecciona todos os bones de IK e, enquanto manténs `Alt`, desmarca Deform.*

De seguida, terás de criar um bone que vai controlar a cadeia de IK. Selecciona a head do bone do pé e extrude-o no Y. Depois, prime `Alt+P` para remover o parent, porque o bone de IK não pode fazer parte da cadeia e não pode estar ligado a outros bones. Terás de tornar o pé child do IK, por isso selecciona primeiro o bone do pé e por último o bone de IK e prime `CTRL+P` > ***Keep Offset***.

![](/files/88475ad5dc75f8b623a4980987186b992c3a77b6)

*Criar um bone de IK.*

Em ***Pose Mode***, clica no bone da canela, prime `CTRL+Shift+C` e selecciona ***Inverse Kinematics***. Vai parecer tudo desarrumado, mas não te preocupes, isso será corrigido depois de alterares algumas definições. Com a canela seleccionada, vai às ***Bone Constraint Properties*** como mostrado abaixo.

![](/files/ca5479ecefb7c770f0b2a8cbb344eff46a195b91)

*Em Bone Constraint Properties podes editar as definições de IK.*

Para o ***Target***, selecciona ***Armature***. Depois de o fazeres, aparecerá uma opção chamada ***Bone*** sob Target. Aí, selecciona o bone de IK que criaste. Em ***Chain Length*** definirás o número de bones que devem ser afectados pelo IK. Como estamos a fazer uma perna, queremos que afecte a canela e a coxa, por isso define para ***2***.

### Pole Target

O Pole Target permite-te controlar a direcção em que os bones vão dobrar. Estes são os passos para adicionar correctamente um pole target (ou pole vector) à cadeia de IK:

* Em ***Edit Mode***, duplica o bone da coxa e coloca-o em qualquer lugar.
* Selecciona a articulação do joelho (ou a tail do bone da coxa), prime `Shift+S` > ***Cursor to Selected.***
* Selecciona o bone da coxa duplicado, prime `Shift+S` > ***Selection to Cursor***.
* Em ***Transform Orientation***, muda-o para ***Normal*** e em ***Tansform Pivot Point*** muda para ***Active Element***.
* Roda o bone em X -90 (ou 90, dependendo da orientação que definiste) para que aponte para a frente e move-o em Y até ficar numa boa posição à frente da perna. Também o podes escalar um pouco para baixo.

![](/files/e0dee9fd54ca7663b8f5941436b53a5a62805d61)

*Criar um Pole Target.*

De volta a ***Pose Mode***, selecciona novamente a canela e vai a ***Bone Constraint Properties***. Para ***Pole Target*** selecciona ***Armature*** e para ***Bone***, selecciona o pole target que acabaste de criar. Se mostrares os deform bones, verás que o pole target rodou um pouco o IK.

![](/files/f25b6260aef308bfa429f70b068dae5c3a72d264)

*A cadeia de IK e os deform bones já não estão alinhados por causa do pole target.*

![](/files/ea0456880dab3ede56d1eee83a9a6cbb2b3601e6)

*A rotação pode ser corrigida alterando o Pole Angle.*

Isso pode ser facilmente corrigido alterando o ***Pole Angle***. Normalmente -90° resolve, mas podes sempre ajustá-lo manualmente para garantir que ficam perfeitamente alinhados.

Por fim, torna tanto o bone de IK como o pole target child do bone root seleccionando ambos, depois o root, prime `CTRL+P` > ***Keep Offset***.

Move a coxa e a canela para outra layer, uma vez que não vais precisar delas para animação, são apenas parte da configuração de IK.

### Associar Deform Bones a Bones Não Deformantes

A cadeia de IK está toda configurada, mas deve controlar os deform bones e neste momento isso não está a acontecer, mas podes usar constraints para corrigir isso. Em ***Pose Mode***, selecciona primeiro um bone da cadeia de IK e por último o respectivo bone deformante, prime `CTRL+Shift+C` e selecciona ***Copy Transforms***. Faz isso para todos os bones, que neste exemplo são coxa, canela, pé e dedos do pé. Os deform bones ficarão com uma cor verde, o que significa que têm uma constraint. Se clicares em ***Bone Constraint Properties***, podes ver que constraint está a ser usada e que bone a está a controlar.

![](/files/b712420307b796d3ad73a1f5da947b9b412b75eb)

*Bones verdes têm constraints. Podes verificá-las em Bone Constraints Properties.*

{% hint style="info" %}
**💡 Dica**: Não tens de configurar o IK todo de novo para o outro lado. Em *Edit Mode*, basta apagares todos os bones do lado que não tem IK, depois selecciona todos os deform bones e a cadeia de IK que queres espelhar, clica com o botão direito do rato e selecciona *Symmetrize*. Não só irá espelhar os bones, como também todas as constraints!
{% endhint %}

![](/files/49796d6a87448e866cd52b12c4b50ae70d3290d2)

*Usa a opção Symmetrize para espelhar também as constraints!*

### Esqueleto não deformante e controlos\*\*

É uma boa prática não animar directamente os deform bones, porque podes acabar por quebrar o rig e adicionar constraints à armature deformante afectará a hierarquia e o comportamento dos bones quando exportados.

A solução para isto é criar um esqueleto não deformante que controle o deformante através de constraints, e que possa ser animado em segurança, sem risco de quebrar nada. Também podes personalizar a sua forma para ser mais fácil identificar a função de um bone. Esses serão os controlos do teu rig.

O processo para isto é praticamente o mesmo que foi feito para a configuração do IK. Duplica todos os bones (excepto a configuração de IK) com `Shift+D` e move-os para uma layer diferente premindo `M` e escolhendo outro slot. Renomeia-os todos adicionando **Control\_** ou **CTRL\_** como sufixo para saberes que fazem parte da hierarquia de controlos. Prime `A` para os seleccionar a todos e em ***Bone Property***, prime e mantém `Alt` e desmarca ***Deform***.

Agora terás de adicionar constraints para associar os dois esqueletos. Para tornar este processo mais fácil, podes mudar a forma do bone clicando em ***Object Data Properties*** e, em ***Viewport Display***, altera ***Display As*** de ***Octahedral*** // desenhar UI ***B-Bone***. Depois, prime `CTRL+Alt+S` para escalar os bones um pouco para cima, para que fiquem maiores do que os originais.

![](/files/bd3b100fb2764cf2d684cac4e84be024d0f39100)

*Altera a forma dos bones e aumenta a sua escala para ser mais fácil diferenciar os dois esqueletos.*

Para as constraints, selecciona primeiro um control bone e por último o respectivo bone deformante, prime `CTRL+Shift+C` e selecciona ***Copy Transforms***. Faz isso para todos os control bones.

Podes separar os control bones em diferentes grupos e atribuir-lhes cores. Vai a ***Pose Mode*** > ***Object Data Properties*** > ***Bone Groups***. Clica no ícone ***+*** para adicionar um novo grupo, renomeia-o como quiseres e selecciona uma cor para ele. Depois, selecciona os bones que queres que façam parte desse grupo e clica em ***Assign***. Podes criar tantos grupos quantos quiseres para manter tudo organizado. Também podes mover diferentes grupos de bones para layers diferentes.

![](/files/6167ed9b3efb0bcca3e36272e8ca4a8c708426b2)

*Os grupos de bones ajudar-te-ão a manter o teu rig organizado e mais intuitivo.*

Uma forma extra de melhorar o teu rig é personalizar a forma dos bones. Para isso, vai a ***Object Mode***, pressione `Shift+A` para adicionar uma mesh, como um círculo, por exemplo. Para manter tudo organizado, cria uma collection para as tuas formas e move para lá o círculo que acabaste de criar. Volta a Pose Mode e, em ***Object Data Properties*** > ***Viewport Display*** marca ***Shapes***. Selecciona o bone que queres e depois, em ***Bone Properties***, clica em ***Viewport Display*** > ***Custom Shape***. Em ***Custom object***, selecciona o círculo no outliner.

![](/files/c9ce6ecb4624baa78e5a9e610de4f1f1fb6a4c24)

*Personalizar a forma do bone.*

Se a forma parecer errada, podes sempre editá-la em ***Edit Mode***, como mostrado abaixo. Certifica-te de que a forma tem a mesma orientação do bone.

![](/files/c4151fc37a50e7aa87e1c9658dcb7b5f054ab7f9)

*Edita a forma em Edit Mode.*

Cria formas diferentes para controlos diferentes de acordo com a sua função para tornar o teu rig mais intuitivo.

E é isso! Com toda esta informação, estás pronto para fazer um rig básico!


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/modelacao-e-animacoes-3d/create-a-rig.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
