Exercício de animação 3D com Blender

Uma das coisas que gosto de fazer quando ministro cursos é pegar os assuntos abordados e tentar bolar animações ou imagens, para mostrar aos alunos o que eles podem fazer com um pouco de criatividade. Nas minhas aulas sobre animação, sempre tento mostrar o funcionamento de conceitos simples, mas necessários para trabalhar com animações, como é o caso de hierarquias. Mas, para conseguir fazer animações um pouco mais trabalhadas, é preciso aproveitar recursos como constraints e controladores.

O vídeo abaixo mostra um dos exemplos que uso nos meus cursos sobre animação, e nesse caso o vídeo foi produzido apenas utilizando as opções do Blender. Esse vídeo é resultado das ferramentas utilizadas no curso de Animação 3D com Blender. Nesse caso, o objetivo era demonstrar o que os participantes do curso podem depois de assistir a todas as aulas. A modelagem dos objetos é simples para focar apenas na animação.

O trecho animado é exatamente o mesmo, sendo que modifiquei o material da esfera e montei no sequenciador de vídeo do Blender, para parecer que são vários objetos sendo movimentados em série.

Essa foi a primeira versão do vídeo, e como percebi pequenos problemas na animação, estou montando uma segunda versão com melhorias. A segunda versão vai trazer a esfera com diversos efeitos baseados em física como partículas, cabelo e fumaça. O que está atrasando a produção dessa segunda versão é a fumaça que está levando um tempo significativo para renderizar. Só o Cache do Smoke para esses poucos segundos de animação em alta resolução está com mais de 20GB! Acho que na próxima semana consigo terminar o render do trecho com a fumaça.

Sem mencionar que existe um pequeno problema de posicionamento quando o último braço captura a esfera. Na próxima versão esse problema estará corrigido!

Quer aprender a criar uma animação dessa maneira? Você pode participar do curso de Animação 3D com Blender, que ensina todas as ferramentas necessárias para criar esse tipo de animação como Drivers, Hierarquias e constraints. O curso é totalmente online e todo baseado em vídeo-aulas. No link você consegue assistir a uma das aulas do curso. Assim você tem a oportunidade de participar das minhas aulas, que tanto comento aqui no site!

Drivers e constraints para animação com Blender

Nos projetos de animação 3d uma das piores partes do trabalho aparece quando precisamos editar manualmente as posição de objetos em 3d, como rotacionar juntas de modelos 3d ou mesmo repetir o mesmo tipo de movimento em vários objetos diferentes. É por isso que na maioria das vezes os animadores acabam criando uma série de controladores e objetos de referência que ajudam a movimentar elementos na animação, deixando a produção muito mais rápida. Além dos controladores, podemos usar também constraints para forçar alguns objetos a seguir regras, ou copiar os movimentos desses objetos.

Constraints e Drivers no Blender para animação

No Blender existem tanto os constraints como os Drivers que ajudam a criar controles extras para animações. Os Drivers são uma das ferramentas mais úteis para trabalhar com animação, pois com eles é possível fazer com que as transformações de um objeto afetem de alguma maneira as transformações de outro objeto 3d. Quer um exemplo disso?

Repare no vídeo abaixo que mostra uma cena configurada no curso de Animação 3D com Blender, que cria uma série de braços robóticos que estão conectados aos pequenos cubos na parte superior da cena.

Todos os elementos móveis dos braços robóticos estão conectados aos cubos usando Drivers, e ao deslocar os cubos na cena é possível controlar vários aspectos do movimento dos braços. E como todas as cópias dos braços foram criadas depois dos ajustes dos Drivers, o resultado é que todos braços sofrem a ação dos cubos. Isso é perfeito para simular uma linha de montagem.

A pinça que está na ponta do braço tem um Empty na sua ponta que serve para usar constraints, e permitir que o braço pegue alguma coisa.

Mas, o interessante mesmo é o movimento da pinça controlado por um Driver e um constraint. No caso só uma pinça está controlada por um Driver e a outra faz a cópia do movimento invertido, usando um constraint.

Se você quiser aprender o procedimento completo para criar uma cena parecida como essa, o curso de Animação 3D com Blender na sua aula 09 mostra todos os passos para configurar esse braço robô, desde a hierarquia até os ajustes com Drivers e Constraints.

Múltiplas hierarquias com MAXScript no 3ds Max

No processo de criação de objetos em 3d os modelos 3d nem sempre são criados inteiramente apenas com o uso de ferramentas como extrude e transformações. Uma das maneiras de criar elementos compostos é com relacionamentos em hierarquia entre objetos 3d. Esse tipo de ferramenta está presente em praticamente todos os softwares que se propõe a trabalhar com animação, pois os relacionamentos ajudam muito a animar múltiplos objetos. E em termos de animação, podemos adicionar nessa lista o After Effects e até mesmo o Flash tem algo semelhante a hierarquias, quando adicionamos uma instância dentro de outra, o resultado é algo semelhante as hierarquias.

No 3ds Max as hierarquias podem ser criadas usando o botão Select and Link, que permite associar dois objetos em hierarquia. O procedimento é bem simples, e consiste na seleção de um objeto primeiro, que será o filho em hierarquia, e depois clicando e arrastando o mouse até o objeto que será o pai em hierarquia, determinamos o relacionamento entre os objetos. Esse processo é muito semelhante na maioria dos softwares, em que sempre selecionamos primeiro o filho em hierarquia, e por último o objeto pai.

Hierarquias no 3ds Max com MAXScript

O vídeo abaixo mostra como melhorar um pouco a produtividade desse tipo de tarefa no 3ds Max, utilizando um pouco de MAXScript para criar hierarquias em múltiplos objetos de uma vez só!

A técnica é bem simples e não requer muitos conhecimentos em programação, pois é apenas uma linha de código que faz a mágica. O processo consiste na seleção de múltiplos objetos em uma ordem especial, que é a dos objetos pais primeiro e depois os filhos. Com esses objetos selecionados, precisamos abrir a janela do MAXScript com a tecla F11, e digitar a linha de código que aparece no vídeo. Essa inversão na ordem de seleção é necessária, pois o script foi escrito para associar os últimos objetos em hierarquia, aos primeiros.

Com esse simples script, os relacionamentos em hierarquia são gerados para todos os objetos ao mesmo tempo!

Se você quiser aprender mais sobre hierarquias em animação 3d, recomendo participar do curso de animação 3D com Blender, em que existe uma aula específica apenas sobre hierarquias para animação.

Configurando esteiras de tanques no 3dsmax para animação

Os assuntos relacionados com animação estão em evidência aqui no blog nesses últimos dias, devido uma série de artigos interessantes que tenho encontrado pela web. Hoje vou recomendar a leitura de outro desses artigos que aborda um elemento bem trabalhoso de criar, para as pessoas que não tem o conhecimento das ferramentas necessárias para ajustar o movimento de esteiras. Sim, aquelas esteiras que encontramos em tanques de guerra e também tratores pode apresentar um bom desafio para qualquer animador, mesmo os mais experientes. O problema todo reside na adaptação e deformação que as esteiras recebem durante a sua animação, sem que o conjunto todo perca o movimento.

O tutorial está divido em seis partes, mostrando o processo completo de configuração de esteiras no 3dsmax.

anima-tanque-3dsmax.jpg

Um modelo básico é usado para começar o projeto, criado no 3dsmax 9, para servir como referência para o tutorial. No processo você aprenderá a:

  • Criar rodas que tem sua rotação automatizada;
  • Esteiras que também deslizam pelas superfícies de maneira automática;
  • Cálculo de posicionamento e orientação para as esteiras;
  • Sistema de controle do canhão do tanque.

O segredo para o controle dos objetos que compõe a esteira é o uso do campo de força do 3dsmax chamado de Conform. O funcionamento desse campo de força (space warp) é bem simples, e consiste no deslocamento dos vértices do objeto alvo, empurrando os mesmos até que os vértices encontrem uma superfície alvo. Assim que os vértices encontram a superfície, o resultado é a deformação do modelo como um todo. A técnica é bem parecida com o deslocamento de um tecido sobre uma superfície.

Esse tutorial fica ainda mais interessante para os usuários que nunca tiveram a oportunidade de usar estruturas de ossos ou outros recursos de animação, fora dos exercícios tradicionais que envolvem animação com personagens. O autor do tutorial usa uma mistura de objetos do tipo bones e curvas para conseguir trabalhar as deformações dos objetos. São as curvas que controlam as deformações dos objetos na animação, e adaptam a forma da esteira ao que encontramos na superfície.

Os usuários do Blender podem encontrar uma versão desse mesmo tipo de animação, usando técnicas um pouco diferentes nesse artigo que publiquei já faz certo tempo. O tópico abordado é exatamente o mesmo, animação usando esteiras.

Animação de máquinas com Blender 2.50

Ontem publiquei um artigo que comentava sobre as dificuldades em configurar personagens virtuais para animação, devido a diversidade com que esses personagens podem interagir e se movimentar. Todos esses movimentos e dinâmica deve ser considerada na criação de personagens. Apesar de atestar a dificuldade de ajustar e configurar esses personagens, ainda acredito que existem outros desafios ainda maiores para animadores. Um dos exercícios que gosto de passar nas minhas aulas sobre animação 3d, é a configuração de máquinas como helicópteros ou mesmo sistemas industriais. Esse tipo de máquina demanda hierarquias complexas e que devem responder entre si ao menor movimento.

O desafio está no ajuste e entendimento de como esse tipo de máquina funciona, para depois ajustar a parte de animação e hierarquias. O uso de constraints para interligar os elementos é muito usado também no processo, fazendo desse tipo de configuração um excelente exercício.

Caso você tenha interesse nesse tipo de animação, encontrei um exemplo que é ao mesmo tempo instrutivo e simples de reproduzir para o Blender 2.50. No vídeo o autor tenta configurar a dinâmica de funcionamento de um pistão usado em motores.

Rigging a Crankshaft and Piston in Blender 3D from revolt_randy on Vimeo.

O segredo para conseguir reproduzir essa animação é usar o mesmo princípio de hierarquia aplicada pelo autor do vídeo. Ele conseguiu conectar os elementos de maneira a fazer com que a rotação do objeto que se assemelha a um cilindro, desloque a posição do elemento que conecta a parte superior e inferior do pistão. Além da parte de animação do Blender 2.50 que é um pouco diferente do que estamos acostumados na versão 2.49, você poderá criar um elemento dinâmico usando objetos primitivos bem simples, como é o caso do modelo 3d usado para essa animação.

Mesmo representando uma estrutura para animação bem simples, o autor consegue o efeito de dinâmica e relação entre os objetos de maneira simples e eficiente. Basta fazer diversas cópias desses objetos em fila, adicionando um leve atraso no movimento dos objetos em 3d para criar um motor simples, pelo menos na parte de animação dos pistões.

Esse é o tipo de animação mecânica mais simples de criar. Para desafios ainda maiores, recomendo tentar criar sistemas com amortecimento como é o caso de automóveis, ou mesmo portas de veículos como aviões de carga que tem relações complexas entre objetos.