Tutorial Blender: Criando lightmaps para jogos 3d

A simulação de iluminação em ambientes de jogos no Blender é algo bem desafiador para usuários sem muita experiência com a manipulação e criação de texturas. Como é complicado simular luzes em tempo real, principalmente usando as chamadas soft shadows, é muito comum gerar mapas de texturas em que essas sombras já estão pré-renderizadas. Esse tipo de “truque” em texturas apresenta inúmeras vantagens do ponto de vista visual e de performance para a produção de jogos e animações interativas com o Blender, pois assim é possível aplicar efeitos avançados de iluminação como o Ambient Occlusion nesse tipo de textura.

Sem o uso de nenhuma ferramenta auxiliar, é possível renderizar as sombras nas texturas manualmente, mas o processo é um pouco demorado, pois envolve o uso de mapas UV e iluminação. Já pensou se fosse possível fazer isso de maneira automática? Isso é possível sim com o uso do script Texture Atlas que foi apresentado aqui no blog na semana passada, e atendendo a pedidos, acabei gravando um tutorial em vídeo mostrando como é possível usar a ferramenta.

O vídeo com o tutorial é esse:

Se você gostar do tutorial, avalie!

Para usar o Texture Atlas você primeiro deve fazer o download do Add-on nesse endereço, e depois que o mesmo estiver instalado e ativado, as opções do mesmo aparecem no painel de renderização. É necessário deslocar os objetos e posicionar os mesmos na cena de acordo com a maneira que as sombras devem ser projetadas. O ponto negativo dessa técnica é que o lightmap só funciona para objetos que não se movem na cena, o que exige o posicionamento de todos modelos 3d na sua posição definitiva na cena.

Com os objetos posicionados, devemos criar um grupo enquanto todos estão selecionados, para depois conseguir gerar o Lightmap. O grupo determina quais objetos devem estar presentes no mapa, e depois podemos configurar pontos como a resolução do mapa, e também o método que será usado para gravar a iluminação na textura no campo Bake.

Esse tipo de recurso é fundamental para qualquer pessoa interessada em desenvolver jogos com o Blender, tanto é que ele já estará incluso na aula sobre materiais e texturas do curso sobre produção de jogos com o Blender.

Script ajuda na criação de lightmaps com o Blender

A criação de mapas UV é importante dentro do Blender em várias situações diferentes, sendo que o controle sobre o posicionamento das texturas é apenas uma dessas situações. Na maioria das situações é interessante usar mapas UV para conseguir pintar e montar as texturas da maneira como você achar melhor para o seu projeto. Mas, existem outras aplicações bem interessantes para os mapas UV dentro do Blender, sendo uma delas a capacidade de armazenar informações da cena 3d em mapas UV para exportar os arquivos em formatos como o COLLADA para uso em jogos.

A criação de simulações realistas em jogos com o Blender ou outras engines exige o uso de sombras realistas para passar a idéia de uma iluminação mais trabalhada, quando na verdade o efeito está gravado de maneira automática nas texturas dos objetos. Esse processo é conhecido dentro do Blender como Bake Shadows, e exige um pouco de configuração manual para que seja possível configurar o efeito de maneira correta. Se você trabalha com produção de jogos com o Blender, recomendo conferir um script (Add-on) que promete fazer todo o processo de configuração das texturas com sombras de maneira automatizada.

O script é chamado de TextureAtlas e pode ser copiado de maneira gratuita nesse endereço. Hoje a versão mais atualizada é a 0.14 que é a recomendada para download. Mas, como funciona o script? O vídeo abaixo mostra muito bem o funcionamento da ferramenta:

O procedimento para usar o script é realmente simples e exige apenas uma cena configurada e com pontos de luz posicionados de maneira a projetar as sombras. Depois de habilitar o script na janela de preferências do Blender, você encontra as opções da ferramenta no painel de renderização. Ao adicionar os objetos 3d dentro de um grupo que fará parte da criação das sombras, basta selecionar o modo de sombreamento desejado e a resolução da textura. Quando pressionamos o botão “Create Shadow Map” as texturas são criadas já com o efeito da iluminação pronto!

Esse tipo de ferramenta é fantástica para a criação de cenários em ambientes de jogos, inclusive os que são desenvolvidos dentro do próprio Blender.

O script já está na minha lista de assuntos para adicionar as texturas e materiais para jogos, quando gravar essa aula para o curso sobre produção de jogos com Blender.