Tutorial de animação mecânica com Blender 3D: Usando PyDrivers

Uma coisa que todas as pessoas envolvidas com o processo de criação voltado para animação conhecem é o fato de que para trabalhar com os aspectos artísticos do movimento, você precisa de muita inspiração e senso de “timing” para que o movimento seja criado da maneira como o roteiro pede. Mas, nem sempre conhecer o processo de configuração dos keyframes e noções de timing são necessárias. Quando a animação envolve a manipulação de elementos mecânicos, como motores ou elementos de veículos com peças móveis que realizam movimentos repetitivos, é mais interessantes recorrer para conhecimentos em linguagens de programação.

Esse é um dos principais benefícios em usar scripts para animação: automatizar os processos repetitivos que demandariam muito trabalho manual dos animadores. No Blender 3D é possível usar Python para controlar alguns aspectos da animação com os PyDrivers. Esses são pequenos blocos de código que podem ser atribuídos na janela que edita as curvas IPO. O uso desse tipo de script é bem mais simples que a criação de ferramentas personalizadas, pois requer apenas uma linha de código que vai controlar a maneira com que um determinado objeto deve ser animado.

Caso você nunca tenha tido oportunidade de usar recursos mais avançados como esse no Blender 3D, o tutorial abaixo é um excelente exemplo da aplicação desse tipo de recurso para animação no Blender. No tutorial em si, um artista 3d configura os PyDrivers para controlar o movimento de engrenagens em animação. O vídeo tem aproximadamente 25 minutos de duração.

Blender Python Drivers Gear Demo! from Max Hammond on Vimeo.

Depois de assistir ao tutorial fica evidente que o autor teria muita dificuldade para criar a mesma animação sem o uso de recursos como scripts, pois o movimento dos objetos deve ser sincronizado e perfeitamente mecânico. Qualquer alteração no movimento de uma das engrenagens iria resultar na perda de praticamente toda a configuração da animação.

Esse é um tipo de assunto que dificilmente abordo nas minhas aulas sobre Blender 3D, pois os alunos não aceitam muito bem o assunto. Ainda existe uma barreira entre as pessoas interessadas em aprender softwares 3d para fins artísticos e tópicos como o desenvolvimento de scripts que podem facilitar o seu trabalho. Sempre que tento fazer uma introdução ao tema, acabo tendo que fazer apenas uma pequena introdução mesmo. Quem sabe em cursos voltados para desenvolvimento de jogos usando Blender, esse tipo de experiência seja mais proveitosa.

Se você tem interesse em tópicos avançados sobre animação 3d, esse pode ser um excelente exemplo de como começar a aplicar scripts para controlar o movimento de objetos. Em outras ferramentas como o 3ds Max e Maya, o mesmo tipo de controle pode ser criado usando MAXScript ou MEL. Mas, usando Python para esse tipo de tarefa você poderá adaptar o seu código para o Houdini e Softimage XSI, pois ambos usam essa linguagem para personalizar animação, assim como o Blender 3D.

Como corrigir o Gimbal Lock no Autodesk Maya?

A produção de uma animação em 3d envolve diversos aspectos que podem deixar qualquer pessoa assustada, caso ela não esteja acostumada com o gerenciamento de tantas informações, para fazer algo que para ela é relativamente simples. Na animação 3d é necessário se preocupar com a dramatização das ações realizadas pelos personagens e também com a gestão dos keyframes e curvas de animação. As curvas apresentam alguns problemas bem específicos, principalmente quando o assunto é rotação. Um desses problemas é o chamado Gimbal Lock, que acontece quando um eixo de rotação acaba girando e sobrepondo outro eixo. Isso é fácil de perceber ao visualizar qualquer manipulador em softwares 3d.

Basta girar o plano de rotação do eixo Z alguns graus, para que esse mesmo plano fique alinhado com os planos do X ou Y. Qual o resultado disso? Se você tentar realizar uma animação por um desses eixos, o efeito será o mesmo para os eixos de rotação em X, Y e Z. O que inevitavelmente acaba gerando uma enorme confusão na organização dos keyframes, e pontos em que o movimento dos personagens que deveria ser suave, acaba ficando truncado.

Para saber como é possível corrigir esse tipo de problema, usando apenas o editor de curvas no Maya 2008, o autor do vídeo abaixo mostra um pouco da sua técnica para ajustar um problema oriundo do Gimbal Lock. Entre os frames 480 e 490 da animação, o personagem apresenta movimento truncado, ele pula ao invés de fazer o deslocamento da posição de maneira suave.

Repare no vídeo que o autor precisa selecionar o objeto e fazer uma verdadeira investigação para descobrir a causa do problema. Provavelmente o erro aconteceu na criação de algum keyframe que deveria estar em apenas um eixo, mas acabou sendo inserido em outro. O primeiro suspeito de causar o problema era o deslocamento da curva no eixo Z. Depois que esse deslocamento abrupto foi suavizado, o problema persistia e fez a investigação continuar.

Mais um keyframe sem suavização é encontrado e corrigido para que a animação possa acontecer de maneira mais fluida. Esse tipo de problema é geral em termos de animação, e mesmo com ferramentas e opções para evitar esse tipo de defeito na animação, é importante conhecer as causas para conseguir fazer as devidas correções quando um dos seus projetos sofrer do mesmo problema.