Tutorial 3ds max: Como usar física com PhysX

Uma das novidades que foi apresentada junto com o 3ds max 2012 foi a integração com o sistema de física com aceleração baseada em GPU da NVidea chamado de PhysX. Esse tipo de recurso permite trabalhar com simulações extremamente complexas e com dezenas de objetos, aproveitando a aceleração que a sua placa de vídeo oferece. Os usuários do 3ds max 2011 já tinham esse recurso disponível como parte dos pacotes de atualização da Autodesk, mas todos que atualizarem para o 3ds max 2012 devem receber as opções do PhysX como parte integrante software.

Para quem nunca usou esse tipo de recurso, ou simplesmente gostaria de aprender o funcionamento do PhysX, o tutorial abaixo é um excelente ponto de partida. O autor do tutorial explica como trabalhar com as opções do PhysX ainda no 3ds max 2011, mas os conceitos e ferramentas podem ser aproveitados na versão 2012.

O objetivo do tutorial é fazer com que uma esfera que está sendo animada usando apenas keyframes tradicionais de animação, possa colidir com um cilindro. Esse tipo de animação poderia ser realizada tranqüilamente apenas com o Rigid Body tradicional do Reactor existente no 3ds max, mas o processo foi adaptado para usar o PhysX.

No vídeo o autor começa explicando que existem três tipos diferentes de Rigid Bodies na barra de configurações do PhysX:

  • Dynamic: Objeto que reage as colisões sofridas por outros objetos.
  • Kinematic: Objeto que é um Rigid Body e reage as colisões, mas seu movimento é gerado usando keyframes.
  • Static: Objeto que reage com outros Rigid Bodies, mas não se desloca com base em colisões.

Nesse vídeo a esfera é do tipo Kinematic, o cilindro é Dynamic e a plataforma em que a ação acontece é Static.

Com toda a cena configurada, basta agora fazer algumas cópias do cilindro para que tenhamos uma simulação e uma pista de boliche! Os ajustes relacionados a fricção e outras propriedades físicas podem ser alterados no painel de materiais, em que fica disponível uma série de controles para o PhysX.

Esse é o tipo de recurso que deve agradar aos usuários acostumados a trabalhar com muitas animações baseadas apenas em física. Os artistas que já possuem o 3ds max 2012 e uma placa co suporte a essa tecnologia, podem começar a aproveitar esses recursos de imediato!

Simulação de fluidos baseada em GPU com PhysX

As simulações físicas sempre foram um problema para projetos que envolvem computação gráfica 3d, seja com o uso de partículas que estão disponíveis em ferramentas 3d já faz um bom tempo, até mesmo as mais recentes como o uso de fluidos e roupas. Entre essas últimas opções a simulação de fluidos oferece um dos maiores, se não for o maior, em termos de complexidade e capacidade de processamento. Desde os primórdios da computação gráfica as pessoas evitam trabalhar com grandes superfícies de líquido, pois é muito era muito complicado conseguir realismo e qualidade nesse tipo de solução. Para ter uma idéia disso é só conferir vídeos ou filmes mais antigos, como é o caso de Titanic. As cenas que mostram o navio com enquadramento mais aberto e no alto mar deixam claro que fizeram o melhor para aquela época.

Hoje existem soluções avançadas para esse tipo de trabalho como é o caso do Fume FX que consegue atribuir realismo impressionante para animações com fluidos e partículas. Mas, para usar esse tipo de ferramenta é necessário fazer o pré-processamento de muita coisa. Seria muito mais interessante aproveitar o poder de uma GPU para acelerar esse tipo de simulação. Foi exatamente isso que o pesquisador da Nvidia chamado Matthias Fischer e que já teve um artigo científico recomendado aqui no blog, acabou de publicar com o seu estudo chamado “Real-time Simulation of Large Bodies of Water with Small Scale Details” que seria algo como simulações de larga escala de superfícies líquidas com pequenos detalhes.

O artigo pretende mostrar como o uso da tecnologia PhysX da Nvidia pode ajudar a simular grande superfícies de água com o uso de GPU. Para fazer o download do artigo e de um vídeo com a demonstração da técnica, visite o endereço indicado no link com o título do artigo.

simulacao-3d-fluidos-physx.jpg

No vídeo podemos acompanhar uma pequena simulação usando como personagem uma lancha que percorre diversos trechos com grande movimentação de água. O interessante do vídeo e perceber a quantidade de detalhes e partículas geradas pelo movimento da lancha, que são geradas usando basicamente sistemas de partículas secundários.

Para os estudantes e acadêmicos interessados em realizar projetos de conclusão de curso ou monografias sobre computação gráfica 3d, o artigo completo é uma rica fonte de informação e referências. Para ter idéia da qualidade desse estudo, recomendo o download do vídeo, pois apenas com a visualização das animações é que podemos perceber a qualidade da técnica.

Animação e composição de partículas e Rigid Bodies no 3ds Max

Entre os tipos de animação 3d envolvendo apenas objetos e não personagens, uma das mais complexas de realizar é que envolve comportamentos físicos dos objetos e também partículas. Só o uso de partículas já um desafio para a maioria dos artistas 3d, pela quantidade de parâmetros e opções necessárias para conseguir elaborar alguns efeitos e comportamentos. Mas, quando esse tipo de elemento dinâmico e complexo se une a objetos que interagem entre si, a coisa fica muito mais complicada. Para quem tem interesse em saber como é que animações assim, podem ser elaboradas no 3ds Max, um artigo publicado nesse link mostra o procedimento necessário para criar a seguinte animação no 3ds Max:


Final composite from Vladimir Alexeev on Vimeo.

O vídeo é bem curto, mas a animação em si apresenta alto nível de complexidade. Para que seja possível ter uma idéia de como é complicado criar uma cena assim, vamos conferir a lista de softwares e ferramentas usadas pelo Vladimir Alexeev na criação dessa cena:

  • 3ds Max
  • V-Ray
  • After Effects
  • Particle Flow
  • FumeFX
  • Krakatoa

A parte de composição foi muito importante para que o trabalho pudesse ser finalizado, pelo que pode contabilizar em termos de camadas de renderização, o artista uso no total nove camadas para separar os elementos da imagem e depois mesclar tudo no After Effects.

Repare na lista de softwares usados que a quantidade de plugins e ferramentas adicionais ao 3ds Max é relativamente alta, pois todas as ferramentas escolhidas pelo artista são especializadas em manipular partículas de alguma maneira. Esse procedimento é normal em produções desse tipo em que o estúdio ou o artista tem os recursos financeiros para investir e adquirir as melhores ferramentas para um projeto em especial.

No artigo indicado é possível encontrar várias imagens e telas de configuração do 3ds Max, explicando o processo de criação da imagem. Mas, ainda é complicado dizer que é um tutorial mesmo, pois há pouca explicação em texto sobre os procedimentos, mas a seqüência está bem documentada visualmente. Para cada uma das fazes da animação existe um vídeo correspondendo a fase e camada usada na composição.

A descrição da animação está dividida em cinco fases:

  1. Modelar a base da casa e adicionar os seus elementos ao plugin PhysX
  2. Criar as partículas que se desprendem da casa com os tijolos e telhas usando o Particle Flow
  3. Criando os detritos e poeira com o Particle Flow
  4. Fumaça e colisões do o plano no piso usando o V-Ray, After Effects e FumeFX
  5. Fumaça e partículas volumétricas com o Particle Flow, Krakatoa e FumeFX (Só para ter uma idéia de quantidade, o autor adiciona aproximadamente 5 milhões de partículas a cena nessa fase)

Mesmo com essa enorme quantidade de plugins e ferramentas extras, o processo de animação é complexo devido a grande quantidade de parâmetros e ajustes necessários para conseguir o efeito final. Como forma de exemplo, o artigo é muito rico na contextualização de como seqüências complexas e ricas em simulações físicas com Rigid Body Dynamics e partículas podem gerar efeitos impressionantes, mas trabalhosos para o animador.