Cursos e Bibliotecas Ver Mais

Galeria 3D1 Ver Mais

Fernando Cunha   Porto-Portugal - PR
Daian   Belo Horizonte - MG
maxxx   sao paulo
Emmanoel   Balneário Camboriú - SC

Portfólios Ver Mais

guetostyle   brasil - AC
IgorVannucci   São Paulo SP - AC
Rene   Pedro Leopoldo MG - MG

Tutoriais - 3ds max avançado

Expressions, Wire Parameters e Reaction Manager

Entre muitas novidades maravilhosas disponíveis a partir do 3ds max 7, me chamou atenção um recurso aparentemente simples, mas que permite criar interações incríveis de forma rápida e fácil, qualquer iniciante consegue fazer coisas que apenas usuários avançados faziam no passado.

Eu estou falando do Reaction Manager, a simplificação do Wire, que é a simplificação do Expressions, sendo assim, ele permite que usuários iniciantes criem interações que dependiam de expressões complexas nas primeiras versões do programa.

A idéia é simples, você tem uma janela para definir a hierarquia, o início e o final das interações, sem ter que escrever uma linha de expressão matemática para dar certo.
Veja um exemplo bem simples, um dedo com 3 falanges. Queremos criar um controlador simples para controlar este dedo, por exemplo, movendo um Box ou um Manipulator. Você pode montar a estrutura facilmente usando as primitivas do programa explicadas nos tutoriais \"Standard Primitives \" e \"Extended Primitives\" na seção Tutoriais do site www.tresd1.com.br, depois, use o Select And Link para \"linkar\" uma peça na outra.


Pode ser usado para qualquer coisa, desde uma simples abertura de porta, até o controle de um rosto ou de um braço mecânico cheio de funções. Imagine a mão de um personagem, você pode controlar os dedos de forma fácil e prática, mas precisa criar uma estrutura para fazer isso, é o que chamam de Rig, fazendo uma alusão as cordas que manipulam marionetes. O Reaction Manager pode ser usado para ajudar a criar essa estrutura da forma mais fácil e prática possível.

Exemplo mostrando o link da estrutura com 3 juntas e o Box que será o controlador

Veja um exemplo bem simples, um dedo com 3 falanges. Queremos criar um controlador simples para controlar este dedo, por exemplo, movendo um Box ou um Manipulator. Você pode montar a estrutura facilmente usando as primitivas do programa explicadas nos tutoriais \"Standard Primitives \" e \"Extended Primitives\" na seção Tutoriais do site www.tresd1.com.br, depois, use o Select And Link para \"linkar\" uma peça na outra.
Janela do Expression e os Controllers de animação no painel Motion

Nos primórdios do programa você teria que aplicar um controlador Float List dentro do Z Rotation, se queria girar o Cilindro da primeira junta em Z quando mover o Box. Depois, teria que aplicar o controlador Float Expression dentro do Available do Float List. No Expression seria necessário criar um Scalar, \"linkando\" com a posição Y do Box na Viewport pelo Assing to Controller e depois teria escrever uma expressão para controlar a rotação do cilindro. Não era trabalho para iniciantes no programa. Criar interações mais complexas era bem complicado e exigia expressões bem mais difíceis.
Janela do Wire Parameters com os itens \"linkados\" e a expressão simplificada

No 3ds max 4 as coisas começaram a ficar mais fáceis devido ao Wire Parameters, que simplificava o processo otimizando o principal problema, escrever as expressões, mas elas não deixaram de existir.

Com o Wire Parameters você pode definir as interações dos objetos de forma mais simples, intuitiva e direta. Além disso, a janela do Wire Parameters simplifica o uso de expressões e já deixa uma expressão básica pronta.

Usando este recurso, o processo do dedo seria bem mais simples, você teria que clicar com o botão direito sobre o Box que serve de controlador e escolher Wire Parameters no Quad Menu. Assim, aparece um menuzinho sobre o objeto com as opções de interações possíveis. Queremos que o dedo rotacione quando mover o Box em Y. Então precisamos escolher Transform> Position> Y Position. Em seguida, aparece uma linha tracejada elástica no seu cursor, você deve clicar sobre o objeto que deseja controlar, no caso, a junta da primeira falange do dedo, que no meu exemplo é um cilindro. Dessa forma aparece outro menuzinho igual ao primeiro, você deve escolher Transform> Rotation> Z Rotation, para rotacionar o cilindro em Z quando mover o Box em Y. Agora aparece a janela do Wire Parameters, onde tem os dois itens que serão \"linkados\" e a expressão nos quadros abaixo.

Nessa janela a expressão é tratada de forma simplificada, você não precisa definir vetores e escalares para criar a conexão e a interatividade entre os objetos, apenas precisa ajustar a expressão para adequar a interação a sua necessidade. Por exemplo, estamos usando o valor da posição em Y, que é um número positivo ou negativo qualquer, dependendo da posição do Box, para controlar a rotação, que independente de onde esteja o objeto, sempre será apenas de 0 a 360, se estiver em graus, mas o Max trabalha em radianos. Portanto, é necessário ajustar a expressão matemática em Y_Position para ficar correto. Escolhendo a direção da conexão e clicando em Connect, vai acontecer a interação, mas quando mover o Box, o dedo vai girar demais, tem que dividir a posição por 10, 20, 30, ou mais, dependendo da cena, para deixar a interação mais suave. Numa situação mais complexa, teria que escrever expressões matemáticas bem complexas.
Janela do Reaction Manager - disponível a partir do 3ds max 7

O Reaction Manager veio simplificar tudo isso, juntando o Wire Parameters com o Reaction Controller para criar interações complexas sem ter que escrever uma única expressão, usando uma janela simples e intuitiva igual a uma tabela. Este recurso está disponível a partir do 3ds max 7 no menu Animation>Reaction Manager.
Nesta janela você adiciona o objeto que controla, o objeto que é controlado e também define a amplitude da interação sem ter que escrever nenhuma expressão.

Janela do Reaction Manager com os objetos adicionados

Continuando no exemplo do dedo, veja como aqui é super simples, você deve clicar no primeiro sinal de \"+\", no canto superior esquedo da janela, e depois clicar no Box que controla o dedo. Assim, aparece o menuzinho do Wire, onde você deve escolher Transform> Position> YPosition, dessa forma, o item Box/YPosition aparece na lista do primeiro quadro. Esse objeto é chamado de Master e pode controlar diversos outros.

Agora clique no segundo sinal de \"+\", na parte superior esquerda da janela, o nome do ícone é Add Slave. Em seguida, clique no cilindro da primeira falange do dedo, aparece o menuzinho do Wire e você escolhe Transform> Rotation> ZRotation, para girar o cilindro em Z conforme mover o Box em Y. Agora aparece o item Cylinder/ZRotation ligado ao Box/YPosition. No quadro de baixo aparece o item State01 com o Cylinder/ZRotation conectado.
Janela do Reaction Manager com a interação completa e a curva de animação

Se tentar mover o Box, ele se move, mas se tentar girar o cilindro em Z, ele não rotaciona, porque está \"linkado\" no Box, depende dele para girar, mas a interação ainda não foi completada.

Clique no botão Creat Mode, agora você pode rotacionar o cilindro em Z, gire até o ponto máximo que deseja permitir, em seguida, mova o Box em Y até o ponto máximo que ele deve ir, neste ponto a rotação do cilindro será também a máxima definida.

Com os dois objetos prontos, clique no ícone Creat State, ao lado do Creat Mode, um novo State é adicionado com o Cylinder/ZRotation conectado. No gráfico abaixo dos dois quadros aparece uma reta inclinada, é um gráfico como todos os outros do 3ds max, você pode clicar com o botão direito sobre os vértices e alterar para Bezier, controlando a curva da animação para deixar mais suave o início e o final do movimento, também pode adicionar mais vértices e fazer tudo que os outros gráficos do programa permitem.
Janela do Reaction Manager com todas as interação completas

Lembre-se de desligar o botão Creat Mode, depois você pode testar a interação, mova o Box em Y e veja o dedo girando. Se quiser ajustar algum State depois de pronto, você pode usar o botão Edit Mode e ainda pode ajustar os valores \"linkados\" nos campos da coluna Value.
Estrutura final flexionada depois que o Box foi movido em Y

O mesmo pode ser feito com os outros dois cilindros das outras falanges do dedo, usando o mesmo Box como controlador, basta seguir o mesmo procedimento explicado acima, mas tem uma coisa importante que você deve tomar cuidado. O programa não consegue saber de qual item da interação você está tratando se ele não estiver selecionado. Quando está trabalhando com diversas interações, tem que selecionar cada item quando for aplicar o Creat Mode, caso contrário, ele apaga a interação já criada no mesmo controlador.
Com os 3 cilindros controlados pelo Box, você faz o dedo flexionar e esticar sem dificuldade apenas movendo o Box em Y.
Braço mecânico controlado com os recursos do Reaction Manager

Com este recurso fica muito simples criar interações, ele permite a montagem de estruturas e controles bem mais complexos sem a dificuldade que era antes, o que ajuda demais em animação, porque o objeto sempre se move no limite definido, sem intervenção direta do usuário, que controla tudo por um Rig simples e funcional.

Qualquer coisa que precisar animar diversas vezes num projeto, pode valer muito a pena controlar dessa forma, de uma simples porta até um braço mecânico cheio de funções, como a abertura da mão, o giro do braço, giro da mão, avanço, entre outros, isso seria difícil de animar manualmente, movendo e rotacionando os objetos com as ferramentas de transformação do 3ds max, depois seria difícil também voltar perfeitamente na posição inicial. Com o Reaction Manager, um usuário pouco experiente consegue fazer isso sem dificuldade. Veja um exemplo de braço mecânico controlado com o Reaction Manager abaixo, usando diversas interações e limitações com Bones nos controladores. Os objetos no piso podem ser \"pegos\" pelo braço com o Link Constraint, que já está aplicado a cada um deles, basta \"linkar\" com o Link Contraint no Dummy que se encontra na ponta de cada \"mão\" do braço mecânico.
Rig simples para carros criado com Bones, Solvers, Constraints, Expressions, Wires e Reaction Manager

Usando estes recursos junto com o conhecimento de Bones, Constraints e Controllers, você pode fazer Rigs bem complexos para controlar estruturas simples e complexas da melhor forma possível, isso é a base do que chamam de Rig, estruturas que controlam outras estruturas para poder movimentar de forma fácil e prática, indispensável na criação de personagens com Bones, caso contrário, é tão difícil quando mover um objeto feito de massinha no método de Stop Motion. Criando um bom Rig, você movimenta o personagem como uma marionete. O Rig é a parte mais difícil e complexa na criação de uma estrutura de Bones para personagens, como expliquei nos tutoriais \"Bones 1\" e \"Bones 2\" na seção tutoriais do site www.tresd1.com.br, com estes tutoriais você aprende a fazer a estrutura Bone, que é o mais simples, para fazer o Rig depende de muito mais conhecimento no programa, a base deste conhecimento é o que expliquei neste artigo. Isso tudo não serve apenas para personagens, você pode montar qualquer coisa com estes recursos, falamos de personagens por ser o mais comum, mas poderia montar Rigs para carros e qualquer outro objeto com juntas e ligações hierárquicas. Veja um pequeno exemplo de Rig para carros logo abaixo, onde foi necessário o uso de diversos recursos como estes que comentei, como Bones, Solvers, Constraints, Controllers, Expressions, Wire Parameters e Reaction Manager. Se já conhece Bones, Solvers e Constraints, tente fazer a interação da outra roda com o que você aprendeu neste artigo.

Faça o login para poder comentar

Andre Vieira Comentou em 23/06/2011 09:07 Ver comentário

Usuários conectados

Total de mensagens publicadas pelos membros da comunidade: 707504.

Total de membros registrados: 135160

Últimos membros registrados: JessicaSNR, Rova, djsoul, LETICIACRISTINA77, dumps23, ksanzvra, gigathccarts, Deidara026.

Usuário(s) on-line na última hora: 743, sendo 18 membro(s) e 725 visitante(s).

Membro(s) on-line na última hora: JessicaSNR, D2_Unrio, Rova, Junior, Lucas Reis, Ronaldo Junior, claro_lima, Nael181121, jovipeixoto, Abilio, rmagaton, Henrique Ribeiro, Rodrigosouza3D, Marceleza, Matheus Gouvea, luizz22, Alexandre Longo, dallest91.

Legenda: Administrador, Especial, Moderador, Parceiro .

3D1 © Três D1 © 1999-2024. Todos direitos reservados.