* aviso aos navegantes, cuidado, artigo técnico abaixo

A resposta para a pergunta acima é simples: sempre que possível 🙂

É claro que não é sempre que o Blender é a melhor opção para todas as etapas de um trabalho, mas cada vez mais ele tem como ser encorporado em novas fases da produção.

Bom, vamos pôr a mão na massa e tentar clarificair isso em um caso real …

Esta semana eu tive que fazer um mockup da interface do projeto aqui da UBC. A ideia era fazer uma barra de ícones bem simples, mas que tivesse três sessões que mudassem quando fossem selecionadas.

Os programas ideais para se desenhar este tipo de menu são programas gráficos como Inkscape, Corel Draw, Adobe Illustrator, ou mesmo GIMP e Photoshop.

Apesar disso, como o projeto preve uma manutenção simples, é muito mais fácil para todos da equipe se mais e mais partes do projeto forem desenvolvidas usando um único programa.

E não é que o Blender dá conta do recado muito melhor do que eu imaginava?

Bom, primeiro criei a estrutura do menu com base num modelo já existente. Importei uma curva criada no Inkscape e terminei a modelagem de um dos três menus.

imagem01.png

Para criar os dois outros menus foi bem simples, criei uma cópia do objeto (ALT+D) e ajustei os ícones – quando se cria um clone de um objeto, qualquer alteração na forma de um dos objeto altera todos os outros objetos igualmente. Passo seguinte, apliquei um material diferente para cada objeto. Para fazer isso certifique-se de que o material está aplicado ao objeto, e não ao Mesh.

Para facilitar alterações futuras, e evitar problemas de alinhamento, os três menus estão sobrepostos, mas em layers diferentes.

imagem03.png

Agora vêm o pulo do gato: Como fazer para renderizar as três imagens separadamente, e depois juntá-las separadas em distâncias iguais de modo que seja fácil refazer o trabalho no futuro? Será que isso é pedir demais?

Render Final

Com o sistema de Composite Nodes do Blender é possível renderizar cada layer de um modo diferente. No meu caso eu queria renderizar toda a cena de uma vez só, sem precisar renderizar cada menu individualmente. Mas como os objetos estao sobrepostos, eu precisaria movê-los na imagem final.

Não tem problema. Primeiro eu criei três RenderLayers diferentes, um para cada layer da cena. Depois fui na tela de composição do Blender, e descobri que existe um Output Node que serve exatamente para o que eu estava precisando. O node Translate, move a image input (no caso cada RenderLayer) de acordo com um offset que você configura.

Isto é perfeito por duas razões. Primeiro que você consegue reorganizar as imagens em uma única imagem de uma só vez. Segundo que agora que sabemos exatamente qual é a diferença da posição de cada uma das imagens, na hora que aplicarmos o mapeamento UV nós temos como trabalhar com precisão absoluta no posicionamento de cada imagem.

Esquema de Composite Nodes

No final só faltou voltar para o arquivo principal e importar esta imagem para aplicar no menu.

O menu basicamente é um plano com uma imagem aplicada a ele, e a cada clique muda a imagem (na verdade estou mudando o Mesh associado ao objeto, dessa forma mudando a textura tambem). O segredo aqui é usar uma cópia do objeto e alterar o mapeamento UV para usar as outras partes da imagem no lugar do primeiro menu.

Como sabemos exatamente o offset entre cada imagem, na tela de mapeamento UV só precisamos selecionar os vértices e mover a distância que configuramos acima, quando criamos a imagem.

Simplesmente, rápido e elegante …

Menu dentro do Projeto

Blender neles Brasil !

Um abraço forte,
Dalai

Para saber mais:

Introdução ao Blender Nodes por Cícero Moraes

Exemplo de Menu do site blendenzo.com

* se você achou muito complicado, interessante, desinteressante, dá um retorno que no próximo a gente melhora 🙂