Usando matemática para gerar florestas virtuais 3D

Depois de tirar uns dias de “folga” no início do ano, estou retornando as atividades corriqueiras do blog com uma nova atualização. Mesmo depois de um tempo, desejo um ótimo 2013 para todos os leitores do blog! Como parte da tradição de passar o ano, você provavelmente deve ter feito muitas promessas de mudança nas últimas horas do ano que passou, e espero que entre essas promessas esteja a de estudar um pouco mais para desenvolver as suas habilidades como artista 3d, ou mesmo procurar se aperfeiçoar em áreas como gestão de projetos. Eu mesmo estou decidido a estudar muito mais nesse novo ano, para melhorar minhas aulas e também engajar novos projetos!

Uma das áreas que você pode procurar para estudar é a matemática! Sim, por mais difícil que seja de acreditar, a matemática está diretamente relacionada com a produção de animações em 3d e projetos na área de informática, principalmente se o projeto envolve grandes áreas ou elementos complexos com pequenos detalhes. A manipulação desses elementos manualmente inviabiliza qualquer iniciativa ou tentativa de produzir alguma coisa para fins comerciais. Por exemplo, a criação de florestas e vegetação virtual é quase sempre gerada por fórmulas matemáticas, e com o pessoal da Pixar isso não é diferente.

No seu último projeto chamado de Brave, que não está entre as melhores animações da Pixar, o uso de fórmulas matemáticas para gerar vegetação virtual foi fundamental para conseguir gerenciar as grandes superfícies “verdes” e florestas que fazem parte do cenário da animação. Quer ter uma idéia de como isso foi feito? O vídeo a seguir mostra um pouco da matemática usada pela Pixar na animação Brave.

O que aparece no vídeo é apenas uma amostra, mas deixa claro como o conhecimento desse tipo de algoritmo pode ser fundamental para que uma pessoa possa evidentemente criar de maneira rápida grandes superfícies com vegetação. Mas, para todos os casos existem ferramentas como o V-Ray Scatter e outras que ajudam na tarefa, mas são opções proprietárias fechadas. Você só pode criar aquilo que o software permitir, e gerando a sua própria ferramenta o limite será a sua imaginação, e a capacidade do seu hardware.

Distribuição de objetos com o script Panels no 3ds Max

A criação de modelos 3d sempre envolve algum nível de repetição no estágio da modelagem, pois como você pode perceber ao observar o mundo ao seu redor, muito do existe no mundo real é formado por nada mais que pequenos blocos que são repetidos em padrões. Portanto, ao criar um desses pequenos padrões, você poderá copiar esse objeto inúmeras vezes para conseguir modelar praticamente qualquer coisa. Existem várias ferramentas em 3d que conseguem criar essas cópias como o Array e o Scatter, que funcionam de maneiras diferentes dependendo do software escolhido para a modelagem.

Mesmo com essas diferenças, uma coisa é certa, em algum momento você vai precisar realizar cópias de objetos para modelar em 3d.

Script para criar cópias múltiplas de objetos no 3ds Max

Um script para o 3ds Max que está em estágio Beta, pode ajudar significativamente a criar esses modelos 3d. Esse script se chama Populate:Panels e ele ajuda a criar objetos como exibido na imagem abaixo:

panels.jpg

Repare que foi criado o modelo 3d de uma janela bem detalhada, e essa mesma janela foi usada como base para substituir as faces de um Torus Knot e gerar um efeito bem interessante na composição do modelo 3d.

O script faz a distribuição dos objetos sobre uma superfície, mas isso não é tudo. Com ele é possível fazer com que as cópias sofram pequenas modificações e até mesmo podemos deixar a distribuição aleatória. Entre os objetos que podem ser usados para a distribuição estão polígonos e até mesmo superfícies NURBS.

Ainda é possível adicionar materiais e texturas diferentes nos objetos copiados, para ajudar a diferencias as superfícies.

O trabalho de modelagem com o script é bem interessante, pois as alterações na modelagem podem ser visualizadas em tempo real, bastando para isso habilitar o preview do script. O resultado do modelo 3d é sempre geometria nativa do 3ds Max, que pode ser reaproveitada em instalações do 3ds Max que não possuam o Populate:Panels instalado.

Como o script está em estágio beta, os desenvolvedores estão oferecendo a ferramenta de maneira gratuita, o que pode mudar assim que o script fique estável. Portanto, corra agora para fazer o download da sua cópia!

Tutorial para configurar vegetação e grama no 3ds Max e V-Ray

A criação de elementos dispersos em cenários virtuais para criar grama e vegetação sempre é um problema para a maioria dos projetos, independente do software ou ferramenta usada para trabalhar a modelagem ou renderização. Existem diversas técnicas e artifícios para reproduzir esse tipo de elemento, mas as mais eficazes sempre envolvem o uso de geometria mesmo, para representar cada folha da grama ou vegetação em 3d e reproduzir de maneira fiel a interação com luz e sombra. Outras técnicas mesclam materiais transparentes com canal alpha, em que devemos adicionar em diversos planos posicionados de maneira aleatória sobre uma superfície para reproduzir grama. Mas, o uso de geometria ainda é mais indicado por permitir controle absoluto sobre a morfologia do objeto 3d.

Se você é usuário do 3ds Max e V-Ray, existe um tutorial muito interessante criado por um artista chamado James Shaw. O tutorial detalha o procedimento para criar vegetação e grama usando apenas as ferramentas padrão do 3ds Max para renderização com o V-Ray, sem em momento algum recorrer a tecnologias mais recentes como o V-Ray Scatter ou mesmo plugins de partículas como o PFlow.

Essa é uma imagem do que você pode reproduzir seguindo os passos recomendados pelo tutorial:

tutorial-3dsmax-vray-vegetacao-grama-3d.jpg

O procedimento é bem simples e consiste na modelagem de um plano, que depois deve ser deformado e convertido para um Editable Mesh e receber algumas modificações para ficar semelhante a uma folha de grama. Esse mesmo objeto é duplicado algumas vezes para formar um conjunto total de quatro folhas. Assim que o conjunto de objetos for criado, precisamos adicionar um material configurado como sendo do tipo múltiplo, contando uma textura de grama para cada folha do conjunto. Como o render será feito no V-Ray, os materiais usados para atribuir a impressão de grama são todos do tipo VRayMtl.

Depois é só usar partículas para distribuir os objetos sobre uma superfície e renderizar. Mesmo sem usar ferramentas mais sofisticadas para esse propósito, o tutorial consegue reproduzir muito bem vegetação e grama.

Esse mesmo princípio pode ser usado em outras ferramentas 3d com o a representação de vegetação e grama usando apenas texturas e modelos 3d simples. O único ponto negativo é que precisamos sempre tomar cuidado com a quantidade de polígonos total do modelo 3d, pois representar vegetação realista sempre demanda muitas faces, o que pode deixar a edição da cena mais complicada.