Criando um Rig para Dedos com Attribute Holder e Wire Parameters
Aqui na 3D1 já existem alguns tutoriais de RIG de personagens utilizando Bones com IK Solvers, HD Solvers, Reactor Manager e Manipuladores.
Neste tutorial eu irei demonstrar como criar um RIG para dedos utilizando o modificador Attribute Holder. Esta técnica pode não ser a melhor para esta finalidade, porém é funcional e pode agradar a muitos, pois ela possibilita um controle mais detalhado sobre os dedos do seu personagem, sem a necessidade de criar muitos controladores.
Para começar, iremos criar um bone pela viewport TOP para representar a mão.
Apague o finalizador da cadeia do bone.
Renomei este bone para bone_mao e altere os valores conforme a figura:
o resultado será:
Iremos agora criar o controlador dos movimentos dessa mão: Crie um shape posicionado de acordo com a figura abaixo renomeando-o como controlador_mao. Link o bone_mao no controlador_mao.
Crie os bones de acordo com a figura abaixo para representarem o dedo polegar que possui duas falanges. Depois o nome destes bones deverão ser renomeados de acordo com a figura abaixo.
Link o bone_polegar_01 em bone_mao.
Crie um dummy e renomeio-o como dummy_polegar. Posicione o dummy_polegar de acordo com a figura abaixo. Link o dummy_polegar com o controlador_mao para que o dummy se movimente juntamente com a mão.
Este dummy_polegar será utilizado apenas para armazenar os parâmetros que serão utilizados para a movimentação das falanges do dedo polegar. Com o dummy_polegar selecionado, aplique o modificador Attribute Holder. Você irá perceber que este modificador não possui nenhum atributo. Este modificador irá receber os atributos que serão criados e associados aos movimentos das falanges do dedo polegar.
Agora nós iremos criar os parâmetros que irão controlar os movimentos das falanges do dedo polegar. Para isso, deveremos utilizar o Parameter Editor que se encontra na opção de menu Animation.
irá aparecer a seguinte tela:
Funções:
=> Add To Type: indica o local onde será acrescentado o parâmetro:
- Selected Object's Base Level: o parâmetro será adicionado junto aos parâmetros do próprio objeto
- Selected Object's Current Modifier: o parâmetro será adicionado junto aos parâmetros do modificador corrente. Nesse caso
no Attribute Holder que irá servir apenas para agrupar estes parâmetros.
=> Botões Add / Edit / Delete: permitem adicionar, alterar e excluir o parâmetro.
=> Parameter Type: define o tipo de valor que será utilizado no parâmetro.
=> UI Type: define o tipo de objeto que será utilizado para armazenar/alterar o valor do parâmetro:
- Spinner: apresenta o parâmetro em uma caixa de edição com indicadores de aumentar e diminuir o valor.
- Slider: apresenta o parâmetro em um slider, onde a movimentação do seu controle deslizante define o valor do parâmetro.
=> Name: define o nome do parâmetro.
=> Width: define a largura do objeto que apresenta o valor do parâmetro.
=> From: define o valor do limite inicial aceito pelo parâmetro.
=> To: define o valor do limite final aceito pelo parâmetro.
=> Default: define o valor padrão do parâmetro.
=> Alignment: define o alinhamento do objeto apresentado no painel Modify.
=> Testing Attribute: local que irá aparecer o objeto configurado que será acrescentado nos parâmetros do Attribute Holder.
Agora nós iremos criar dois parâmetros, onde cada um irá controlar a rotação existente nas falanges. Configure as opções abaixo e clique no botão Add para criar os parâmetros.
O resultado será:
Agora será utilizado Wire Parameters para associar os parâmetros criados aos movimentos de rotação das falanges.
Primeiramente iremos associar o parâmetro Falange_01 à rotação do bone_polegar_01 no eixo Y: Clique com o botão direito do mouse sobre o dummy_polegar, clique em Wire Parameters. No menu que aparece, selecione Modified Object > Attribute Holder > Custom_Attributes > Falange_01, irá aparecer uma linha pontilhada, clique no bone_polegar_01 e no menu que aparece selecione Transform > Rotation > Y Rotation.
Irá aparecer a seguinte tela:
Clique na seta indicada para informar que a rotação em Y do bone_polegar_01 será realizada de acordo com o valor do parâmetro falange_01. Depois clique no botão Connect e feche a tela.
Altere o valor do parâmetro falange_01 e confira a rotação do bone_falange_01 no seu eixo Y.
Agora nós iremos associar o parâmetro Falange_02 à rotação do bone_polegar_02 no eixo Y: Clique com o botão direito do mouse sobre o dummy_polegar, clique em Wire Parameters. No menu que aparece, selecione Modified Object > Attribute Holder > Custom_Attributes > Falange_02, irá aparecer uma linha pontilhada, clique no bone_polegar_02 e no menu que aparece selecione Transform > Rotation > Y Rotation.
Irá aparecer a seguinte tela:
Clique na seta indicada para informar que a rotação em Y do bone_polegar_02 será realizada de acordo com o valor do parâmetro falange_02. Depois clique no botão Connect e feche a tela.
Altere o valor do parâmetro falange_02 e confira a rotação do bone_falange_02 no seu eixo Y.
Perceba que o limite das rotações das falanges estão entre -10º e 75º que foram impostas no Parameter Editor.
Para criar a movimentação dos outros dedos, basta realizar os mesmos passos que foram utilizados no dedo Polegar, lembrando apenas que os demais dedos (Indicador, Médio, Anular e Mínimo) possuem 3 falanges cada um.
Dica: Após criar os movimentos do dedo Indicador, pode-se clonar os bones e o dummy relacionados a este dedo e duplicar para formar os demais dedos, depois é só criar os links das falanges_01 no bone_mao e os links dos dummys no controlador_mao.
Esse tutorial pode ser alterado para adaptações e inclusões de novas opções dependendo do local e situação em que for aplicado. Por exemplo: a inclusão das falanges internas de cada dedo que ficam por dentro da mão e a movimentação dos dedos em outras direções.
Sergio Feitosa
[email protected]