Renderizando uma cena com escadas no Blender e YafaRay

O Blender está para receber no futuro um novo renderizador chamado de Cycles que já foi apresentado em vídeos e tutoriais diversas vezes aqui no blog. Entre as vantagens do Cycles é que o mesmo suporta render por GPU e o mesmo aproveita algoritimos avançados de renderização, como o Path Tracing que é excelente para cenas externas. Mas, apesar de estar para receber esse novo renderizador, os artistas que trabalham com visualização de ambientes no Blender ainda tem muito o que produzir com os já existentes renders externos compatíveis com o Blender. E nesse conjunto os destaques na área Open Source são o YafaRay e o LuxRender.

Um exemplo disso é a grande quantidade de material que ainda é publicada nos fóruns de usuários do YafaRay e LuxRender. No fórum do YafaRay um artista chamado Alejandro publicou uma imagem de excelente qualidade, mostrando a representação de uma escadaria interna, que foi inspirada numa fotografia real. Uma das vistas que foi gerada por esse projeto pode ser conferida na imagem abaixo, mas para ter a real noção da qualidade desse render, recomendo visitar o link do fórum e conferir as duas imagens renderizadas e maior resolução.

O processo de criação dessas imagens demorou alguns dias segundo o próprio Alessandro, em uma rápida troca de mensagens com ele, o mesmo explicou que até mesmo a pós-produção da imagem foi realizada dentro do Blender, sem o auxílio de outras ferramentas como o Photoshop ou GIMP.

Mas, isso não é tudo! O artista foi bondoso o suficiente para publicar no mesmo fórum os ajustes que ele utilizou para conseguir chegar nesse resultado de iluminação e parâmetros de renderização no YafaRay. O método usado foi o Photon Mapping que é excelente para cenas internas.

O YafaRay ainda não possui uma versão estável compatível com o Blender 2.5, sendo necessário fazer o download de um build especial no graphicall.org para usar o renderizador. Caso você tenha interesse em aprender mais sobre o seu funcionamento, esse exemplo da cena do Alejandro é uma excelente referência.

Se você sabe alguma coisa sobre esses métodos de renderização, recomendo colocar em prática os seus conhecimento sobre render e iluminação no quiz sobre o assunto, disponível em EAD – Allan Brito.

Render farm para YafaRay com 20% de desconto

No processo de produção de animações o planejamento de todo o fluxo de trabalho é de fundamental importância, para evitar problemas durante a criação e também evitar dificuldades na finalização. Apesar da enfase na parte de preparação da animação usando storybards e roteiros, poucas são as pessoas que e preocupam com a finalização da animação, principalmente quando falamos de render. Já tive a oportunidade de participar de projetos que mudaram completamente devido ao render, pois o uso de efeitos avançados de iluminação e materiais acarretavam tempos de render muito altos. Com tempos de render altos o risco de entregar o projeto atrasado é muito grande. Para reduzir o tempo de render sem perder resolução, a solução é remover efeitos e até mesmo geometria extra da cena.

Nesse tipo de situação é interessante recorrer a serviços conhecidos como Render Farms, que são estruturas com centenas de computadores que permitem distribuir o render em várias máquinas, resultando na diminuição drástica no tempo de render. Hoje existem diversas empresas que prestam esse tipo de serviço, permitindo até mesmo que projetos com orçamento pequeno possam se beneficiar desse tipo de estrutura.

blender-yafaray.jpg

Na semana passada fui contatado pelo representante de uma dessas empresas chamada de Core Farm, especializada no render de projetos usando o Blender e YafaRay. O serviço é voltado exclusivamente para usuários do Blender, e como forma de ajudar na divulgação do serviço o pessoal do Core Farm está oferecendo um desconto para os leitores do allanbrito.com! Caso voce utilize o serviço e informe o código ALLANBRITO no momento do registro, estará garantindo um desconto de 20% no valor do render. Esse código é valido para utilização por 30 dias a partir dessa data.

O uso de uma render farm é ideal para projetos grandes, mas deve ser bem planejado também para evitar surpresas, principalmente no que se refere ao custo total da renderização. Como meta para trabalhar sem surpresas no final do projeto, voce pode planejar um tempo de render alvo e organizar o projeto de maneira a chegar nesse tempo. Por exemplo, se o tempo de render alvo for 2 minutos por frame e o projeto estiver com tempo de 5 minutos, voce sabe que precisa otimizar o render para cortar 3 minutos do render em cada frame.

YafaRay usando instanciamento para acelerar o render

Na manipulação de objetos 3d para renderização é muito comum recorrer ao uso de geometria para representar objetos como é o caso de vegetação, ou mesmo outros elementos que povoa o cenário. Nesse caso o uso de tecnologias e técnicas que reduzam o carregamento da cena durante o render é de fundamental importância, para evitar que a cena se torne difícil de editar. Já faz certo tempo que alguns renderizadores suportam uma técnica chamada de instanciamento, em que os elementos repetidos na cena são duplicados no render e seu carregamento na memória do computador é mínimo. Os nomes podem variar um pouco, mas o procedimento usado é muito parecido.

Ao que parece, chegou a vez do YafaRay suportar esse tipo de procedimento para o render segundo relatos dos usuários que checaram a lista com as novidades sobre o YafaRay, e divulgaram no fórum de usuários do software que existe uma opção para usar intanciamento. O que isso significa na prática? A imagem abaixo mostra bem o resultado da aplicação desse tipo de técnica, que permite literalmente adicionar centenas de objetos na renderização com consequências mínimas para o carregamento da cena.

Blender-YafaRay-Instancing.jpg

Repare que o destaque para as imagens fica pela quantidade de objetos presentes nas cenas, que poderiam muito bem deixar a própria manipulação dos arquivos inviáveis, dependendo do hardware usado para a tarefa.

Para quem quiser testar o método, existe uma versão de testes do YafaRay para o Windows 64 Bits que pode ser copiada direto do link que leva ao fórum do YafaRay.

Apesar de ser uma técnica promissora para quem usa o YafaRay para renderizar projetos com o Blender, ainda não podemos comemorar e caçar uma versão de testes, pois segundo relatos de outros usuários na mesma parte do fórum, o algoritmo do instanciamento no YafaRay ainda precisa de ajustes para reduzir o consumo de memória. O problema é o método de aceleração usado para o instanciamento no YafaRay que é o kdtree.

Se você utiliza o YafaRay para renderizar projetos com grande quantidade de elementos, pode ficar animado com esses novos recursos, sabendo que o software está recebendo atualizações significativas em termos de recursos.

Anunciados projetos do SoC 2010 para Blender e YafaRay

Essa semana os projetos aprovados para participar do Google Summer of Code foram anunciados no web site oficial do projeto, e assim como acontece todos os anos o Blender teve várias propostas aprovadas. É importante ressaltar o fato de que esses projetos são na sua grande maioria propostas, que podem ou não se concretizar em ferramentas para usuários e artistas. Por exemplo, ao abrir o Blender e usar o modificador ShrinkWrap você está usando uma ferramenta desenvolvida no Google SoC. A proposta é bem simples, o Google dá suporte financeiro para estudantes de computação que estão de férias no hemisfério norte, é o verão deles, fazendo com que os mesmos melhores softwares livres.

Nesse conjunto de ferramentas que deve aparecer no Blender somente no final do ano ou início de 2011, encontramos também projetos aprovados para o YafaRay! Depois de tentar emplacar alguns projetos no ano passado o YafaRay finalmente teve projetos aprovados no Summer of Code. Entre eles está o desenvolvimento do Script que integra o Blender 2.50 com o renderizador. Para quem trabalha com o Blender gerando imagens realistas, esse Script será de grande ajuda. O YafaRay vai ter até um script para exportar cenas do Maya!

google-summer-of-code-2010.png

A lista de projetos aceitos pelo Google Summer of Code para o Blender foi a seguinte:

  • 3D Sculpting tools
  • Bullet Construction Toolkit
  • Game Engine API
  • Paint Tools upgrade
  • Unit Tests
  • Input device improvements
  • BGE Shader work
  • Multi-resolution improvements
  • Recast & Detour
  • Quad remeshing

Entre esses projetos temos o BGE Shader work que será desenvolvido pelo terá como mentor o Dalai Felinto, que é brasileiro. Para saber mais sobre os projetos visite essa discussão nos fóruns Blenderartists.org.

Já os projetos aceitos para o YafaRay:

  • Blender 2.5 Integration
  • SubSurface Scattering
  • Irradiance Caching
  • Exporter plug-in for Maya
  • Progressive Photon Mapping
  • Microrendering for Scalable Final Gathering
  • Network rendering tools

Tem muita coisa boa que pode ser desenvolvida para o YafaRay no projeto, além da integração com o Blender 2.50 teremos quem sabe render em rede, Irradiance Caching e muito mais! Todas as informações sobre o desenvolvimento dos projetos estão nesse endereço no fórum de usuários do YafaRay.

Agora é só torcer para que todos os projetos tenham sucesso, e as pessoas envolvidas consigam resolver todos os problemas envolvidos na criação e melhoria das ferramentas, que não são nada fáceis de trabalhar.

Visualização arquitetônica com base em fotografia no Blender e YafaRay

Os projetos de visualização para arquitetura geralmente tem dois pontos de partida bem definidos, e dependendo do tipo de referência usada para iniciar a modelagem e visualização, o artista pode ter muito trabalho para desenvolver o projeto. O mais comum é o tipo de visualização baseada em arquivos de CAD como os projetos em DWG ou DXF, em que o artista usa o material como ponto de partida para criar elementos gráficos usando as linhas do desenho técnico. Esse é o método mais usado pela velocidade com que é possível criar modelos 3d com a ajuda do desenho técnico, pois o artista não precisa se preocupar muito com as dimensões já definidas no arquivo de CAD.

Mas, existe outro tipo de modelagem que é mais difícil e desafiadora para os artistas. Esse tipo de modelagem usa como ponto de partida apenas referências fotográficas ou mesmo esboços sem escala. Nessa situação o artista precisa pesquisar por material de apoio e determinar as dimensões com base em observação e proporções.

Caso você nunca tenha realizado um projeto como esses, existe um excelente tutorial envolvendo o uso do Blender e YafaRay para reproduzir uma cena urbana com base em fotografia. O objetivo do tutorial é reproduzir de maneira exata a fotografia abaixo:

tutorial-visualizacao-arquitetura-fotografia.jpg

O tutorial pode ser encontrado no link apontado no parágrafo anterior, mas existe um pequeno detalhe. O texto está todo em Francês, mas isso não é nada que o Google Translate não possa resolver. A tradução não é perfeita, mas como o tutorial apresenta muitas imagens a parte do texto não gera impedimentos para entender o conteúdo.

O material está dividido em cinco partes distintas:

  • Pesquisa de imagens e referências para o projeto
  • Estudo de iluminação sobre a iluminação existente na cena
  • Guia sobre a modelagem de todos os elementos da imagem e cenário de fundo
  • Ajustes e configuração dos materiais e texturas
  • Renderização e composição da imagem

A última parte do tutorial ainda adiciona um elementos extra ao tutorial que é a composição da imagem usando o GIMP. O autor do material cria mapas de Ambient Occlusion e Z-Depth para adicionar um senso extra de realismo no GIMP, usando misturas de camada.

Para os que trabalham ou precisam desenvolver habilidades na visualização para arquitetura, o tutorial é uma ótima fonte de informação e uso do Blender com o YafaRay.