Sistema de modelagem 3d chamado B-Mesh

A pesquisa na área de computação gráfica motiva o surgimento de várias ferramentas e novidades relacionadas a manipulação de objetos, e principalmente no que diz respeito a criação de imagens. Essas pesquisas geralmente procuram encontrar novos métodos para criar objetos 3d ou resolver problemas existentes. Mas, algumas poucas pesquisas conseguem chegar ao nível de adaptar técnica antes restritas a apenas alguns softwares e descrever o seu funcionamento de maneira a permitir que praticamente qualquer pessoa com conhecimento suficiente possa implementar em softwares como o Blender.

Você já ouviu falar sobre as ZSpheres do ZBrush? Elas são um tipo se esfera especial que consegue gerar geometria para as esculturas do ZBrush. O seu método de funcionamento é único e permite elaborar formas orgânicas apenas com o uso e posicionamento dessas esferas. Existem algumas técnicas que são até parecidas para gerar geometria em 3d, mas exatamente como as ZSpheres eu nunca tinha visto. Pois, um projeto publicado por um grupo de pesquisadores chineses mostra o desenvolvimento de um tipo novo de modelagem que foi batizado de B-Mesh.

Sim, o nome é o mesmo do novo sistema de modelagem e representação de objetos do Blender, mas acredito que os pesquisadores não estavam cientes desse fato.

O que faz o B-Mesh? Ele é um sistema que funciona de maneira muito parecida com as ZSpheres do ZBrush, em que um modelo 3d é gerado com base na disposição e organização de várias esferas.

modelagem-b-mesh.jpg

Uma das vantagens desse tipo de sistema é que podemos gerar formar bem complexas tomando como referência apenas o posicionamento de primitivas geométricas como as esferas. Esse é o princípio da ZSphere, que agora tem essa técnica de modelagem descrita de maneira completa no link que aponta para a página da pesquisa. Nesse endereço você pode copiar o PDF com a pesquisa, além de assistir vídeos e exemplos de modelagem com o B-Mesh.

Como a pesquisa está publicada na íntegra junto com o algoritmo que controla o funcionamento do B-Mesh, em teoria seria simples implementar o sistema em ferramentas abertas como o Blender. Assim como muitas ferramentas que estão no Blender e foram fruto de trabalho de pesquisa acadêmica, essa pode ser mais uma contribuição para o Blender.

Sonorização automática de animações 3D

A criação de uma animação 3d passa por diversos estágios, sendo que um dos mais importantes e que não tem relação direta com a produção visual é a sonorização. Uma animação por mais bem produzida que seja, fica sem vida com a ausência de efeitos sonoros que possam contextualizar as ações, ou até mesmo enfatizar partes específicas da ação. Para conseguir sonorizar uma animação 3d os produtores desse tipo de material passam por dois desafios que são a localização de sons próprios para cada ação, e depois a sincronização desse material com a animação. No caso de vozes para atores, o processo é o inverso, em que primeiro as vozes são gravadas e a animação é feito com base nessa narração.

Para conseguir efeitos únicos em projetos de animação, o recomendado é gravar sons do mundo real e aplicar esse material na animação. Mas, até mesmo na parte de sonoplastia da produção poderemos contar no futuro com ajuda de algoritmos de sintetização automatizados. Na última Siggraph realizada algumas semanas atrás, foi apresentada uma pesquisa chamada “Rigid-Body Fracture Sound” que mostra um procedimento para gerar sons oriundos de animação procedural do tipo Rigid Body de maneira automática.

Esse tipo de animação é usada com frequência para simular objetos que sofrem ação da gravidade e colisões entre eles, criando algo muito próximo do mundo real. O algoritmo foi empregado para gerar sons de impacto e fragmentação nesse tipo de animação. O vídeo abaixo é uma demonstração do que a pesquisa pode gerar:

Só para lembrar que todos os sons apresentados no vídeo foram gerados de maneira automática! Nenhum software de composição ou arquivos de áudio foram usados no procedimento. Mesmo sendo um tipo de som simples de gerar, esse tipo de ferramenta pode evoluir para algo mais sofisticado que consiga criar marcações e sons para elementos simples como colisões e deformações baseadas na natureza dos materiais.

Para alguns projetos o software até ajuda, mas não substitui um bom diretor e animador que precisa enfatizar partes do movimento usando sons, com um pouco de exagero ou sons estilizados. Se você quiser fazer o download do arquivo PDF com a pesquisa completa, visite o endereço indicado.

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.

Remodelagem paramétrica do corpo humano para fotografia

A edição de imagens e fotografias é quase que uma regra no mercado publicitário e entre os fotógrafos profissionais, pois nem sempre as condições em que a imagem ou objetos da fotografia foram capturados atendem aos objetivos do projeto. Por isso, sempre vemos referências as supostas edições e retoques em imagens realizadas em softwares como o Photoshop. Esse tipo de edição de imagens é trabalho par artistas habilidosos e algumas horas de trabalho, para conseguir ajustar os objetos ou modelos no computador. Com a aproximação da Siggraph 2010, alguns dos artigos científicos que abordam edição de imagens estão sendo divulgados na internet, sendo que um desses artigos lida exatamente com a edição e ajuste de imagens paramétricas do corpo humano.

O trabalho foi desenvolvido por pesquisadores de universidades em Hong Kong, China e Israel propõe o uso de uma mescla de modelagem 3d e redimensionamento de imagens, para conseguir alterar a aparência das pessoas com base no peso e altura. O artigo científico com a descrição completa do procedimento pode ser encontrada nesse endereço.

O vídeo abaixo demonstra o uso do algoritmo desenvolvido na pesquisa em fotografias:

No vídeo podemos acompanhar que o procedimento descrito no vídeo usa uma mescla de remodelagem do corpo humano com base em modelos 3d, criados sobre uma fotografia ou imagem e o algoritmo fica responsável pela edição e redimensionamento proporcional da imagem. Ainda existem alguns pequenos problemas nas deformações dos objetos, como o movimento dos pixels localizados logo ao redor dos objetos modificados. Fora esse pequeno problema, o sistema já se mostra muito eficiente na transformação das medidas do corpo humano com proporção. Seria esse um prelúdio para o Body-Aware Scale de um Photoshop CS6 ou GIMP?

Esse é um recurso que por enquanto não está prometido para nenhum editor de imagens em especial, mas as interfaces exibidas pelo vídeo deixam claro que o mesmo é aplicado de alguma forma no Photoshop. Com esse tipo de recurso será possível fazer análises e planejamento de cirurgias e outras intervenções estéticas com o auxílio do computador, usando apenas alguns parâmetros simples.

Depois dessa demonstração, o software que adotar o sistema deve ser presença obrigatória em academias ou clinicas de cirurgia plástica. Assim, as pessoas devem se animar mais para fazer regime ou sempre parecer “em forma” nas fotografias.

O artigo será apresentado durante a Siggraph 2010.

Nova técnica para simular iluminação global na renderização em tempo real

Entre as diversas engines comerciais existentes no mercado para desenvolvedores de jogos, a que oferece as opções e visual mais realista é sem dúvida a CryEngine, usada no jogo Crysis. Essa engine consegue apresentar visuais que se assemelham em muito a renderizações usando iluminação global de ferramentas como o V-Ray e Mental Ray, sendo que o ambiente é um jogo com interação em tempo real. Para mostrar como essa engine está avançando para deixar esse tipo de aplicativo ainda mais realista, quando comparado com ferramentas de renderização tradicional, um artigo foi apresentado na Siggraph apresentando a técnica chamada de Light Propagation Volumes. Se você é estudante e se interessa pela parte teórica da computação gráfica, o material disponível para apresentar a técnica é um prato cheio!

Ao visitar o endereço indicado, será possível encontrar o artigo científico que explica em detalhes o funcionamento da técnica, a apresentação em formato PPT e vídeos com o uso dessa renderização em jogos.

artigo-computacao-grafica-3d-render-jogos.jpg

A técnica em si é bem engenhosa e se propõe a acelerar a primeira reflexão dos fótons, que acontece em renderizadores como o V-Ray, Mental Ray e outros. Essa reflexão geralmente é pré-computada e demanda muitos recursos do computador, o que torna inviável o seu uso em aplicativos como jogos. A técnica proposta pela Crytek e já implementada na CryEngine 3 resolve esse problema com o uso do Light Propagation Volumes. Se você acha que a técnica envolve apenas a iluminação difusa gerada pela primeira reflexão em superfícies irregulares, está enganado pois no mesmo artigo são apresentados alguns efeitos óticos possíveis de conseguir com a técnica, como reflexões borradas (Glossy reflections).

Os dois vídeos disponíveis para download são um pouco grandes em comparação com o tempo disponível de material em cada um deles, e mostra a aplicação de grandes quantidades fontes de luz em um ambiente e a demonstração da iluminação global no outro vídeo.

Mesmo que você não entenda o material apresentado na apresentação em PPT ou no artigo científico que está em inglês, e aborda muita matemática relacionada com a geração dessas imagens, ainda vale o download ao menos dos vídeos para que possamos ter uma idéia de como será num futuro breve, a renderização em tempo real na maioria dos softwares. Outro ponto interessante é que o artigo científico faz uma breve introdução teórica sobre a renderização em tempo real, que pode ser útil para quem está fazendo pesquisa na área.

Hoje a aplicação direta dessa tecnologia são os jogos, mas é provável que a mesma tecnologia seja usada para apresentar produtos e criar animações interativas também.