Vamos criar um Rig simples e associar o mesmo a um modelo já feito. Vamos utilizar o modelo Blu criado por Macouno (aka Dolf Veenvliet).
O Blu já vem com uma armadura muito simples mas nós vamos criar uma nova que é um pouco mais sofisticada.
Para este exercício utilize o ficheiro 38_Blu_limpo.blend
Após terminar este exercício, recomenda-se o treino com outros modelos ou melhorar a flexibilidade desta armadura incluindo controladores IK para os braços, dedos nas mãos, etc.
1. Vamos começar por preparar o modelo: coloque a Origin no centro da geometria; faça Apply a eventuais rotações e alterações na escala.
2. Coloque-se em visão frontal, ortogonal, e coloque o 3D Cursor na Origin do modelo. [Selecione o modelo, clique em SHIFT+S e Cursor to Selected]
3. Adicione um Single Bone. No painel de opções da armadura, ative a opção X-Ray para conseguir ver o osso através da malha.
4. Em visão lateral, rode o Bone e coloque-o em posição similar à da imagem. A Tip está dentro do modelo e o Bone está na linha e cintura.
5. Em Edit Mode, selecione a Tip do Bone e faça Extrude.
No exemplo, fizemos Extrude 4 vezes. De todas as vezes, após o Extrude (E), bloqueámos o eixo Z (Z) e depois procedemos a alguns ajustamentos em Y para criar uma ligeira curvatura na espinha.
6. Selecione novamente a Tip do primeiro Bone (daqui em diante designado por Root) e faça extrude para baixo. Em visão frontal, mova a Tip do novo Bone no eixo Z até conseguir um posicionamento similar ao da imagem abaixo.
7. Atribua nomes significativos a todos os Bones e ative a visibilidade dos Names. No nosso exemplo, utilizámos Root, Pelvis, Stomach, Chest, Neck e Head.
8. Coloque-se em visão frontal e ative a opção X-Axis Mirror (barra de Tools).
9. Selecione o Tip e clique em E para fazer Extrude em Mirror. Com o X-Axis Mirror o Extrude normal (E) é substituído pelo Extrude em Mirror. Posicione os novos ossos de forma similar à imagem.
10. Construa a armadura para as pernas e pés utilizando o Extrude. Proceda aos ajustamentos necessários reposicionando as Tips e os Roots. Procure manter os bones no centro da malha. As alterações que faz de um lado aplicam-se automaticamente ao outro.
11. Em visão frontal, selecione um dos Bones que ligam o Pelvis ao início da perna e apague-o.
12. Renomeie os novos Bones. Nós utilizámos Thigh, Leg, Foot e Toe. Mantenha a logica do _L e _R para indicar Esquerda e Direita!
13. Utilize os mesmos processos e procedimentos adotados nas pernas para criar a armadura para os braços.
14. Quando acabar esta parte, crie dois olhos e posicione os mesmo. Os olhos aqui criados são duas UV Sphere.
15. Volte à sua armadura e em Edit Mode adicione novos bones para os olhos.
Utilizámos o mesmo procedimento. Extrude duas vezes e apagámos o bone que liga a Tip do bone Head ao root do bone do olho.
O root do bone do olho está posicionado exatamente no centro da UV Sphere. Utilizámos o cursor 3D para posicionar com exatidão. Seleccionar UV Sphere e SHIFT+S (Cursor to Selected), selecionar root do bone do olho e SHIFT+S (Selected to Cursor)
16. Selecione os dois bones dos olhos e SHIFT+S, escolha Cursor to Selected. Faça SHIFT+A para adicionar um novo osso que vai surgir exatamente no meio dos dois bones.
Em visão lateral, utilize o widget para deslocar o novo bone afastando-o dos olhos (seta verde). Este bone chama-se Eye_target e vai servir para controlar para onde os olhos estão virados.
17. Passe para Pose Mode. Selecione o Eye_L e aplique-lhe um Bone Constraint do tipo Track To. Repita o processo para o Eye_R.
Os bones dos olhos vão passar a apresentar uma cor diferente dos restantes bones indicando que têm um Constraint.
Em Pose Mode, se mover o Eye_target irá ver os bones dos olhos rodarem na sua direção.
18. Vamos agora configurar as pernas e pés com um setup de IK (Inverse Kinematics).
Em Edit Mode e em visão lateral, selecione o Tip da Leg e faça Extrude. Posicione o novo bone de acordo com a imagem e nomeie os bones IK_Leg_L e IK_Leg_R.
19. Estes dois novos bones não vão ser “child” de nenhum outro bone nem vão estar ligados. Irão servir para podermos manipular livremente a IK Chain.
Em cada um destes novos dois bones, apague o bone Parent e desative o Connected.
20. De seguida, vamos criar Pole Targets, bones que indicam a direção para onde os joelhos apontam para que as rotações dos joelhos surjam sempre com a direção correta.
Selecione o Foot e duplique-o (SHIFT+D), posicione o novo bone em frente do joelho e alinhado.
Dê os nomes Knee_L e Knee_R aos novos bones.
21. Torne o Knee_L child do IK_Leg_L.
Repita o processo para o Knee_R.
22. Em Pose Mode, selecione o Leg_L e aplique-lhe um Bone Constraint do tipo Inverse Kinematics.
Siga a imagem para perceber as configurações.
Por vezes, o bone ganha uma rotação algo estranha. Se necessário, ajuste o Pole Angle para compensar essa rotação.
Repita o processo no Leg_R.
23. Experimente em Pose Mode agarrar (G) o IK_Leg_L e IK_Leg_R e mova-o para ver se o joelho dobra corretamente.
No nosso caso foi necessário rever o Pole Angle mas tudo funcionou melhor depois de fletirmos ligeiramente os joelhos e ajustarmos a posição do Knee_L e Knee_R (em Edit Mode!).
Em Edit Mode, selecione a junta entre a Thigh_L e a Leg_L (o joelho) e desloque-a ligeiramente para a frente, fletindo ligeiramente o joelho.
24. A Armadura está pronta, é tempo de fazermos o Skinning, aparentar e associar a armadura à malha. Vamos começar pelos olhos.
Em Object Mode, selecione primeiro o olho esquerdo e depois a armadura (com SHIFT). Clique em CTRL+P e escolha a opção With Automatic Weights.
Repita o processo para o olho direito.
25. O parentesco que acabámos de criar associou grupos de vértices da malha do objeto que constitui o olho à armadura. A associação tem em conta a proximidade e geralmente produz bons resultados iniciais que, ainda assim, têm de ser verificados e melhorados.
Selecione o olho esquerdo e passe para Edit Mode. Na janela Vertex Groups foram criados tantos grupos quantos os ossos mas, neste caso, queremos que...
- todos os vértices do olho estejam associados só a um osso (Eye_L)
- o osso Eye_L é o único que está associado aos vértices deste objeto.
Utilize as ferramentas para verificar a associação automática nos dois olhos.
Assign – atribui ao grupo (que tem o mesmo nome do osso) selecionado os vértices que estiverem selecionados na malha com o peso (Weight) definido.
Remove – remove os vértices que estiverem selecionados na malha do grupo
Select – seleciona os vértices que pertencem ao grupo selecionado
Deselect – retira a seleção dos vértices
26. Depois de verificar que todos os vértices do olho esquerdo estão associados ao grupo Eye_L e apenas ao grupo Eye_L, verifique se o mesmo acontece com o Eye_R.
Se tudo estiver bem, em Pose Mode mova o Eye_target e verá os olhos a apontarem na direção do Eye_target.
27. Em Object Mode, selecione a malha da personagem e depois a armadura (com SHIFT). Clique em CTRL+P e escolha a opção With Automatic Weights.
28. Repita o processo de verificação.
Se preferir, pode utilizar o método de Weight Painting para proceder a um skinning mais completo, criando zonas de influência total (a vermelho) e zonas intermédias (amarelo e verde).
Atenção:
- nem todos os bones deverão ter vértices associados! Existem alguns bones que não tem nenhum vértice associado (Eye_target, Knee_L, etc.).
- não deve ter apenas vértices com 1 (vermelho = máximo de Weight ou influência) e vértices com 0 (azul = mínimo de Weight ou influência). Uma boa deformação implica ter áreas com Weights diferentes.
Resultado da associação com Automatic Weigths ao bone Upper_arm_L
Upper_arm_L depois de corrigido
Resultado da associação com Automatic Weigths ao bone Lower_arm_L
Lower_arm_L depois de corrigido
Resultado da associação com Automatic Weigths ao bone Head
Repare como a cara da personagem iria deformar de forma estranha caso animasse o bone Head...
Resultado da associação com Weigth Painting ao bone Head