Configuração de bones no 3ds Max: Criando uma perna com cinemática inversa

A configuração de personagens em 3d mistura um pouco de técnica com a sensibilidade e conhecimento do artista nas áreas de anatomia e dinâmica. Sempre que é necessário configurar personagens antropomórficos, podemos estudar e visualizar o nosso próprio movimento para fazer estudos e observar a maneira com que os chamados bones precisam se comportar. Nas minhas aulas sobre animação 3d, acabo mostrando para os alunos a parte que é básica e todos precisam conhecer, como as relações de hierarquia entre os objetos e as diferenças entre a cinemática direta e inversa.

Mas, quase sempre me surpreendo com algum aluno que usa de maneira diferente a configuração dos ossos, para gerar movimentos secundários em personagens ou mesmo conseguir configurar estruturas em personagens com anatomia diferente de um bípede. Se você quiser ter uma boa idéia de como funciona esse tipo de configuração no 3ds Max, o tutorial abaixo é uma excelente demonstração de como usar cinemática inversa, conhecida pela sigla IK em inglês, uma perna que pode ser usada para qualquer personagem antropomórfico.

O vídeo não apresenta áudio, mas para os usuários do 3ds Max será simples de acompanhar os procedimentos realizados no tutorial. Os bones já são criados em hierarquia e logo no início do vídeo, podemos perceber que a estrutura deve ser criada em etapas. Uma boa parcela dos artistas 3d iniciantes acaba gerando estruturas totalmente conectadas, que resultam na deformação de todos os elementos da perna. Os objetos que estão separados são conectados em hierarquias depois.

Para fazer com que as relações de hierarquia entre os bones sejam invertidas, o artista adiciona um Solver de IK na estrutura para fazer com que os bones na extremidade da hierarquia alterem a perna como um todo. A estrutura é completada com diversos objetos chamados Dummy que servem apenas para auxiliar nesse tipo de configuração, sem nenhuma participação no render ou deformação nos objetos.

Assim que a estrutura vai sendo montada, podemos visualizar como é complexa e cheia de pequenos detalhes a composição da perna. Nesse caso, foram necessários vários solvers e Dummys para configurar um pé que responda de maneira semelhante à anatomia de um pé humano. Outro ponto interessante é a adição de uma marcação que mostra o local em que supostamente o personagem deve ter o modelo 3d do pé modelado.

Bloco de grama gratuito para download no Blender 3D e LuxRender

A criação de grama em 3d sempre é um problema para o mais habilidoso dos artistas 3d, pela natureza complexa do objeto em si e também a dificuldade em conseguir adequar as soluções propostas, com o ângulo da câmera e também com a iluminação do cenário 3d. Hoje em dia, a solução mais usada é o instânciamento de objetos diretamente no render. Se você tem ferramentas como o V-Ray Scatter, pode aproveitar desses recursos para reduzir o carregamento do computador no render e usar geometria para representar a grama. Outra opção é usar texturas para representar a grama, usando uma técnica bem conhecida da maioria dos artistas 3d, que é a organização de diversos planos sobre uma superfície, com texturas representado grama. Claro que as texturas possuem canal alpha, para fazer com que as folhas da grama fiquem transparentes na parte superior.

A textura resolve o problema na maioria dos casos, mas é muito melhor usar geometria para representar grama. Se você é usuário do Blender 3D e quer renderizar as suas cenas usando o LuxRender, existe um bloco de grama muito interessante, publicado nos fóruns de usuários do LuxRender. O download do bloco pode ser feito no link indicado.

blender3d-bloco-grama-download.jpg

Ao abrir o arquivo que está compactado você vai encontrar um arquivo do Blender outro que representa a textura aplicada na grama. É um pequeno bloco que representa grama usando geometria. Apesar de ser um bloco extremamente pesado de usar para grandes superfícies, o modelo 3d é útil quando é necessário trabalhar com grama em pequenos espaços e jardins. Principalmente quando o enquadramento da câmera chegar muito perto da superfície da grama.

Só para ter uma idéia de como o arquivo pode ficar pesado ao usar esse tipo de recurso, apenas um pequeno bloco de grama criado com um modificador Array, usando 12 cópias nos eixos X e Y respectivamente, resultou na criação de um arquivo com 4 MB. Isso é apenas a grama, fora a geometria necessária para representar outras partes do projeto.

Nesse projeto publicado nos fóruns do LuxRender, podemos conferir um projeto de visualização para arquitetura que usa o bloco para criar grama. O resultado é muito bom.

Demonstração do Adobe Photoshop CS5

Os softwares de edição voltados para imagem como o Photoshop ou GIMP são fundamentais para qualquer profissional envolvido com computação gráfica, principalmente a parte de 3D. Esse tipo de software pode literalmente salvar um projeto que ficou várias horas renderizando, mas no último momento você descobriu um problema com as texturas ou posicionamento de algum objeto. Usando o Photoshop é possível abrir e editar a imagem em poucos minutos, evitando a necessidade de renderizar a imagem novamente. Mesmo sendo útil, o Photoshop ainda apresenta alguns desafios na composição de imagens que demandam muito trabalho de edição. Precisamos selecionar partes da imagem para conseguir criar cópias ou mesmo proteger pixels que não precisem ser alterados.

O trabalho de edição e alteração em imagens está para ser facilitado com as ferramentas trabalhadas na próxima versão do Photoshop, que por enquanto está sendo chamado de Photoshop CS5 mesmo. Existe um vídeo que está circulando pela internet nos últimos dias que mostra alguns desses novos recursos, sem ainda exibir a interface ou mesmo as ferramentas extras do Photoshop.

O grande destaque desse lançamento é o algoritmo chamado PatchMatch, que consegue procurar padrões nas imagens.

O vídeo é esse:

Como você deve ter percebido pela demonstração feita no vídeo, o algoritmo é simplesmente fantástico! A base de funcionamento dele é a identificação de padrões que delimitam as imagens selecionadas e presentes nas imagens. Depois que esses padrões são localizados, podemos mover esses objetos pela moldura da imagem e o próprio Photoshop CS5 faz o trabalho de adaptar a parte selecionada na moldura, inclusive adicionando os pixels necessários para que a composição fique perfeita.

A moldura da imagem também pode ter suas dimensões alteradas sem que nenhuma imagem, ou parte dela, acabe sendo deformada. Isso é possível graças a algumas ferramentas que protegem e limitam o efeito esticar a comprimir na imagem.

Por último, o que mais me impressionou mesmo é a possibilidade de reconstruir partes da imagem de maneira automática. Repare na parte final do vídeo, em que a parte superior de uma construção histórica tem algumas partes construídas novamente, com base nos padrões identificados da imagem. Isso aplicado em imagens renderizadas poderia corrigir problemas até mesmo de modelagem 3d! Partes que não foram modeladas, podem ser construídas com base na estrutura geral da imagem.

A previsão de lançamento do Photoshop CS5 é abril de 2010.

Indigo Renderer para renderizações realistas no SketchUp e Blender 3D

Já faz quase uma semana que estou avaliando a versão completa do renderizador Indigo, que até pouco tempo atrás era um software distribuído de maneira totalmente gratuita e passou a ser comercializado. A versão completa do Indigo apresenta a vantagem de permitir usar resoluções maiores que 0.7 megapixels e os renders não apresentam nenhum tipo de marca d`água. Como o Indigo é um dos únicos renderizadores comerciais a oferecer suporte oficial ao Blender 3D, essa licença será extremamente útil para desenvolver artigos e materiais que comparem de maneira mais eficiente o rendimento e opções do Indigo com o YafaRay e LuxRender.

Até agora a minha avaliação foi feita com base na quantidade de recursos disponíveis no renderizador, e também a velocidade com que as imagens são geradas. Esse é um ponto crítico em todos os softwares que trabalham com refinamento progressivo como o Indigo. Muitos usuários reclamam e ficam surpresos com a demora em algumas imagens, para que o resultado final seja exibido sem nenhum tipo de defeito. No caso do Indigo, a velocidade na renderização é um dos pontos que mais me chamam a atenção ao comparar com o LuxRender.

Para mostrar o potencial do renderizador resolvi “desenterrar” um antigo projeto que nunca foi concluído e começar a trabalhar na renderização dele. É uma cozinha industrial que comecei a modelar logo depois que aprendi a usar o Blender 3D. Na verdade, era mais um exercício de modelagem 3d que nunca foi concluído, como você pode perceber pela imagem abaixo.

render-indigo-blender3d-maquete-eletronica-01.jpg

Ainda falta adicionar objetos e algumas prateleiras para finalizar o modelo 3d. Como a iluminação desse ambiente é muito difícil de realizar, pois a luz do sol entra pelas aberturas na parte posterior e não há nenhuma luz artificial. Na maior parte do render a iluminação basicamente é indireta. Isso requer muito trabalho do software para gerar a dispersão da luz.

render-indigo-blender3d-maquete-eletronica-02.jpg

Depois de adicionar apenas o ponto de luz representando a luz do sol e configurar as opções do ambiente, adicionando uma Skylight, esse foi o resultado após uma hora de renderização na resolução 1600 x 1600.

render-indigo-blender3d-maquete-eletronica-03.jpg

A imagem ficou razoavelmente boa para um teste de render, e pode ficar muito melhor usando texturas e adicionando outros elementos, como objetos no cenário.

Render test with Blender 3D and Indigo Renderer

O que realmente impressiona nesse exemplo é a velocidade com que a imagem foi ficando limpa e sem o granulado característico dos renderizadores que usam métodos do tipo Unbiased.

O script que exporta as cenas do Blender 3D para o Indigo Renderer está sendo reformulado e deve ser melhorado em breve, como já foi anunciado no blog do Indigo. Esse é o ponto fraco do renderizador, em minha opinião. Os recursos e flexibilidade do LuxBlend são bem melhores que o Blendigo e nisso não há o que comparar. Por exemplo, no Blendigo não podemos sequer visualizar um preview de materiais.

Outro software que pode se beneficiar em muito com o Indigo é o SketchUp, que carece de opções de menor custo e qualidade para renderização. Muitos acabam recorrendo ao V-Ray para esse tipo de trabalho, mas a licença do software acaba sendo um impeditivo.

Aguardem por mais artigos sobre o Indigo Renderer para as próximas semanas. Claro que não deixarei de lado o material sobre YafaRay e LuxRender. Se você está costumado com os artigos aqui no blog, deve saber que me interesso por todos os softwares e renderizadores, independente da plataforma ou sistema.

Se você quiser testar o Indigo Renderer, pode fazer o download de uma versão de testes que funciona por tempo ilimitado, apenas com a restrição no tamanho máximo da imagem e a presença de uma marca d`água na imagem.

Tutorial de modelagem 3d com 3ds Max: Usando o ProBoolean

O uso de ferramentas como o boolean para modelagem 3d de objetos complexos nunca é recomendado, pois o resultado final sempre é uma malha 3d repleta de faces triangulares, que para qualquer artista 3d é sinônimo de problemas na manipulação do modelo 3d. Com faces triangulares no modelo 3d, fica complicado selecionar e trabalhar com modelagem poligonal. Por exemplo, uma face triangular que cruza a área de uma face impede a seleção e trabalho com edge loops. Em ferramentas 3d como o 3ds Max é possível usar variações mais avançadas das operações booleanas, como o ProBoolean que está localizado no painel Compound Objects junto com Scatter e Loft.

Essa é uma versão mais avançada e melhorada do tradicional Boolean, que também está nesse mesmo painel. Entre as vantagens do Proboolean está a possibilidade de aplicar as operações em múltiplos objetos ao mesmo tempo, coisa que não podemos fazer com o boolean. Outra vantagem da ferramenta é a possibilidade de configurar o ProBoolean para que gere apenas faces quadradas. Isso minimiza os defeitos gerados pelas faces triangulares no modelo 3d. Essas opções estão disponíveis na aba Advanced do ProBoolean, que é perfeito para trabalhar com operações de modelagem complexa, como a manipulação de superfícies com topologia esférica ou circular.

Caso você nunca tenha usado ou visto o Proboolean do 3ds Max aplicado em projetos de modelagem, o vídeo abaixo é um excelente exemplo da utilidade dessa ferramenta. O projeto envolve a modelagem de uma fechadura, que deve apresentar uma abertura complexa para o encaixe da chave.

Para conseguir fazer esse tipo de modelagem o artista desenha a forma do orifício em que a chave deve ser encaixada, cria um sólido e com o ProBoolean faz a subtração do volume. Repare que esse tipo de modelagem executada no tutorial é extremamente difícil de conseguir usando outras técnicas, mesmo com a subdivisão ou opções de modelagem poligonal, seria muito complicado criar o orifício da chave em uma superfície plana.

Esse é apenas um exemplo de como o ProBoolean pode ao mesmo tempo ser útil para a modelagem 3d no 3ds Max, sem prejudicar a tipologia final do objeto 3d.