Animação com partículas e efeitos no Maya

A criação de animações que reproduzem efeitos atmosféricos é sempre um desafio para animadores e artistas 3d, devido a enorme quantidade de informação e caos que esse tipo de dinâmica acaba gerando. Um exemplo bem simples disso são as animações de tornados ou outros desses eventos. Para conseguir trabalhar e simular bem esse tipo de efeito é necessário misturar diversas ferramentas de simulação física como partículas, rigid bodies e outras. Caso você nunca tenha visto uma dessas animações e a estrutura que funciona por trás desse tipo de produção, encontrei um vídeo que apesar de ser curto, mostra bem como é complicado criar esse tipo de vídeo.

O vídeo mostra a destruição de uma pequena casa por um tornado, fazendo com que uma grande quantidade de escombros e objetos se desprenda da estrutura principal da edificação, e seja arremessado para bem longe da casa.

Os primeiros segundos mostram a animação em si, depois temos um rápido making of da animação.

Tornado in Thailand (Breakdown) from Ping on Vimeo.

Todo o material dessa animação foi produzido usando o Maya, aproveitando a integração que ele disponibiliza na sua área de dinâmica.

O primeiro passo para conseguir reproduzir esse tipo de animação é a reprodução completa de toda a edificação, usando polígonos ou outro tipo de elemento que possibilite ao artista fragmentar toda a estrutura usada no objeto real. A fragmentação desse tipo de modelo é o ponto chave para o realismo na destruição, pois caso os pedaços não sejam separados de maneira convincente, a animação como um todo fica comprometida. Apesar do Maya possuir ferramentas para fragmentar objetos, o autor do vídeo usou uma mistura de opções nativas e scripts em MEL, segundo a própria descrição do vídeo.

Depois o processo envolve a criação do sistema de partículas que simula uma pequena revolução que gera o efeito do tornado.

Em ferramentas como o 3dsmax e Blender, temos opções especializadas para realizar a esse tipo de animação com fragmentação. Mas, mesmo assim a composição desse tipo de animação ainda é muito difícil, sem o uso de ferramentas próprias para dinâmica avançada de partículas como o Real Flow. O mérito nesse caso é todo do artista 3d que conseguiu resolver muito bem a animação.

Renderização volumétrica com Blender 3D e LuxRender

A renderização de volumetria ou efeitos atmosféricos sempre é um problema, assim como os efeitos necessários para gerar ambientes aquáticos como comentei em artigo publicado ontem aqui no blog. Esse tipo de efeito pode ser gerado no Blender 3D com uma opção presente nas luzes do tipo Spot que é o Halo. Ao acionar essa opção na luz, podemos “visualizar” os raios de luz com uma espécie de neblina que representa muito bem a volumetria. Quando o projeto envolve o uso de renderizadores externos como o LuxRender ou YafaRay, o procedimento para gerar esse tipo de efeito muda significativamente.

No caso do LuxRender é um pouco complicado de começar a trabalhar com esse tipo de efeito, pois até mesmo na documentação do software existem poucas informações ou procedimentos sobre o funcionamento desse tipo de opção. Um usuário do LuxRender publicou um pequeno estudo nos fóruns do LuxRender com uma cena de teste e os procedimentos necessários para gerar o efeito. O resultado do efeito pode ser conferido na imagem abaixo, que foi incluída na Wiki do LuxRender:

tutorial-render-volumetria-luxrender-blender-3d.jpg

O procedimento para criar esse tipo de efeito no LuxRender envolve alguns pequenos truques. O primeiro é a criação de m sólido geométrico que precisa ser configurado com um material chamado boundvolume, que define a área em que a emissão do volume deve acontecer. O funcionamento é semelhante ao Domain usado nas simulações de fluidos.

No exemplo disponibilizado pelo usuário ele criou um cubo que envolve o volume completo da cena para que o efeito seja gerado apenas dentro do volume. Pelos testes que consegui fazer em outras cenas, percebi que esse mesmo volume gera uma pequena neblina na sua área. A interação com os raios de luz é que marca a trajetória dos pontos de luz na cena.

Além disso, ainda é preciso alterar o Integrer usado para renderizar a cena, pois apenas com as opções Path e Directlight é que a criação de volumes funciona. Essa é uma limitação da versão 0.61 do LuxRender que já está nos planos dos desenvolvedores para correções na atualização para o LuxRender 0.7. Recomendo que você faça o download da cena disponível nos fóruns e estude as configurações. O efeito é muito interessante, mas deixa o render ainda mais lento do que já é no LuxRender, portanto é necessário cuidado ao adotar esse tipo de efeito em projetos importantes.

Criando flechas animadas usando partículas no Softimage XSI ICE

O sistema de partículas de um software 3d é uma das partes mais versáteis e úteis em termos de animação, qualquer que seja o software usado. Nos softwares que já permitem o controle procedural das partículas como o Softimage XSI e o Houdini, as possibilidades de configuração e animação com esses sistemas são ainda maiores. Quando um projeto de animação requer que o artista crie cenas em que múltiplos objetos estão se movendo no cenário, como um conjunto de flechas disparadas na mesma direção, o sistema de partículas pode ajudar em muito.

No tutorial abaixo é possível acompanhar o procedimento e passos necessários para criar uma animação usando partículas, que simulam várias flechas em movimento. A animação que o artista do vídeo está criando é um pouco mais complicada, pois são flechas flamejantes e que interagem com efeitos atmosféricos. O vídeo está em alta resolução e dividido em duas partes.

A primeira parte do vídeo mostra o artista configurando o sistema de partículas para que o mesmo use instâncias de um modelo 3d no cenário, nesse caso o modelo 3d de uma flecha. Você vai perceber que a maioria das opções e ajustes usados no Softimage XSI estão presentes em outros softwares, como os ajustes do objeto emissor e os controles para velocidade, quantidade e força das partículas. Boa parte do processo é ajustada usando nós, o que deixa a fase de ajuste bem diferente para quem não está acostumado.

Mesmo assim, é interessante acompanhar a interação visual dos parâmetros resultando na animação das partículas.

XSI 7 ICE : Flaming Arrows Part 1 from Steven Caron on Vimeo.

A segunda parte do tutorial é dedicada ao ajuste e criação dos efeitos que acompanham o sistema de partículas. Nesse caso, as flechas que são animadas pelo Softimage deixam um pequeno rastro ao configurar o seu movimento ao longo da trajetória. Isso é efeito adicionando elementos como fumaça e interação com luzes no ambiente.

XSI 7 ICE : Flaming Arrows Part 2 from Steven Caron on Vimeo.

Se você não está acostumado com o uso de sistemas baseados em nós, a organização desse tipo de animação e efeito usando esse tipo de recurso pode parecer mais confuso e difícil que o velho menu cheio de parâmetros. Mas, com esse tipo de recurso, é possível ter uma interface mais limpa e que use apenas os nós com parâmetros usados na cena. Sem mencionar o fato que tudo é procedural, e pode abranger uma quantidade quase ilimitada de combinações para criar efeitos.

Mesmo que você não entenda a narração em inglês, é possível entender o que está acontecendo no vídeo se os nomes dos nós usados forem associados ao que acontece na cena. Para isso, qualquer experiência com softwares 3d é necessária.

Blender 3D 2.50: Sistema de cache para partículas e simulação de fumaça

A simulação de efeitos atmosféricos sempre foi uma coisa relativamente complexa e trabalhosa de realizar com as ferramentas existentes hoje no Blender 3D, pois elas precisam ser adaptadas para diferentes usos. Por exemplo, para fazer uma simulação de fumaça realista hoje, a solução seria aplicar uma mistura de partículas e talvez alguma simulação usando fluidos para caracterizar o movimento da fumaça. Tudo vai depender da maneira e contexto em que essa fumaça será criada. No Blender 3D 2.50 esse tipo de simulação poderá ser bem mais simples, pois um desenvolvedor está trabalhando em um modificador chamado Smoke, que vai atribuir propriedades de fumaça aos objetos na renderização.

O projeto está em andamento e já existem até mesmo algumas imagens de teste, mostrando como será o resultado final dessa fumaça no Blender 3D.

blender3d-250-simulacao-fumaca.jpg

Assim como já aconteceu com outros recursos adicionados ao Blender 3D nos últimos meses, o desenvolvimento do módulo para criar fumaça é baseado em um artigo científico. Como o projeto ainda está em desenvolvimento, apenas quando a versão final do Blender 2.50 for lançada é que teremos oportunidade de usar esse tipo de ferramenta com versões mais estáveis.

Outro módulo do Blender atual que está ganhando cada vez mais forma na nova versão é o sistema de partículas, que está sendo atualizado e adaptado pelo próprio Jahka. Na semana passada foi divulgado um vídeo no blog dele, em que o novo sistema de Cache para as partículas no Blender 2.50 foi demonstrado.

Agora existem quatro tipos diferentes de Cache funcionando nas simulações do Blender que são:

  • None
  • Free
  • Exact
  • Auto

Esses sistemas de Cache determinam a maneira com que as animações das partículas são armazenadas no Blender. Qual a vantagem de usar um sistema de Cache? Ao criar uma animação com partículas no Blender e avançarmos a animação na timeline, podemos visualizar sem maiores problemas o movimento das partículas. Mas, ao retroceder a animação não visualizamos mais nada, apenas se o processo de animação for gravado usando o Baking. Com o Cache é possível armazenar na memória o movimento das partículas, sem a necessidade de usar o Baking.

A opção None é equivalente ao que temos hoje no Blender 3D 2.49, sendo o Free o modo mais simples de Cache. Com as opções Exact e Auto é possível aplicar o sistema de Cache para criar situações e criar com as partículas sem a necessidade de passar pelo processo de animação.

Por exemplo, para criar uma imagem estática usando as partículas é necessário configurar o sistema e pressionar o Play da animação até quem encontramos uma quadro em que as partículas estão de acordo com as necessidades da animação. Com o modo Auto ou Exact, é possível fazer alterações nos parâmetros das partículas e visualizar as mudanças sem a necessidade de executar a animação novamente!