Como animar qualquer coisa no Blender 2.50?

Uma das áreas que sofreu a maior quantidade de atualizações no Blender 2.50 foi a relacionada com animação, pois agora existem diversas ferramentas adicionais e opções para trabalhar com objetos em movimento. Entre as diversas melhorias no 2.50 está a possibilidade de animar qualquer coisa relacionada ao projeto. Sim, a mesma coisa que usuários do 3ds Max, Maya e outros softwares já usam para trabalhar seus projetos de animação agora está disponível no Blender. Por exemplo, no 3ds Max ao acionar o botão de animação e fazer ajustes em parâmetros de um modificador ou qualquer coisa na interface, essas alterações geram keyframes.

Isso é identificado com a marcação do parâmetro com uma pequena linha vermelha na interface. Isso agora também é possível no Blender2.50. Como funciona esse tipo de animação? Para mostrar o funcionamento desse novo recurso do Blender 2.50, resolvi produzir um pequeno tutorial em vídeo que apresenta o procedimento necessário para animar os parâmetros de um modificador. Se você é usuário antigo do Blender, deve saber que algumas animações com modificadores são difíceis de criar ou demandam o uso de truques. Por exemplo, a animação com o modificador simple deform que agrega deformações com Bend, Taper e Twist.

No vídeo abaixo você vai aprender como criar esse tipo de animação. Além de abordar o uso desse tipo de recurso no Blender 2.50, essa é a minha primeira tentativa em gravar tutoriais em FullHD com o Blender. Sim, esse tutorial está disponível no Youtube em FullHD (1080p).

O truque é bem simples e envolve apenas a inserção de um keyframe diretamente sobre o parâmetro que deve ser animado. Para fazer isso basta posicionar o cursor do mouse sobre o valor que deve ser animado e pressionar a tecla i. Isso adiciona um keyframe ao parâmetro exatamente no frame em que a animação estiver estacionada. Na interface do Blender nada vai acontecer, mas no editor de curvas uma nova curva de animação aparece. Com essa nova curva será possível trabalhar com a animação do modificador.

Esse tipo de ferramenta abre inúmeras possibilidades de animação para o Blender 3D, transformando qualquer parâmetro do software passível de receber keyframes. Até as versões 2.4x era necessário usar truques como Hooks ou Lattices para conseguir esse tipo de efeito, mas agora as ferramentas nativas de animação fazem todo o trabalho.

Espero que os keyframes se apliquem aos parâmetros dos scripts em Python. Isso sim seria fantástico!

Só para lembrar, o Blender 2.50 ainda está em desenvolvimento e deve ser lançado só no segundo semestre desse ano. Sendo assim, você deve fazer o download das versões de teste e usar o software por sua conta e risco. A interface e ferramentas podem sofrer modificações até o lançamento oficial.

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.