Pré-visualizando materiais no Blender 3D

A criação de materiais em 3d é uma das partes mais importantes na criação de uma cena, em conjunto com uma boa iluminação os materiais e texturas podem literalmente fazer com que um modelo 3d simples, possa receber características e atributos de uma superfície real. Mas, a criação de materiais envolve o domínio e interpretação dos comportamentos físicos de cada usado para configurar o material, seja ele o Lambert, Blinn ou Oren-Nayar. O primeiro passo para conseguir compreender completamente o uso de cada um desses shaders, que nada mais são que instruções de como a superfície deve refletir a energia luminosa, é fazer testes com materiais.

Ao fazer esses testes você vai conseguir duas coisa muito importantes, que são o entendimento de como funcionam esse tipo de reflexão em objetos 3d, e caso você salve os testes que venha a fazer para testar os materiais, em pouco tempo você terá sua própria biblioteca de materiais. A maioria dos softwares 3d e renderizadores apresenta uma cena especial, com um modelo 3d suficientemente complexo e curvo para testar materiais e texturas.

Aqui no Blog eu já publiquei algumas dicas de cenas de testes para simular materiais com o Blender 3D e Indigor Renderer e também o YafaRay. Mas, ainda são poucas as iniciativas em produzir uma cena de testes para o Blender, que consiga o mesmo resultado. Isso até que descobri a existência do Blender Material Preview Scene, que pode ser copiado nesse link que leva até o fórum Blenderartists.org.

blender3d-teste-materiais.jpg

Essa é uma cena especial, preparada para receber materiais e texturas que podem ser aplicadas em outras cenas no Blender 3D. Ao fazer o download do arquivo você vai perceber que a pré-visualização dos materiais pode ser feita usando três cenas, especialmente preparadas para três tipos de objetos diferentes:

  • Materiais para superfícies sólidas
  • Materiais para fluidos e líquidos
  • Materiais para objetos simulando Cloth e Soft Bodies

Cada um desses objetos apresenta uma cena separada, preparada para receber as configurações dos materiais. Por exemplo, a cena em que podemos testar materiais para fluidos é composta por um Mesh simulando a estrutura de um fluido. Assim como no caso dos objetos do tipo Cloth, temos uma superfície curvada e maleável, que lembra um tecido mesmo.

Se você quiser começar a criar a sua própria coleção de materiais no Blender 3D, essa cena pode ajudar em muito na preparação de superfícies para uso futuro. Sempre que você tiver um tempo livre, corra para o computador e tente reproduzir algum tipo de material difícil, você vai perceber que esse é um passatempo interessante e que pode salvar você no futuro, quando o material for necessário.

Tutorial Maya: Criando objetos que influenciam a geometria em 3D

O processo de animação para personagens virtuais envolve a criação de uma estrutura interna aos modelos 3d que tem como objetivo deformar a malha, para simular os movimentos e dinâmica dos personagens ao longo do tempo. Esse tipo de sistema é geralmente chamado de Bones, em analogia ao funcionamento dos ossos nos animais vertebrados. Mas, além da necessidade de adicionar ossos aos personagens ainda são necessários alguns objeto auxiliares para trabalhar movimentos menores e mais difíceis de reproduzir, como as expressões faciais. Nesses casos usamos ferramentas chamadas de Morph target, shape keys ou Blend Shapes. Esse último nome é usado no Maya para trabalhar esse tipo de animação, com o uso de formas e expressões definidas pelo artista e que podem ser aplicadas ao modelo 3d ao longo do tempo.

Mas, nada impede que esse tipo de animação seja criada usando os próprios bones. Como isso funciona no Maya? Para explicar o funcionamento desse tipo de ferramenta no Maya, encontrei um ótimo tutorial em vídeo que mostra o processo de configuração e aplicação do recurso no Maya. No vídeo, um artista usa bones independentes, para trabalhar a expressão e posicionamento da boca de um personagem virtual.

No tutorial podemos conferir o procedimento necessário para trabalhar com o modelo 3d. O processo é relativamente simples e envolve a ligação de cada bone com o modelo 3d usando um menu do Maya localizado na parte de animação. Como a resolução do vídeo não está muito boa e a descrição do procedimento pode não ter ficado clara na narração do tutorial, resolvi tirar uma imagem do Maya que tenho instalado no Mac Os X.

tutorial-animacao-autodesk-maya1.jpg

Esse é o menu em que precisamos fazer a ligação indicada pelo autor do tutorial. O menu se chama Skin -> Edit Smooth Skin -> Add Influence. Ao selecionar esse menu, enquanto os bones e o modelo 3d estão selecionados, os objetos passam a sofrer a influência do movimento dos bones. Tudo é feito de maneira automática, assim que o menu for selecionado a parte de animação já estará funcionando.

Depois que os bones estão todos selecionados, o autor começa a ajustar o nível de influência de cada bone na janela de edição chamada Component Editor. Essa janela é acionada no menu Window, com o contexto marcado para animação.

tutorial-animacao-maya2.jpg

Uma maneira fácil de navegar nos diversos menus do Maya é selecionar o contexto do seu projeto, ao selecionar a opção Animation, apenas os menus e ferramentas relacionados com animação ficam disponíveis. No menu Component, o autor do tutorial faz ajustes no nível de influência que cada vértice do modelo 3d sofre com o uso dessa ferramenta.

Agora você já sabe como é possível usar bones para criar expressões faciais, ao invés de recorrer apenas ao Blend Shape.

Unity Game Development: Como criar jogos 3D até para o iPhone de maneira visual

O trabalho com animação e modelagem 3d pode gerar várias vertentes, sendo que algumas delas podem requerer níveis de especialização bem diferentes dos artistas. Por exemplo, as pessoas que se especializarem em animação de personagens dificilmente precisam estudar requisitos de hardware, e conhecer as diferenças na renderização usando DirectX ou OpenGL. Mas, se você planeja trabalhar com desenvolvimento de material para jogos, ou mesmo com o desenvolvimento de jogos 3d completos, esse tipo de assunto deve ser tema de muita pesquisa e teste. Entra as diversas áreas da computação gráfica, o ramo de jogos é um dos que mais cresce e contrata aqui no Brasil, principalmente para desenvolver módulos e partes de jogos para grandes estúdios no hemisfério norte.

Mas, e se você quiser trabalhar por conta própria? Desenvolver jogos e módulos de jogos usando uma plataforma relativamente barata e fácil de usar? Um aluno me perguntou, não faz muito tempo, se o Blender 3D seria a resposta em termos de plataforma de desenvolvimento para esse tipo de conteúdo. A Game Engine do Blender 3D não tem esse objetivo de servir como plataforma de desenvolvimento de jogos pesados. Claro que podemos fazer muita coisa com o Blender 3D em termos de jogos, mas ainda existem diversas limitações.

Um conceito semelhante ao que é usado no Blender 3D para criar jogos de maneira visual, pode ser encontrado em uma plataforma que cada vez mais chama a atenção do mercado de desenvolvimento de jogos. A chamada Unity Game Development, é uma plataforma de desenvolvimento focada na criação de jogos e animações interativas, com o foco direcionado para a interface do software usado. Sendo assim, artistas 3d podem se aventurar na criação de jogos sem a necessidade de estudar programação ou os algoritmos que controlam a inteligência artificial dos jogos. Mas, isso não vêem de graça, pois a licença da plataforma de desenvolvimento custa na sua versão completa 1499 dólares.

O conceito usado pela Unity é semelhante ao que o Torque Game Builder faz, mas eles expandem ainda mais as possibilidades com a manipulação de objetos 3D.

unity3d-editor.jpg

A parte que realmente impressiona no Unity é a possibilidade de publicar um único jogo para diversas plataformas diferentes, até mesmo para o iPhone e para IPods Touch. Isso mesmo, você pode trabalhar a modelagem 3d em softwares como o Maya, 3ds Max e Blender 3D, para depois apenas com alguns ajustes no software publicar um mesmo jogo para diversas plataformas e até mesmo para dispositivos móveis. Para os usuários do Blender 3D, a Unity fez com que o software importe arquivos do Blender 3D de maneira nativa, o que mostra também o quanto da comunidade de usuários e artistas que usam Blender começam se destacar nesse mercado.

Quer saber mais sobre o Unity? Recomendo visitar esse link com um tutorial completo de criação para jogos 3d no Unity. O tutorial está em PDF e ajuda bastante a entender o funcionamento da ferramenta. Outra fonte de informações interessante, são as palestras realizadas pela equipe do Unity, em que eles mostram o processo de desenvolvimento de jogos 3D para o iPhone e outras plataformas. No link indicado existem vários arquivos de vídeo com as palestras gravadas, basta selecionar o assunto para assistir.

Como a produção de jogos e animações interativas para o iPhone é diferente dos outros aplicativos, o seu módulo é comercializado em separado no web site da Unity. Você precisa desembolsar mais 1499 dólares para conseguir publicar jogos para o iPhone.

Perto do que você poderá ganhar com a comercialização dos jogos, esse tipo de investimento é bem justificado. Caso você queira testar o aplicativo, é possível fazer o download do Unity com uma versão de avaliação funcionando por 30 dias. Para quem está interessado em desenvolver jogos 3d, essa pode ser uma boa opção se você estiver disposto a investir na plataforma.

Se a plataforma é tão boa assim, por que motivo as grandes empresas não usam apenas esse tipo de tecnologia? Simples, quando você coloca toda a sua produção em uma única Engine como essa, as atualizações e melhorias dos seus jogos e animações, ficam condicionadas a melhorias disponibilizadas pela empresa que comercializa o Unity.

Animação 3d independente: Meet Meline tem trailer divulgado

Uma das coisas que mais vejo nos meus alunos, principalmente os que estão começando a trabalhar com computação gráfica é o desejo de criar uma animação em curta metragem. A maioria deles invariavelmente gostaria de concretizar uma idéia ou conceito em termos de animação. Mas, ao longo do tempo essas idéias acabam ficando um pouco de lado, pois os mesmos alunos conhecem as técnicas de produção e as diversas dificuldades em termos de tempo e esforço, necessárias para concretizar um projeto dessa magnitude.A mesma coisa acontece com os alunos interessados em desenvolvimento de jogos, que nos primeiros dias de aula já tem pretensão de criar jogos no estilo Final Fantasy, com enredos complexos e gráficos de última geração.

Apesar de gostar muito do espírito de iniciativa dos alunos, acabo desencorajando um pouco eles com a realidade. Mas, acho que seria crueldade iludir os alunos com a idéia de que esse tipo de projeto poderia ser realizado com poucos recursos financeiros e esforço. Sempre que recebo esse tipo de pergunta, acabo mostrando alguns ótimos exemplos de pessoas que conseguiram produzir de maneira independente uma animação de alto nível, sendo que uma das última produções a ganhar destaque se chama Meet Meline.

Essa é uma animação que está sendo produzida por um casal de artistas 3d chamados Sebastien Laban e Virginie Goyons. Desde 2006 que o projeto dessa animação está sendo produzida por eles, nas horas vagas e em feriados. Já são quase três anos de produção, para que o primeiro trailer fosse lançado agora! Antes de continuar falando sobre a animação, assista ao Trailer:

Como é evidente pela qualidade da animação e dinâmica dos personagens e cenários, o tipo de modelagem e composição usados na animação são de alto nível. A experiência da equipe envolvida ajuda muito, pois ambos são profissionais de animação e efeitos especiais em estúdios na França.

Se você quiser saber mais sobre a animação, assim como fazer o download de mais material sobre a animação, recomendo visitar essa página na CG Society, em que o Sebastien vêem atualizando como um blog da produção. Lá podemos encontrar links para vídeos e outros materiais relacionados à produção do Meet Meline.

Qual o software foi usado para criar a animação? Eles usaram o Autodesk Maya, Autodesk Combustion e Adobe Premiere, para criar o projeto, mas a parte de software é pouco abordada na criação do projeto. Além dos exemplos de criação visual, o verdadeiro ouro do projeto está na análise das fases da produção. Repare que na página da CG Society existe até mesmo um fluxograma explicando as diversas fases de produção. Do ponto de vista de professor, posso dizer que esse tipo de material é riquíssimo e pode clarear as idéias das pessoas que ainda não tem uma visão gera do processo de criação.

O tempo total da animação é de 6 minutos, mas até agora apenas o trailer foi divulgado. Portanto, só nos resta esperar e torcer para que o projeto seja finalizado e que a equipe continue lançando materiais e dicas, sobre como foi possível chegar até a composição final da animação. Como esse projeto é independente, nada impede que os autores abandonem tudo e deixem o projeto inacabado. Mas, acredito que esse não será o caso.

Para saber mais sobre o Meet Meline, visite o web site oficial do projeto.

Blender 3D e o projeto GSOC 2009: Quais ferramentas podem surgir?

O projeto Google Summer of Code 2009 já está com suas inscrições abertas e o Blender 3D, assim como outros projetos de softwares abertos já começam a reunir idéias e projetos na sua comunidade de usuários, para submeter ao programa. Mas, o que é o Google Summer of Code? Essa é uma iniciativa do Google para promover a melhoria e desenvolvimento de novos recursos entre os diversos softwares de código aberto, em que estudantes de informática das universidades localizadas no hemisfério norte, que no meio do ano estão de férias, possam trabalhar nesse período no desenvolvimento de ferramentas e melhorias para projetos como o Blender.

Nos últimos anos o Google Summer of Code já trouxe inúmeras ferramentas e benefícios para o Blender, como os modificadores Bevel, ShrinkWrap e outros. O fato de m projeto ser aceito não é garantia que o mesmo seja finalizado dentro do prazo. Por exemplo, no ano passado tivemos um projeto que pretendia integrar o Blender com o Renderizador Freestyle, para criar imagens estilizadas. Apesar dos avanços feitos pelo autor do projeto, o mesmo ainda está em desenvolvimento e não há data para que seja finalizado.

Para conhecer a lista de projetos e idéias que podem ser submetidas para o SoC 2009, visite esse endereço na Wiki do Blender 3D.

Existe algum projeto que se destaca na lista? Na verdade, todos os projetos propostos são interessantes e podem ajudar em muito no uso de produção de conteúdo com o Blender 3D. Mas, a meu ver podemos destacar alguns deles, pois a sua implementação pode trazer algumas mudanças na maneira com que trabalhamos no software. Repare nos projetos que envolvem o uso de Nodes. Entre os projetos, podemos encontrar um deles que propõe o uso de sistemas de modelagem e modificadores baseados em Nodes, o que deixaria o Blender 3D muito parecido com o Houdini em termos de modelagem. Outro projeto que pode trazer a possibilidade de expandir as funções dos nós com o uso de scripts em Python.

Como é que isso pode mudar a maneira de trabalhar com o Blender? Para ter uma idéia de como funciona a modelagem no Houdini, veja o vídeo abaixo que é um exemplo de como os nós se relacionam com o processo de modelagem.

Se o projeto do SoC for aprovado e concluído, esse pode ser o futuro da modelagem 3d no Blender 3D. O único problema é que esse tipo de recurso requer conhecimentos avançados e pode dar muito trabalho, para a pessoa que se dispuser a enfrentar o projeto. Repare no vídeo que o artista usa ao mesmo tempo o espaço 3d para modelar, e ao mesmo tempo que os objetos são modelados e transformados, a janela em que são exibidos os nós, recebem a nova estrutura. Por exemplo, ao aplicar um simples extrude ao modelo 3d, um nó correspondente ao extrude é adicionado a janela. Ficou curioso com a demonstração? A segunda parte do tutorial pode ser conferia aqui.

Outro ponto interessante sobre o projeto, algumas das idéias já envolvem melhorias para o Blender 2.50. Mas, as outras idéias listadas na página não fazem menção de como as ferramentas desenvolvidas podem ser incorporadas ao que já está pronto no Blender 2.50. Como será que esses projetos devem se relacionar com o futuro Blender 2.49 e o Blender 2.50? Ainda é cedo para dizer, agora só nos resta esperar até o dia 3 de Abril, quando a submissão de projetos é encerrada.