10.1. Rigify.
Vamos agora fazer a armação do personagem.
Tendo o personagem Warrior uma forma humanóide, vamos utilizar o Addon Rigify, desenvolvido por Nathan Vegdahl no contexto do projecto Sintel.
Num próximo semestre veremos como acrescentar novos ossos à armação Rigify, a propósito do desenvolvimento do modelo feminino/Sucubus, e como construir uma armação de raiz, a propósito do desenvolvimento do modelo monstro/Dragon.
10.1.1. Base Rig.
Seleccione a malha da cabeça, torso e mãos, [RMB], a malhas de todos os adereços, [Shift]+[RMB], e junte-as, [Ctrl]+[J]. Elimine os vértices sobrepostos, [W] > Remove Doubles.
Nota: A junção de todas as malhas num mesmo objecto é opcional. No caso de modelos em que existam malhas com vasta zonas sobrepostas poderá fazer sentido manter as malhas separadas. Deverá ser tido em atenção se a quando da deformação da malha pela armação faz ou não sentido que as malhas estejam ligadas.
Designe a malha por Warrior_Mesh, e coloque na layer 1, [M] > 1.
Active o Addon Rigify, File > User Preferences > Addons > Rigging.
Centre o cursor, [Shift]+[S] > Cursor to Center.
Insira uma armação tipo Human, [Shift] + [A] > Armature > Human(Meta-Rig).
Note que na nova versão do Blender existem mais duas opções: Animals e Basic.
No painel Dislay do context Armatures (Object Data)
active X-Ray, de modo a poder ver a armação através
da malha.
Com a armação seleccionada, em Object Mode, reposicione
a origem da armação entre os pés do personagem, [G] > [Z],
e escale a armação, [S], adaptando-a aproximadamente à
dimensão do personagem.
Aplique o escalamento, [Ctrl]+[A] > Scale.
Entre em modo edição, [Tab]. No painel Armature Option
da tabela de operadores, [T], da janela de propriedades,
active X-Axis Mirror.
Na actual versão do Blender, a armação tem um conjunto de ossos na face que não existiam
a quando da publicação dos presentes apontamentos.
Dado que não vamos utilizar expressões faciais, para que possa seguir mais
de perto os apontamentos entre em modo edição, [Tab], seleccione os ossos
da face, [B],
e elimine-os, [X].
Vamos agora reposicionar agora cada um dos ossos adaptando-os ao modelo.
Seleccione, [RMB] a raiz do osso da coxa (thigh) e reposicione-a, [G]. Em seguida seleccione, [RMB], a ponta do osso da coxa e reposicione-a, [G].
Verifique o ajustamento ao modelo quer na vista frontal quer na vista lateral.
Seleccione todos ossos do pé, [B], e reposicione-os, [G].
Na vista Right Ortho, [3], seleccione, [RMB],
e adapte a posição, [G], de cada um dos ossos do pé.
Note que na nova armação deixou de existir o osso heel.
Reposicione, [G] > [Z], os ossos das ancas (hips), coluna
(spine) e peito (chest), colocando a raiz do osso das
ancas sobre a pélvis, a raiz do osso da coluna sobre
o umbigo e a raiz do osso do peito sobre o externo.
Note a actual versão da armação tem um conjunto de ossos diferentes na coluna.
Os ossos hips, spine e chest da antiga armação, que pode ver na figura,
deram agora lugar ao ossos spine, spine.001, spine.002 e spine.003,
que deve posicionar como se mostra na figura.
Exitem ainda ossos novos, pelvis e breast, que deve posicionar como se mostra na figura.
Reposicione os ossos do pescoço (neck) e da cabeça (head).
Na nova armação, os ossos neck e head deram lugar aos ossos spine.004, spine.005, e
spine.006, que deve posicionar como se mostra na figura.
Rectifique a posição dos ossos na vista Right Ortho.
Relativamente à nova armação, o posicionamento dos ossos deve ser tal como se mostra na figura.
Se considerar conveniente, de modo a melhor posicionar o
ossos tendo em atenção o posicionamento dos contornos da malha,
active Wire e Draw All Edges no painel Display do contexto Object
da janela de propriedades.
Seleccione, [G], a ponta do osso do ombro (shoulder) a raiz
do osso do braço (upper_arm), [Shift]+[RMB], e reposicione-os, [G].
Seleccione, [RMB], a raiz do osso do antebraço (forearm) e
posicione-o, [G], na zona do cotovelo.
Seleccione todos os ossos da mão, [B], e posicione a raiz sobre o pulso.
Ajuste a posição dos ossos na vista Righ Ortho.
Ajuste agora cuidadosamente a posição de todos os ossos da mão e dos dedos.
Se quiser centrar os ossos das falanges com rigor, seleccione
a malha, [RMB], entre em modo edição, [Tab], seleccione o
contorno da falange, [Alt]+[RMB], e centre o cursor,
[Shift]+[S] > Cursor to Selected.
Em seguida seleccione a armação, [RMB], entre em modo edição,
[Tab], seleccione a raiz do osso a centrar, [RMB], e coloque-a
sobre o cursor, [Shift]+[S] > Selection to Cursor.
No painel Display do contexto Armature da janela de
propriedades active Axes.
Seleccione cada um dos ossos dos dedos, [RMB], e rode-os sobre o
seu próprio eixo, [Ctrl]+[R], de modo a que o eixo dos zz
aponte no sentido da dobra do dedo.
Tenha em especial atenção a rotação dos ossos do polegar.
Fica assim terminada a adaptação da armação base ao personagem.
Add Bones to Base Rig.
A partir da armação base, passaremos agora à geração automática, por aplicação do algoritmo Rigify, de toda a estrutura de ossos de deformação e controle, conforme descrito nas secções seguintes.
Em qualquer altura após a geração da estrutura de deformação e controle poderão ser criados novos ossos pelo utilizador, com as funcionalidades julgadas convenientes.
Os ossos criados poderão ou não respeitar os princípios de distribuição inerentes à estrutura criada pelo algoritmo Rigify.
Se se pretender que a estrutura de ossos de deformação e controle associada aos osso criados seja gerada automaticamente pelo algoritmo, os novos ossos deverão ser criados neste momento, isto é, associados à armação base antes da activação do algoritmo.
Para associar novos ossos à armação base, seleccione a armação,
[RMB], entre em modo edição, [Tab], e recorra às funcionalidades
do painel Rigify Buttons, do contexto Armature da janela de propriedades.
Para além das estruturas básicas 1 osso, basic.copy, e uma cadeia de 3 ossos, basic.copy_chain, é possível a inserção de estruturas típicas, como sejam um braço ou uma perna, que têm já associados os mecanismos de geração das cadeias de cinemática directa e inversa.
10.1.2. Control Rig.
A armação base, como o próprio nome indica, serve de base ao Addon Rigify para a geração de todos os ossos necessários à deformação e controle do personagem.
Seleccione a armação base, [RMB], e designe-a por Warrior_BaseRig
(por exemplo no painel Item a tabela de propriedades da janela 3D).
Para que as diversas armações que vamos gerar tenham um correcto posicionamento relativamente ao personagem a origem da armação base deve estar colocada na origem do sistema de eixos global.
Seleccione a armação, [RMB], e coloque o cursor 3D sobre a
sua origem, [Shift]+[S] > Cursor to Selected.
Seleccione a malha Warrior_Mesh e coloque a sua origem sobre o cursor 3D, Origin > Origin to 3D Cursor. Faça o mesmo às restantes malhas, no caso presente, a malha Warrior_Weapons.
Coloque o cursor 3D na origem do sistema global,
[Shift]+[S] > Cursor to Center.
Seleccione a armação e centre-a no cursor 3D, [Shift]+[S] > Selection to Cursor. Repita o procedimento para todas as malhas.
Temos assim a armação base e todas as malhas centradas na origem.
Verifique o facto no painel Transform da tabela de propriedades
da janela 3D.
Caso a armação ou alguma das malhas tenha um factor de escalamento diferente de 1.0, aplique o escalamento ao objecto em causa, [Ctrl]+[A] > Scale.
Seleccione a armação base, [RMB]. No painel Rigify Buttons
do contexto Armature da janela de propriedades pressione Generate.
O Addon Rigify gerará automaticamente uma armação com o
nome padrão rig, com um conjunto de ossos de funções
diversas, que passaremos a analisar.
Seleccione a armação rig e designe-a por Warrior_ControlRig.
Seleccione a armação Warrior_BaseRig, [RMB], e passe-a para outra layer, [M] > …. Por alguma razão, poderá vir a ser necessário recorrer a ela para gerar novamente a armação de controlo.
Seleccione a armação Warrior_ControlRig, [RMB]. Active o
contexto Armature da janela de propriedades. Pode ver, no painel Skeleton, que os
3 últimos layers da linha inferior não estão activos.
Do ponto de vista do animador o conjunto de ossos colocados nestes 3 layers é completamente irrelevante. Tal não é verdade no entanto para o necessário trabalho de associação da armação de controle à malha do personagem (skining).
O conhecimento da distribuição dos ossos por estes 3 layers é também relevante se se pretender inserir novos ossos na armação.
ORG Bones.
Seleccione a mala Warrior_Mesh, [RMB], e escoda-a, [H].
No painel Skeleton do contexto Armature da janela de propriedades
seleccione o layer mais à direita.
Seleccione a armação que se tornou visível, [RMB]. No painel
Display do contexto Armature da janela de propriedades active
Names.
Todos os ossos colocados
nesta layer, tem o mesmo nome do osso correspondente da armação
base mas agora com o prefixo ORG.
A partir da armação base, o algoritmo Rigify gera uma cópia absolutamente idêntica da armação e renomeia cada um dos ossos com o prefixo ORG.
Todos os ossos de deformação e controle serão gerados automaticamente pelo algoritmo a partir dos ossos contidos neste layer.
Novos ossos inseridos na armação base pelo utilizador terão as suas réplicas nesta layer e darão origem à associada estrutura de deformação e controle.
Novos ossos que sejam criados após a activação do algoritmo não têm qualquer conveniência em ter réplicas neste layer criadas pelo utilizador.
DEF Bones.
Seleccione agora o terceiro layer a contar da direita.
Neste layer, e apenas nele, encontram-se todos os ossos que
deformam a malha a que armação será associada, ou seja,
apenas os ossos deste layer têm activo o painel Deform
do contexto Bone da janela de propriedades.
Todos os ossos deste layer têm o prefixo DEF e são
criados automaticamente pelo algoritmo a partir dos
ossos ORG.
Novos ossos inseridos na armação base pelo utilizador terão as suas réplicas nesta layer.
Novos ossos que sejam criados após a activação do algoritmo e que se destinem a deformar a malha poderão ou não ser colocados neste layer, embora seja boa prática que assim seja.
O acesso a este layer, embora não obrigatório, é conveniente no processo de definição do menor ou maior grau de influência dos ossos de deformação sobre cada um dos vértices da malha, ou seja, no processo Weight Paint.
MCH Bones.
Seleccione agora o segundo layer a contar da direita.
Neste layer encontram-se todos os ossos de controle
que não têm acção directa por parte do animador.
Todos os ossos têm prefixo MCH e são criados automaticamente pelo algoritmo Rigify. Como pode ver a estrutura é muito complexa, contendo todas as cadeias de cinemática directa a inversa, como é reconhecível pelos sufixos dos nomes dos ossos.
Novos ossos inseridos na armação base pelo utilizador ou criados posteriormente, e a que correspondam estruturas de controle, não terão quaisquer réplicas neste layer, sendo visíveis, e portanto actuáveis pelo animador. Caberá ao utilizador seleccionar os ossos de controle não relevantes para o animador e, se o desejar, colocar neste layer.
Control Bones.
Nos restantes layers encontram-se todos os ossos
que são relevantes para o animador.
A activação e desactivação da visualização de cada um dos
ossos de controle feito no painel Skeleton do contexto
Armature da janela de propriedades é equivalente à activação
e desactivação dos botões do painel Rig Layers da tabela
de propriedades, [N], da janela 3D.
Todos os ossos de controle são descritos na secção Weight Paint.
WGT Meshes.
Todos os ossos de controle têm activo o parâmetro Shapes
no painel Displays do contexto Armature da janela de propriedades.
Sendo as malhas que os representam criadas pelo algoritmo
Rigify e colocadas no layer 20 da janela 3D.
Todos os ossos inseridos na armação base pelo utilizador terão associadas uma malha, colocada no layer 20 da janela 3D, e serão representados por ela.
Todas as novas malhas terão o formato da envolvente do octaedro representante do osso (à semelhança dos ossos das omoplatas).
Cabe ao utilizador criar ou não malhas representativas dos ossos que seja, criados após a activação do algoritmo.
10.1.3. Skinning.
Seleccione a malha, [RMB], seleccione a armação de controle,
[Shift]+[RMB], e associe-as, [Ctrl]+[P] > With Automatic Weights.
Seleccione a malha, [RMB]. No contexto Modifiers da janela
de propriedades pode verificar que foi associada à malha um
modificador do tipo Armature.
Pode ver os diversos grupos de vértices criados no painel
Vertex Groups do contexto Object Data da janela de
propriedades.
Feita a atribuição automática de pesos é agora necessário
verificar se esta é satisfatória.
Seleccione a armação, [RMB], e entre em Pose Mode, [Ctrl]+[Tab].
Seleccione o osso da canela, [RMB], e desloque-o, [G] ou [R]. Pode ver que, como os pesos foram mal atribuídos, as malhas das correias não acompanham a bota.
Seleccione o osso da coluna, [RMB], e desloque-o, [G] ou [R].
Pode ver que as malhas do arreio não acompanham o tronco.
Estes são grandes erros da atribuição automática de pesos que são imediatamente visíveis. Para além deste é necessário verificar em pormenor se a definição de pesos em cada um dos grupos de vértices é satisfatória.
Antes de mais é necessário fazer uma correcção no posicionamento
da raiz do osso da coxa.
A raiz está posicionada demasiado acima, pelo que a sua rotação inviabiliza completamente o posicionamento do cinto ao longo da animação, independentemente dos pesos que se lhe possam atribuir no contexto Weight Paint.
Vamos modificar a posição da raiz do osso da coxa de
modo a que a perna rode por baixo do cinto.
Seleccione a armação base, [RMB], e entre em modo edição, [Tab]. Seleccione a raiz do osso da coxa, [RMB], e desloque-a mais para baixo, [G].
Saia de modo edição, [Tab]. Seleccione a armação Warrior_ControlRig, [RMB], e elimine-a, [X].
Seleccione a malha Warrior_Mesh, [RMB]. No contexto Modifiers da janela de propriedades elimine o modificador Armature.
Seleccione a armação base, [RMB], e, no painel Rigify Buttons do contexto Armature da janela de propriedades pressione de novo Generate. Designe a armação criada por Warrior_ControlRig.
Passe a armação base para outra layer, [M] > ….
Seleccione a malha Warrior_Mesh, [RMB], seleccione a armação Warrior_ControlRig, [Shift]+[RMB], e associe-as, [Ctrl]+[P] > With Automatic Weights.
Seleccione a armação de controle e entre em modo pose,
[Ctrl]+[Tab].
Seleccione, [RMB], o osso do pé esquerdo que controla a cinemática inversa, foot.ik.L.
Note que existem diversos ossos sobrepostos. Certifique-se que seleccionou foot.ik.L.
No painel Rig Main Properties da tabela de propriedades da
janela 3D, [N], desloque o controlador FK/IK todo para a direita.
Note que na actual versão do Blender a legenda do controlador FK/IK passou
a ser IK_FK, pelo que, aqui, como em todos os equivalentes pontos
dos presentes apontamentos, onde se lê desloque para a direita (para fazer
IK igual a 1 e FK igual a 0) deve passar e ler-se desloque para a esquerda
(para fazer FK igual a 0 e IK igual a 1).
Arrastando o rato, desloque o pé para cima e para
a frente, de modo a dobrar a perna.
Pode ver que agora a dobra da anca força a que as calças se enruguem por debaixo do cinto.
Existe ainda a necessidade de corrigir a deformação do cinto na parte posterior, mas trata-se agora de um problema absolutamente controlável no contexto Weight Paint. Deixaremos isso para mais tarde.
Seleccione, [RMB], o osso upper_arm.fk.L e deloque-o
para cima, [G], colocando o braço na horizontal.
Verifique se o enrugamento/dinâmica do ombro é satisfatória. Se necessário corrija a posição da raiz do osso braço e gere de novo a armação de controle.
Seleccione os ossos controladores dos dedos e escale-os, [S],
verificando se não cometeu erro no posicionamento dos ossos
dos dedos da malha base. Se necessário corrija a rotação dos
ossos dos dedos e gere de novo a armação de controle.
Os controladores dos dedos acima mencionados não existem na nova versão da armação.
Para replicar a acção referida no parágrafo anterior terá de seleccionar os controladores de cada uma das falanges e
rodá-lo transversalmente. Na figura, segundo o eixo local dos xx, [R]->[X]->[X].
Para repor a posição de repouso da armação de controle seleccione todo os ossos, [A], e pressione [Alt]+[G], para anular as translações, [Alt]+[R], para anular as rotações, e [Alt]+[S], para anular os escalamentos.
10.1.4. Weight Paint.
A janela Outliner está na configuração padrão All Scenes,
estando acessíveis todos os objectos em cena e sendo morosa
a procura das malhas e armações principais, nomeadamente em
resultado de existir um grande número de objectos WGT.
Seleccione Visible Layers para que se torne mais fácil
o acesso à armação Warrior_ControlRig e à malha Warrior Mesh.
Seleccione a malha de controle, [RMB], e entre em modo
pose, [Ctrl]+[Tab].
No contexto Armature da janela de propriedades active X-Ray, no painel Display, e, no painel Skeleton active o terceiro layer em baixo a contar da direita, de modo a tornar visível os ossos de deformação.
Comecemos por corrigir os pesos das correias das caneleiras.
Seleccione, [RMB], o osso DEF-shin.02.L.
Seleccione a malha. Dada a profusão de objectos na janela
3D é mais fácil fazer a selecção, [LMB], da malha
Warrior_Mesh na janela Outliner.
Entre em modo Weight Paint, [Ctrl]+[Tab].
Pressione, [Z], para entrar em modo de sombreamento Wire Frame.
Pode ver os pesos que foram atribuídos automaticamente a cada um dos vértices do grupo associado ao osso DEF-shin.02.L, (Na actual versão este osso é designado por DEF.shin.L.001) , segundo um código de cores em que o vermelho corresponde a uma influência de 100% e o azul a uma influência de 0%.
Note o gradiente de influência na bota.
A caneleira é um objecto rígido que se deve mover sem deformação acompanhando o movimento do osso DEF-shin.02.L. Note que na caneleira os pesos foram atribuídos correctamente, tendo todos os vértices o mesmo valor, correspondente ao valor máximo (o valor 1.0, correspondente a vermelho), pelo que todos os vértices acompanham o osso sem qualquer deformação ou atraso.
Nas correias os pesos foram atribuídos incorrectamente. Vamos assumir que as correias são também objectos rígidos que devem acompanhar o movimento do osso DEF-shin.02.L.
Saia de modo Weight Paint, [Ctrl]+[Tab].
Entre em modo de sombreamento Texture, [Alt]+[Z].
Entre em modo edição, [Tab].
Seleccione um vértice de uma das submalhas das correias, [RMB], e alargue a selecção a toda a submalha, [Ctrl]+[L].
No painel Vertex Groups do contexto Object Data da janela
3D pode verificar que o grupo DEF-shin.02.L está
seleccionado e que o parâmetro Weight tem o valor 1.0.
Pressione Assign.
Saia de modo edição, [Tab], entre de modo Weight Paint,
[Ctrl]+[Tab], e em modo de sombreamento Wire Frame, [Z].
Pode ver que todos os vértices da submalha seleccionada têm agora peso 1, como é desejado.
Repita os procedimentos anteriores para todas as malhas
das correias e fivelas.
Em modo pose, [Ctrl]+[Tab], seleccione o osso shin.fk.L
e mova-o, [G].
Pode ver que agora as correias acompanham correctamente o movimento da bota.
Seleccione o osso DEF-shin.02.R e repita os procedimentos
de atribuição de pesos, agora para as correias da caneleira
do pé direito.
Em modo pose, [Ctrl]+[Tab], verifique os resultados da correcção
feita aos pesos atribuídos automaticamente às malhas das correias
das botas.
Vamos agora corrigir os pesos atribuídos ao cinto.
Seleccione o osso DEF-thigh.01.L, [RMB]. Seleccione a malha,
[LMB] na janela Outliner. Entre em modo Weight Paint, [Ctrl+[Tab],
e modo de sombreamento Wireframe, [Z].
Pode ver que o osso DEF-thigh.01.L deforma o cinto, e ainda parte do torso acima do cinto.
No painel Brush da tabela de operadores, [T], da
janela 3D seleccione Subtract.
No painel Options active X Mirror. Escusamos assim de
repetir os procedimentos para o osso DEF-thigh.01.R.
Controle o raio do pincel, [F], e arraste o cursor pela zona
do troco acima do cinto de modo a anular o valor de todos os pesos.
Saia de modo Weigt Paint, [Ctrl]+[Tab]. Entre em modo
edição, [Tab], e modo de sombreamento Texture, [Alt]+[Z].
Caso tenha eliminado as costuras que delimitam o cinto, seleccione de novo os respectivos contornos, [Alt]+ [RMB], e marque-as de novo, [Ctrl]+[E] > Mark Seam.
Entre em modo de selecção de face, seleccione uma face, [RMB], e expanda a selecção a todo o cinto, [Ctrl]+[L].
No painel Vertex Groups do contexto Object Data especifique Weight: 0.0 e pressione Assign.
Seleccione, [RMB], o grupo de vértices DEF-thigh.01.R, que
está imediatamente por baixo no stack, e pressione Assign de
modo a anular completamente também a influência do osso da a
nca direita sobre a dinâmica do cinto.
Saia de modo edição, [Tab]. Entre em modo Weight Paint,
[Ctrl]+[Tab] e modo de sombreamento Wireframe, [Z]. Seleccione
o osso DEF-thigh.01.L, [RMB], e verifique que os pesos nos
vértices do cinto foram anulados, estando toda a malha colorida
a azul. Veja que o mesmo se verifica para o osso DEF-thigh.01.L,
seleccionando-o, [RMB].
Saia de modo Weight Paint, [Ctrl]+[Tab]. Seleccione a
armação, [RMB], e entre em modo pose, [Ctrl]+[Tab].
Seleccione o osso thigh.fk.L e movimente-o. Seleccione o osso thigh.fk.R e movimente-o. Como pode ver nenhum deles exerce qualquer influência sobre o cinto nem sobre a zona do tronco imediatamente acima.
Não se preocupe com a incorrecção da deformação da malha das calças. Faremos a correcção em breve.
Seleccione o osso spine, [RMB], e rode-o, [R].
Como pode ver, também este osso deforma a malha do cinto.
Seleccione o osso DEF-spine, [RMB]. Seleccione a malha,
[LMB] na janela Outliner. Entre em modo Weight Paint,
[Ctrl+[Tab], e modo de sombreamento Wireframe, [Z].
Controle o raio do pincel, [F], e arraste o cursor pela zona das coxas abaixo do cinto de modo a anular o valor de todos os pesos.
Saia de modo Weigt Paint, [Ctrl]+[Tab]. Entre em modo edição,
[Tab], e modo de sombreamento Texture, [Alt]+[Z].
A malha do cinto deve estar seleccionada, em resultado dos procedimentos anteriores. Caso contrário seleccione-a.
No painel Vertex Groups do contexto Object Data especifique Weight: 0.0 e pressione Assign.
Saia de modo edição, [Tab]. Entre em modo Weight Paint, [Ctrl]+[Tab]
e modo de sombreamento Wireframe, [Z]. Seleccione o osso DEF-spine,
[RMB], e verifique que os pesos nos vértices do cinto foram anulados,
estando toda a malha colorida a azul.
Saia de modo Weight Paint, [Ctrl]+[Tab]. Seleccione
a armação, [RMB], e entre em modo pose, [Ctrl]+[Tab].
Seleccione, [RMB], o osso spine e rode-o, [R]. Como pode ver o osso não exerce agora qualquer influência sobre o cinto, que mantém a sua forma rígida, nem sobre a malha das ancas.
Seleccione o osso DEF-hips, [RMB]. Seleccione a malha,
[LMB] na janela Outliner. Entre em modo Weight Paint,
[Ctrl+[Tab], e modo de sombreamento Wireframe, [Z].
Toda a malha do cinto tem o mesmo tom verde claro. Vamos manter os pesos atribuídos automaticamente.
Saia de modo Weight Paint, [Ctrl]+[Tab], passe modo
edição, [Tab], e modo de sombreamento Texture, [Alt]+[Z].
Vá seleccionando individualmente cada um dos vértices do cinto, [RMB]. Pode verificar no painel Vertex Groups da tabela de propriedades, [N], da janela 3D que os pesos, embora não sendo iguais, são todos muito próximos de 0.5, o que garante a aparência praticamente rígida do cinto.
Seleccione, [RMB], o osso do pé esquerdo que controla a
cinemática inversa,foot.ik.L.
No painel Rig Main Properties da tabela de propriedades,
[N], da janela 3D arraste o controlador FK/IK todo para
a direita.
Repita o procedimento para o osso foot.ik.R.
Certifique-se que selecciona os ossos foot.ik e não os ossos foot.fk. Note que os ossos estão sobrepostos.
Seleccione, [RMB], o osso hips e rode-o, [R].
Seleccione, [RMB], o osso torso, rode-o, [R] e movimente-o, [G].
Pode ver que a dinâmica do cinto e da zona da cintura e ancas é correcta.
Existem incorrecções na evolução da malha das calças que deixaremos para mais tarde.
Vamos agora corrigir os pesos que foram automaticamente atribuídos aos vértices do arreio.
Comecemos por corrigir a torção do tronco provocada pelo movimento do osso do braço.
Seleccione, [RMB], os ossos upper_arm.fk.L e upper_arm.fk.R
e coloque os braços na horizontal, [G].
Seleccione o osso DEF-upper_arm.01.R, [RMB], seleccione a malha na janela Outliner, [LMB], passe a podo Weight Paint, [Ctrl]+[Tab], modo de sombreamento Wireframe, [Z], e vista Back Ortho, [Ctrl]+[1].
No painel Brush da janela de operadores, [T], verifique que
está em modo Subtract e reduza significativamente o parâmetro
Strenght, por exemplo para 0.05.
No painel Options verifique que X Mirror está activo.
Controle o raio do pincel, [F], e arraste o rato na zona
das omoplatas e cintura de modo a diminuir a influência
do osso do braço.
Baixe os braços, seleccionando,[RMB], e rodando, [G],
os ossos upper_arm.fk.L e upper_arm.fk.R e corrija a
deformação da malha na zona dos sovacos.
Seleccione a malha Warrior_Mesh na janela Outliner,
[LMB], e entre em modo edição, [Tab].
Seleccione um dos contornos transversais do arreio, [Alt]+[RMB].
Esconda o contorno seleccionado, [H]. Seleccione, [RMB],
o vértice da malha do torso que lhe pareça estar mais
próximo do contorno do arreio que foi seleccionado e
reponha depois a visualização do contorno do arreio, [Alt]+[H].
No painel Vertex Groups da tabela de propriedades, [N],
da janela 3D Pode ver os pesos atribuídos ao vértice
seleccionado.
Pressione Copy para atribuir estes pesos ao contorno do arreio seleccionado.
Note que estamos a admitir que o arreio é rígido transversalmente , pelo que todos os vértices de um contorno transversal têm o mesmo peso.
Se no caso do seu personagem faz sentido que exista deformação do arreio, ou outro equipamento cuja correcção de pesos esteja a fazer, utilize esta mesma técnica mas seleccionando os pares vértice do equipamento/ vértice do torso que julgar convenientes.
Se preferir, em vez de esconder e mostra a malha alterne
entre os modos de sombreamento Texture e Wireframe.
Repita o procedimento de atribuição de pesos para
todos os contornos transversais do arreio.
Finalmente, vamos corrigir a dinâmica da malha das calças
que, com o movimento dos ossos das ancas tem um enrugamento
incorrecto na zona pélvica,
e uma distorção excessiva na zona dos glúteos.
Passe a modo Right Ortho, [3], seleccione, [RMB], o osso
thigh.fk.L, e certifique-se que, no painel Rig Main Properties
da tabela de propriedades da janela 3D, o cursor FK/IK está
encostado à esquerda.
Em modo pose, [Ctrl]+[Tab], rode, [R], o osso thigh.fk.L
até colocar a perna na horizontal.
Passe a modo de sombreamento Wireframe, [Z], e
seleccione, [RMB], o osso DEF-thigh.01.L.
Seleccione, [LMB], a malha Warrior_Mesh na janela Outliner
e passe a modo Weight Paint, [Ctrl]+[Tab].
Na barra da janela 3D passe a modo de selecção de vértices.
Seleccione todos os vértices, [A], ou apenas aquele,
[RMB], cujo peso deseja alterar. Os vértices activos
ficarão coloridos a amarelo.
Para que o peso de um vértice seja alterado, para além de estar activo o vértice tem ainda de estar sob o raio de acção do pincel.
No painel Brush da tabela de operadores da janela 3D reduza
significativamente o parâmetro Strenght e seleccione Subtract
ou Add, conforme deseje diminuir ou aumentar o valor do peso.
Certifique-se que, no painel Options, X Mirror está activo.
Reduza a dimensão do pincel, [F], ao raio de acção de um vértice e pressione [LMB] sobre cada um dos vértices, conforme julgar conveniente para corrigir a distorção. Alterne entre Add e Subtract conforme necessário.
Alterne, [Ctrl]+[Tab] > [Alt]+[Z] / [Ctrl]+[Tab] > [Z], entre Weigh Paint e Pose Mode para melhor avaliar a evolução das alterações que efectua.
Fica assim terminada a correcção da atribuição automática de pesos.
10.1.5. Weapons Rig.
Tendo como objectivo exportar o personagem para o ambiente Unity, ignore todos os pontos dos apontamento a partir daqui.
Vamos agora criar uma armação para a espada e outra para o escudo.
Não é relevante, quer do ponto de vista da fase seguinte de animação no contexto Blender quer do ponto de vista da exportação para o contexto Unity, que os ossos que controlam a espada e o escudo façam ou não parte da armação que controla o personagem. Poderíamos optar por ter apenas uma armação.
Seleccione a malha Weapons_Mesh, [RMB], e entre em modo edição, [Tab].
Seleccione apenas a malha da espada, seleccionando um vértice, [RMB], expanda a selecção, [Ctrl]+[L], e separe-a da malha, [P] > Selection.
Designe as novas malhas por Sword_Mesh e Shield_Mesh. Passe a malha do escudo para outro layer, [M] > ….
Seleccione a malha da espada, [RMB], e entre em modo
edição, [Tab]. Seleccione um contorno na zona do punho,
[Alt]+[RMB], e centre o cursor, [Shift]+[S] > Cursor
to Selected.
Saia de modo edição, [Tab], e, a partir da tabela de operadores da janela 3D, coloque a origem da malha da espada sobre o cursor, Origin > Origin to 3D Cursor.
Insira um osso, [Shift]+[A] > Armature > Single Bone. Designe a nova armação por Sword_Rig.
Seleccione de novo a espada, [RMB], e entre em modo
edição, [Tab]. Seleccione o vértice da ponta da espada,
[RMB], e centre o cursor, [Shift]+[S] > Cursor to Selected.
Saia de modo edição, [Tab]. Seleccione a armação Sword_Rig, [RMB], entre em modo edição, [Tab], seleccione apenas a ponta do osso, [RMB], e coloque a ponta do osso sobre a ponta da espada, [Shift]+[S] > Selection to Cursor.
Designe o osso por Sword.
No painel Display do contexto Armature seleccione Stick e active X-Ray.
Seleccione a malha Sword_Mesh, [RMB], a armação
Sword_Rig, [Shift]+[RMB], e associe-as, [Ctrl]+[P] > Bone.
Seleccione Sword_Rig, [RMB], movimente-a, [G], e rode-a, [R], verificando assim que a associação foi estabelecida, repondo depois a posição inicial, [Ctrl]+[Z].
Seleccione a malha do escuro, [RMB], e entre em modo
edição, [Tab]. Seleccione o vértice central interior,
[RMB], e centre o cursor, [Shift]+[S] > Cursor to Selected.
Saia de modo edição, [Tab], e, a partir da tabela de operadores da janela 3D, coloque a origem da malha do escudo sobre o cursor, Origin > Origin to 3D Cursor.
Insira um osso, [Shift]+[A] > Armature > Single Bone. Designe a nova armação por Shield_Rig.
Seleccione de novo o escudo, [RMB], e entre em modo
edição, [Tab]. Seleccione um vértice do contorno radial,
[RMB], e centre o cursor, [Shift]+[S] > Cursor to Selected.
Saia de modo edição, [Tab]. Seleccione a armação Shield_Rig, [RMB], entre em modo edição, [Tab], seleccione apenas a ponta do osso, [RMB], e coloque a ponta do osso sobre o cursor, [Shift]+[S] > Selection to Cursor.
Designe o osso por Shield.
No painel Display do contexto Armature seleccione
Stick e active X-Ray.
Seleccione a malha Shield_Mesh, [RMB], a armação
Shield_Rig, [Shift]+[RMB], e associe-as, [Ctrl]+[P] > Bone.
Seleccione Shield_Rig, [RMB], movimente-a, [G], e rode-a, [R], verificando assim que a associação foi estabelecida, repondo depois a posição inicial, [Ctrl]+[Z].
Add Bones to Control Rig.
Temos agora que garantir que a dinâmica do arreio não é independente
da existência da espada que nele está inserida. Por outro lado,
quando a espada não está inserida no arreio este deve ter liberdade
de movimento.
Assim, vamos criar ossos de controle na armação Warrior_ControlRig que permitam garantir uma dinâmica do arreio coerente com o facto da espada estar ou não nele inserida.
Na janela Outliner, seleccione a malha Warrior_Mesh,
[LMB], e entre em modo edição, [Tab].
Seleccione uma dos vértice da bolsa superior do arreio, [RMB], expanda a selecção, [Ctrl]+[L], e esconda a malha, [H].
Seleccione o contorno do arreio que se encontra na zona média por baixo da bolsa superior, [Alt]+[RMB], e centre o cursor, [Shift]+[S] > Cursor to Selected.
Note que este foi o contorno utilizado para, numa secção anterior, copiar os pesos para todos os vértices da bolsa superior.
Saia de modo edição, [Tab]. Seleccione a armação
Warrior_ControlRig, [RMB], e entre em modo edição, [Tab].
No painel Display do contexto Armature da janela de propriedades active X-Ray e seleccione Stick.
Insira um osso, [Shift]+[A].
Designe o osso por HarnessUpControl.
Recorde que o contorno do arreio cujo ponto médio determinou o posicionamento do osso HarnessUpControl tinha um conjunto de pesos que tinha sido determinado pelo pesos de um dos vértices (o mais próximo) da malha do torso.
Saia de modo edição, [Tab]. Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB], e entre em modo edição, [Tab]. Seleccione de novo o contorno do arreio que se encontra na zona média por baixo da bolsa superior, [Alt]+[RMB].
No painel Vertex Weights da tabela de propriedades da janela
de operadores pode ver os pesos associados ao contorno.
Tome nota desta informação (por exemplo, faça uma captura
de ecrã, salve a imagem e abra-a na janela UV/ Image Editor).
Saia de modo edição, [Tab]. Seleccione a armação Warrior_
ControlRig, [RMB], entre em modo pose, [Ctrl]+[Tab], e
seleccione o osso HarnessUpControl, [RMB].
No contexto Bone Constraints da janela de propriedades crie um restritor Child Of.
Seleccione como alvo a armação Warrior_ControlRig e o primeiro
dos ossos que tem peso sobre o contorno do arreio (DEF-upper_arm.02.R).
Pressione Set Inverse.
Em Influence, especifique o peso associado ao osso DEF-upper_arm.02.R.
Dê ao restritor um nome sugestivo.
Repita o procedimento para os 4 outros ossos que têm influência
sobre a dinâmica do contorno, criando mais 4 restritores Child Of.
Para o osso DEF-shoulder.R,
para o osso DEF-chest,
para o osso DEF-spine,
e para o osso DEF-upper_arm.01.R.
Ficam assim definidos 5 restritores Child Of que obrigarão
o osso HarnessUpControl a seguir a trajectória do contorno
do arreio.
Verifique a dinâmica do osso HarnessUpControl manipulando
os ossos relevantes da armação de controle.
Vamos agora proceder de modo semelhante para a bolsa inferior do arreio.
Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB], e entre em modo edição, [Tab].
Seleccione uma dos vértice da bolsa inferior do arreio, [RMB],
expanda a selecção, [Ctrl]+[L], e esconda a malha, [H].
Seleccione o contorno do arreio que se encontra na zona média por baixo da bolsa superior, [Alt]+[RMB], e centre o cursor, [Shift]+[S] > Cursor to Selected.
Note que este foi o contorno utilizado para, numa secção anterior, copiar os pesos para todos os vértices da bolsa inferior.
Saia de modo edição, [Tab]. Seleccione a armação
Warrior_ControlRig, [RMB], e entre em modo edição, [Tab].
Insira um osso, [Shift]+[A].
Designe o osso por HarnessDownControl.
Recorde que o contorno do arreio cujo ponto médio determinou o posicionamento do osso HarnessDownControl tinha um conjunto de pesos que tinha sido determinado pelo pesos de um dos vértices (o mais próximo) da malha do torso.
Saia de modo edição, [Tab]. Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB], e entre em modo edição, [Tab]. Seleccione de novo o contorno do arreio que se encontra na zona média por baixo da bolsa inferior, [Alt]+[RMB].
No painel Vertex Weights da tabela de propriedades da janela
de operadores pode ver os pesos associados ao contorno. Tome
nota desta informação (por exemplo, faça uma captura de ecrã,
salve a imagem e abra-a na janela UV/ Image Editor).
Note que só há 3 pesos não nulos.
Saia de modo edição, [Tab]. Seleccione a armação
Warrior_ControlRig, [RMB], entre em modo pose, [Ctrl]+[Tab],
e seleccione o osso HarnessDownControl, [RMB].
Seleccione como alvo a armação Warrior_ControlRig e o primeiro dos ossos que tem peso sobre o contorno do arreio (DEF-chest).
Pressione Set Inverse.
Em Influence, especifique o peso associado ao osso DEF-chest.
Dê ao restritor um nome sugestivo.
Repita o procedimento para os 2 outros ossos que têm
influência sobre a dinâmica do contorno, criando mais
2 restritores Child Of.
Para o osso DEF-spine,
e para o osso DEF-hips.
Ficam assim definidos 3 restritores Child Of que obrigarão o
osso HarnessDownControl a seguir a trajectória do contorno
do arreio.
Verifique a dinâmica do osso HarnessDownControl manipulando
os ossos relevantes da armação de controle.
Vamos agora inserir um terceiro osso de controle que servirá de referência à dinâmica das bolsas quando a espada está nelas inserida.

Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB], e entre em modo edição, [Tab].
Seleccione, [RMB], um vértice da malha do torso que se encontre equidistante do ponto média de ambas as bolsas.
Saia de modo edição, [Tab]. Seleccione a armação
Warrior_ControlRig, [RMB], e entre em modo edição, [Tab].
Insira um osso, [Shift]+[A].
Designe o osso por Sword_Harness_Control.
Saia de modo edição, [Tab]. Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB], e entre em modo edição, [Tab]. Seleccione de novo o vértice, [RMB].
No painel Vertex Weights da tabela de propriedades da janela
de operadores pode ver os pesos associados ao vértice. Tome nota
desta informação (por exemplo, faça uma captura de ecrã, salve
a imagem e abra-a na janela UV/ Image Editor).
Note que só há 4 pesos não nulos.
Saia de modo edição, [Tab]. Seleccione a armação
Warrior_ControlRig, [RMB], entre em modo pose, [Ctrl]+[Tab],
e seleccione o osso Sword_Harness_Control, [RMB].
Seleccione como alvo a armação Warrior_ControlRig e o primeiro dos ossos que tem peso sobre o contorno do arreio (DEF-shoulder.R).
Pressione Set Inverse.
Especifique o peso associado ao osso DEF-shoulder.R.
Dê ao restritor um nome sugestivo.
Repita o procedimento para os 3 outros ossos que têm influência
sobre a dinâmica do vértice, criando mais 3 restritores Child Of.
Para o osso DEF-chest,
para o osso DEF-spine,
e para o osso DEF-hips.
Fica assim com 4 restritores Child Of que obrigarão o
osso Sword_Harness_Control, a seguir a trajectória do
vértice do torso
Verifique a dinâmica do osso Sword_Harness_Control manipulando
os ossos relevantes da armação de controle.
Vamos agora inserir dois ossos de controle que garantem o alinhamentos das duas bolsas com a direcção da lâmina da espada, no caso em que a espada esteja presente, e permite o movimento livre das bolsas quando a espada está fora das bolsas.
Seleccione a armação Sword_Rig, [RMB], entre em modo edição,
[Tab], seleccione a raiz do osso Sword, [RMB], centre o cursor,
[Shift]+[S] > Cursor to Selected, e saia de modo edição, [Tab].
Seleccione a armação, Warrior_ControlRig, [RMB], entre em
modo edição, [Tab], insira um osso, [Shift]+[A].
Designe o osso por SwordHarnessUp.
Seleccione a armação Sword_Rig, [RMB], entre em modo edição,
[Tab], seleccione a ponta do osso Sword, [RMB], centre o
cursor, [Shift]+[S] > Cursor to Selected, e saia de modo edição, [Tab].
Seleccione a armação, Warrior_ControlRig, [RMB], entre em modo
edição, [Tab], seleccione a ponta do osso SwordHarnessUp, [RMB],
e coloque sobre o cursor 3D, [Shift]+[S] > Slection to Cursor.
Seleccione todo o osso SwordHarnessUp, [RMB] sobre um ponto médio, e divida-o em dois, [W] > Subdivide.
Seleccione o osso inferior e designe-o por SwordHarnessDown.
Ao subdividir o osso SwordHarnessUp o osso inferior ficou
filho do osso superior. No painel Relations do contexto
Bone da janela de propriedades anule a relação de parentesco.
Recorde que, numa secção anterior, a todos os vértices da malha da bolsa superior foram atribuídos os pesos do contorno transversal que serviu de base à definição feita acima para a influência de cada um dos restritores Child Of do osso HarnessUpControl.
Vamos agora alterar esta cadeia de controle, fazendo depender a dinâmica da bolsa superior da dinâmica do osso HarnessUpControl.
Embora do ponto de vista visual nada se modifique, é esta alteração conceptual que nos vai permitir fazer depender a dinâmica das bolsas da dinâmica da espada.
Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB],
e entre em modo edição, [Tab]. Seleccione um dos vértice da
bolsa superior do arreio, [RMB], e expanda a selecção, [Ctrl]+[L].
No painel Vertex Groups do contexto Obect Data da janela de propriedades pressione o símbolo + para criar um novo grupo de vértices.
Designe o novo grupo por SwordHarnessUp. Note que o grupo deve ter obrigatoriamente o nome do osso que o vai controlar.
Vamos agora associar todos os vértices da malha da bolsa superior a este novo grupo e quebrar as ligações com os grupos a que se encontra neste momento associado.
Recorde que neste momento os vértices da malha da bolsa superior
pertencem, com diferentes pesos, a um conjunto de grupos que
podem ser verificados no painel Vertex Weights da tabela de
propriedades da janela 3D.
Desseleccione a malha da bolsa superior, [A].
Crie um novo vértice, [Ctrl]+[LMB].
No painel Vertex Groups do contexto Obect Data da
janela de propriedades pressione Assign.
Seleccione um dos vértice da bolsa superior do arreio, [RMB],
expanda a selecção, [Ctrl]+[L], e seleccione o vértice
criado, [Shift]+[RMB].
No painel Vertex Weights da tabela de propriedades da janela 3D pressione Copy.
Desseleccione todos os vértices, [A], e, de novo, seleccione
um dos vértice da bolsa superior do arreio, [RMB], e expanda
a selecção, [Ctrl]+[L].
Pode verificar no painel Vertex Weights da tabela de propriedades da janela 3D que agora todos os vértices da bolsa pertencem unicamente, e com peso 1.0, ao grupo SwordHarnessUp.
Seleccione o vértice isolado criado, [RMB], e
elimine-o. Saia de modo edição, [Tab].
Seleccione a armação Warrior_ControlRig, [RMB], entre em modo pose, [Ctrl]+[Tab], seleccione o osso SwordHarnessUp, [RMB], e movimente-o, [G]. Pode ver que a bolsa superior acompanha agora este osso.
Na janela Outliner, seleccione a malha Warrior_Mesh, [LMB],
e entre em modo edição, [Tab]. Seleccione um dos
vértice da bolsa inferior do arreio, [RMB], expanda a
selecção, [Ctrl]+[L].
No painel Vertex Groups do contexto Obect Data da janela de propriedades pressione o símbolo + para criar um novo grupo de vértices.
Designe o novo grupo por SwordHarnessDown. Note que o grupo deve ter obrigatoriamente o nome do osso que o vai controlar.
Vamos agora associar todos os vértices da malha da bolsa
inferior a este novo grupo e quebrar as ligações com os
grupos a que se encontra neste momento associada.
Recorde que neste momento os vértices da malha da bolsa inferior pertencem, com diferentes pesos, a um conjunto de grupos que podem ser verificados no painel Vertex Weights da tabela de propriedades da janela 3D.
Desseleccione a malha da bolsa inferior, [A]. Crie um
novo vértice, [Ctrl]+[LMB].
No painel Vertex Groups do contexto Obect Data da
janela de propriedades pressione Assign.
Seleccione um dos vértice da bolsa inferior do arreio,
[RMB], expanda a selecção, [Ctrl]+[L], e seleccione
o vértice criado, [Shift]+[RMB].
No painel Vertex Weights da tabela de propriedades da janela 3D pressione Copy.
Desseleccione todos os vértices, [A], e, de novo, seleccione
um dos vértice da bolsa inferior do arreio, [RMB], e
expanda a selecção, [Ctrl]+[L]. Pode verificar no painel
Vertex Weights da tabela de propriedades da janela 3D que
agora todos os vértices da bolsa pertencem unicamente, e
com peso 1.0, ao grupo SwordHarnessDown.
Seleccione o vértice isolado criado, [RMB], e
elimine-o. Saia de modo edição, [Tab].
Seleccione a armação Warrior_ControlRig, [RMB], entre em modo pose, [Ctrl]+[Tab], seleccione o osso SwordHarnessDown, [RMB], e movimente-o, [G]. Pode ver que a bolsa inferior acompanha agora este osso.
Vamos agora fazer depender, alternativamente, a dinâmica do osso SwordHarnessUp do osso Sword_Harness_Control, o que deverá acontecer quando a espada está presente no arreio, ou do osso HarnessUpControl, o que deverá acontecer quando a espada está fora do arreio.
Seleccione a armação Warrior_ControlRig, [RMB], entre em
modo pose, [Ctrl]+[Tab], e seleccione o osso SwordHarnessUp.
No contexto Bone Constraints da janela de propriedades
crie dois restritores Child Of.
Especifique para o primeiro o alvo Warrior_ControlRig/Sword_Harness_Control e para o segundo o alvo Warrior_ControlRig/ HarnessUpControl.
A dependência de um ou outro dos restritores será feita pelo animador controlando o parâmetro Influence de cada um dos painéis.
Veremos mais à frente um exemplo.
Vamos agora fazer depender, alternativamente, a dinâmica do osso SwordHarnessDown do osso Sword_Harness_Control, o que deverá acontecer quando a espada está presente no arreio, ou do osso HarnessDownControl, o que deverá acontecer quando a espada está fora do arreio.
Seleccione a armação Warrior_ControlRig, [RMB], entre em modo
pose, [Ctrl]+[Tab], e seleccione o osso SwordHarnessDown.
No contexto Bone Constraints da janela de propriedades
crie dois restritores Child Of.
Especifique para o primeiro o alvo Warrior_ControlRig/Sword_Harness_Control e para o segundo o alvo Warrior_ControlRig/ HarnessDownControl.
A dependência de um ou outro dos restritores será feita pelo animador controlando o parâmetro Influence de cada um dos painéis.
Veremos mais à frente um exemplo.
Verifiquemos a dinâmica das bolsas.
Seleccione osso SwordHarnessUp e no contexto Bone Constraints especifique 0.0 para Influence do restritor Child Of dependente do osso HarnessUpControl.
Seleccione osso SwordHarnessDown e no contexto Bone Constraints especifique 0.0 para Influence do restritor Child Of dependente do osso HarnessDownControl.
Seleccione a armação Warrior_ControlRig, [RMB], entre
em modo pose, [Ctrl]+[Tab], seleccione, por exemplo,
o osso spine, [RMB], e movimente-o, [G].
Pode ver que as bolsas superior e inferior mantêm o alinhamento, contemplando assim a situação em que a espada esteja nelas inserida.
Seleccione osso SwordHarnessUp e no contexto Bone Constraints especifique 0.0 para Influence do restritor Child Of que dependente do osso Sword_Harness_Control e reponha o valor 1.0 para Influence do restritor Child Of que dependente do osso HarnessUpControl.
Seleccione osso SwordHarnessDown e no contexto Bone Constraints especifique 0.0 para Influence do restritor Child Of que dependente do osso Sword_Harness_Control e reponha o valor 1.0 para Influence do restritor Child Of que dependente do osso HarnessDownControl.
Seleccione a armação Warrior_ControlRig, [RMB], entre
em modo pose, [Ctrl]+[Tab], seleccione, por exemplo,
o osso spine, [RMB], e movimente-o, [G].
Pode ver que as bolsas superior e inferior se movimentam agora livremente, contemplando assim a situação em que a espada não esteja presente
Vamos agora fazer depender a dinâmica da espada do osso SwordHarnessUp (é indiferente que seja deste osso ou do osso SwordHarnessDown), contemplando assim o caso em que a espada esteja inserida nas bolsas.
Veremos mais à frente o que fazer para contemplar a situação em que a espada esteja fora da bolsa.
Seleccione a armação Sword_Rig, [RMB], entre em modo pose,
[Ctrl]+[Tab], e seleccione o osso Sword.
No contexto Bone Constraints da janela de propriedades
crie um restritor Child Of e especifique como alvo
Warrior_ControlRig/ SwordHarnessUp.
Passemos então à inserção de ossos na armação de controle que permitam automatizar a animação na situação em que a espada, e o escudo, estão nas mãos do personagem.
Seleccione a armação Warrior_ControlRig, [RMB], entre em modo
edição, [Tab], seleccione a ponta do osso DEF-hand.R, [RMB], e
centre o cursor, [Shift]+[S] > Cursor to Selected.
Insira um osso, [Shift]+[A].
Designe-o por SwordHandControl.
Passe a modo pose, [Ctrl]+[Tab]. No contexto Bone
Constraints da janela de propriedades crie um restritor
Child Of.
Seleccione como alvo a armação Warrior_ControlRig e o osso DEF-hand.R.
Pressione Set Inverse.
Nota: Seleccionando como alvo o osso DEF-hand.R evitamos soluções mais complexas, embora formalmente mas correctas, que contemplassem as acções de animação resultantes da cinemática directa ou da cinemática inversa.
Seleccione a armação Sword_Rig, [RMB], entre em modo
pose, [Ctrl]+[Tab], e seleccione o osso Sword, [RMB].
No contexto Bone Constraints da janela de propriedades crie um restritor Child Of.
Seleccione como alvo a armação Warrior_ControlRig e o osso SwordHandControl.
Não pressione Set Inverse.
Seleccione, [RMB], agora o osso SwordHandControl da armação
Warrior_ ControlRig e reposicione-o, [G], e rode-o, [R],
de modo a alinhar convenientemente a espada.
No painel Transform da janela de propriedades feche os
cadeados correspondentes à localização e rotação do osso,
de modo a inibir futuras transformações sobre o osso.
Esta acção é importante sobretudo para que o osso não responda às acções de reposição do modo Rest Position.
Movimente os ossos de controle relevantes, quer da cadeia
inversa quer da cadeia directa, e verifique que a espada
acompanha convenientemente a mão.
Varie o parâmetro Influence do restritor Child Of do osso Sword dependente do alvo SwordHandControl e verifique como a espada alterna convenientemente das bolsas do arreio para a mão.
Reponha a posição de repouso, [Alt]+[G], [Alt]+[R], [Alt]+[S], e repita a acção anterior verificando que não houve modificação da posição do osso SwordHandControl.
Passemos ao escudo.
Seleccione a armação Warrior_ControlRig, [RMB], entre em modo
edição, [Tab] seleccione a ponta do osso DEF-hand.L, [RMB],
e centre o cursor, [Shift]+[S] > Cursor to Selected.
Insira um osso, [Shift]+[A].
Designe-o por ShieldHandControl.
Passe a modo pose, [Ctrl]+[Tab]. No contexto Bone Constraints
da janela de propriedades crie um restritor Child Of.
Seleccione como alvo a armação Warrior_ControlRig e o osso DEF-hand.L.
Pressione Set Inverse.
Seleccione a armação Shield_Rig, [RMB], entre em
modo pose, [Ctrl]+[Tab], e seleccione o osso Shield, [RMB].
No contexto Bone Constraints da janela de propriedades crie dois restritor Child Of.
Para o primeiro seleccione como alvo a armação Warrior_ControlRig e o osso SwordHarnessUp.
Pressione Set Inverse.
Para o segundo seleccione como alvo a armação Warrior_ControlRig e o osso ShieldHandControl.
Não pressione Set Inverse.
Seleccione, [RMB], agora o osso ShieldHandControl da armação
Warrior_ ControlRig e reposicione-o, [G], e rode-o, [R], de
modo a alinhar convenientemente o escudo.
No painel Transform da janela de propriedades feche os
cadeados correspondentes à localização e rotação do
osso, de modo a inibir futuras transformações sobre o osso.
Esta acção é importante sobretudo para que o osso não responda às acções de reposição do modo Rest Position.
Movimente os ossos de controle relevantes, quer da
cadeia inversa quer da cadeia directa, e verifique
que o escudo acompanha convenientemente a mão.
Varie o parâmetro Influence do restritor Child Of do osso Shield dependente do alvo ShieldHandControl e verifique como o escudo alterna convenientemente entre as costas e a mão.
Reponha a posição de repouso, [Alt]+[G], [Alt]+[R], [Alt]+[S], e repita acção anterior verificando que não houve modificação da posição do osso ShieldHandControl.
Fica assim terminada a estrutura de ossos de controle das armas do personagem.
Resta-nos, apenas por uma questão formal, reposicionar cada um dos ossos nas layers de ossos.
Não são relevantes para o animador os ossos ShieldHandControl, SwordHandControl, HarnessUpControl, Sword_Harness_Control, e HarnessDownControl.
Em modo pose, seleccione estes 5 ossos e passe-os para a layer de ossos 24, M > ….
São relevantes para o animador os ossos:
Shiled, que permite alternar a posição do escudo entre as costas e as mãos.
Sword, que permite alternar a posição da espada entre as costas e as mãos.
SwordHarnessUp e SwordHarnessDown que permitem alternar o tipo de dinâmica das bolsas do arreio conforme a espada esteja ou não nelas inserida.
Poderíamos criar um conjunto de malhas e associá-las a este ossos, de modo idêntico aos restantes ossos relevantes da armação de controle, e poderíamos ainda programar a interface de modo a que a comutação entre os estados armas no arreio/ armas nas mãos pudesse dispensar o acessos às variáveis Influence dos restritores Child Of de cada um destes ossos. Deixaremos isso para uma próxima secção.