Simulação de fluidos com o Phoenix FD

Na chamada animação procedural existem diversas vertentes, sendo que uma das mais interessantes de se trabalhar é a que tenta reproduzir fenômenos físicos. Por exemplo, as animações com simulações de Rigid Bodies ou mesmo fluidos. Esse é um tipo bem específico de animação e que envolve uma quantidade bem razoável de parâmetros e opções para que possa ser reproduzida da maneira como um roteiro exige. As animações que simulam fluidos estão entre as mais complexas, devido a sua quantidade de parâmetros e a grande demanda por poder computacional para gerar animações com a riqueza de detalhes necessária para simular de maneira realista. A área é tão complexa, que despontam softwares e ferramentas específicas para esse tipo de tarefa como costumo mencionar aqui no blog.

Um novo software se propõe a ajudar nesse tipo de simulação e ele foi criado pelos mesmos desenvolvedores do já bastante conhecido renderizador V-Ray. Essa ferramenta que simula fluidos é o Phoenix FD, que junto com outros softwares da mesma categoria como o Real Flow ou Fume FX. Para ajudar na divulgação dessa nova ferramenta o Chaosgroup divulgou vários vídeos mostrando como o Phoenix FD funciona, e para a nossa sorte, todos eles estão disponíveis de maneira gratuita no canal da empresa no Youtube.

Esse primeiro vídeo mostra o funcionamento básico do Phoenix FD integrado ao 3dsmax:

O funcionamento do Phoenix FD é muito semelhante ao que já encontramos em outros softwares, pois é necessário criar um domínio para limitar a área em que o fluido será simulado. No vídeo acima o autor tenta criar um efeito de fogo, pois em termos físicos o comportamento de líquidos e gases é exatamente o mesmo, fazendo com que o software que cria fluidos também gere efeitos de fogo ou fumaça.

Outros vídeos mostram algumas das simulações de fluidos criados com o software, e que mostram um pouco do que ele pode fazer em prol de artistas que trabalham com muitos projetos nessa área. O primeiro vídeo mostra uma série de ondas quebrando:

Depois temos tipos diferentes de fluidos como é o caso de leite:

Para quem não tem a disposição um sistema de fluidos como é o caso de ferramentas como o Blender ou o Maya, esse tipo de software acaba sendo a única solução para conseguir criar simulações realistas com fluidos. Um dos mercados que demanda aplicações e animações com esse tipo de qualidade é o de publicidade, em que precisamos elaborar demonstrações de produtos com fluidos de maneira bem freqüente. A maioria dos fluidos que vemos nesse tipo de produção já são totalmente virtuais.

Pesquisa científica: Animação de derretimento de gelo com partículas

As animações que envolvem algum tipo de simulação com base em fenômenos ou elementos já existentes no mundo real, como é o caso de líquidos e fumaça estão entre as mais difíceis de reproduzir. Com esse alto nível de dificuldade e uma crescente necessidade de gerar animações complexas, temos uma área da animação que é praticamente dominada por ferramentas especializadas como o Thinking Particles, Real Flow e Fume FX. Todos esses softwares agregam opções especializadas para simular e reproduzir partículas ou fluidos usando algoritmos avançados. Mas, sempre podemos complicar um pouco mais o processo de animação misturando elementos. Por exemplo, as interações realizadas por fluidos no contato com o gelo.

Sim, caso você nunca tenha percebido, a água ao entrar em contato com o gelo acaba modificando a dinâmica de movimento e animação do fluido. Uma equipe de pesquisadores japoneses trabalho na criação de um método que resolva esse tipo de simulação com o auxílio de GPUs. O resultado é impressionante! O artigo científico com o estudo da dinâmica desse movimento, assim como uma lista de exemplos e vídeos pode ser conferida nesse endereço.

pesquisa-animacao-gelo.jpg

Além da qualidade na animação resultante do método, podemos perceber que o uso da tecnologia CUDA acelerou significativamente o processo de simulação dos líquidos. Par ter uma idéia da vantagem, basta conferir os tempos de simulação em cada um dos exemplos disponíveis na página.

A solução para reproduzir o efeito é baseada na mistura de partículas com algoritmos que reproduzem o comportamento tanto do gelo ao derreter, como nos fluidos e a sua tensão superficial ao interagir com o gelo.

Repararam que um dos participantes da pesquisa é a divisão de entretenimento da Sony? Será que estamos vendo o nascimento de uma tecnologia usada em futuros jogos?

Apesar de já estarmos no final do ano e muitos dos trabalhos acadêmicos para esse semestre não admitem mais alterações, você pode ao menos aproveitar a excelente lista de referências bibliográficas do artigo, para usar em futuros projetos. Quem trabalha com pesquisa acadêmica sabe o quanto é importante ter esse tipo de indicação em artigos, e como é difícil de fazer a seleção.

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.