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:
Renomei este bone para bone_mao e altere os valores conforme a figura:
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.
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.
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
Faça o login para poder comentar
VOCÊ TAMBÉM PODE SE INTERESSAR POR:
Usuários conectados
Total de mensagens publicadas pelos membros da comunidade: 707953.
Total de membros registrados: 135520
Últimos membros registrados: Alexandre Van-Dúnem, breemjoseph, Burama026, aliacacia, tocanu, lucorado, Igor_Hespanhl, oliveiravw.
Usuário(s) on-line na última hora:
415, sendo 24 membro(s) e 391 visitante(s).
Membro(s) on-line na última hora: Roberto Movanni, Lisandro, Ronaldo Junior, Frederico Wagner N. R., Sergio1987, mastermax, Junior, emersonforentin, Carlos E. Nogueira, TadeuB79, gilson antunes, Eng Damasceno, rafa.carvalho, Denilson, torebaJj, Daniel Monteiro, kingspell89090, rodolfosantos3d, Elis, SaavedraCG, Fernando Cunha, mixel.amorim, Alexandre Longo, Marco Rocha.
Legenda: Administrador, Especial, Moderador, Parceiro .