Início arrow Tutoriais arrow Materiais arrow Displacement Maps – Objetos 3D baseados em mapas 2D
Displacement Maps – Objetos 3D baseados em mapas 2D Imprimir E-mail
Escrito por Madison Paz   
Monday, 31 December 2007
thumb_disp_mapUtilizar mapas de deslocamento (displacement maps) é uma técnica conhecida em computação gráfica para modificar uma malha 3D de acordo com as cores de uma imagem bitmap.
Saiba mais sobre este efeito e como é possível fazer isso usando o Blender. 

Introdução 

Displacement mapping (mapeamento de deslocamento) é uma técnica alternativa de computação gráfica que contrasta com bump mapping, normal mapping e parallax mapping.

É utilizada uma textura procedural ou uma imagem bitmap para causar um efeito de deslocamento de vértices no objeto, cujo qual terá seus vértices deslocados de acordo com a coloração da imagem de mapeamento.

A posição dos vértices será deslocada (displaced) de acordo com as normais do objeto e com a intensidade da cor dos pixels da imagem. Cada vértice tem sua posição modificada pela imagem de mapeamento, sendo possível um nível alto de detalhamento, limitado apenas pelo nível de resolução da malha.

 

Displacement map: wikipedia
 

O Blender possui este recurso, que pode ser implementado de diversas formas diferentes. Em uma visão mais geral, este efeito pode ser obtido em três passos:

1) Criar um objeto 3D. Quanto mais vértices ele tiver, melhor será o resultado;
 
Displacement map grid

2) Colocar a textura (mapa de deslocamento) no objeto; 
Displacement map image

3) Ajustar o quanto esta textura influenciará o objeto.
 
Displacement map sample finished
Como puderam notar, a parte em preto da imagem ficou mais funda, a parte branca o restante do objeto. Em termos práticos, quanto mais escuro (preto) mais fundo e quanto mais claro (branco) mais alto. 

Há muitas aplicações para este recurso, como criar entalhes em metal, mostrar figuras em relevo (como o rosto em uma moeda), pegadas na areia, o limite é a criatividade. Você pode baixar uma figura da internet, converter para tons de cinza e utilizar como um mapa de deslocamento.

Os três passos em detalhes  

Criar um objeto 3D 

Antigamente, os mapas de deslocamento eram utilizados em planos. De fato, é mais fácil utilizar uma figura 3D em um plano, até para entender o efeito que a imagem fará no objeto 3D.

Porém, que fique claro, os mapas de deslocamento podem ser utilizados em qualquer objeto.

Um exemplo muito comum é deixar uma superfície imitando pele animal ou humana, utilizando uma textura procedural e mapas de deslocamento (a textura stucci do Blender poderia ser utilizada neste caso).

No nosso exemplo, vamos utilizar um Grid.

O nível de qualidade final será proporcional a quantidade de vértices do objeto. É necessário criar um equilíbrio entre a quantidade de vértices / desempenho pois este tipo de efeito consome muito processamento se existirem vértices em excesso. 

Inicie o Blender, se já não tiver feito isso, pressione X e ENTER para excluir o cubo padrão.

Pressione ESPAÇO e escolha Add > Mesh > Grid:

disp_map_5
 
Ajuste as dimensões do grid para 32 x 32 e clique em OK.
É importante dizer que caso sua máquina não tenha um processador muito potente, é conveniente escolher uma resolução menor, como 16x16:
disp_map_6

 

Pressione TAB para escolher o Object Mode, pressione S e mova o mouse até o grid ter um tamanho suficiente para ocupar a visão da câmera:

 

Displacement Map 3d model

 

 

Agora estamos prontos para acrescentar a textura (o mapa de deslocamento).

Colocar a textura (mapa de deslocamento) no objeto 

Há muitas maneiras de acrescentar uma textura a um objeto.

Mostro aqui a aplicação da textura utilizando UV mapping, pois assim é possível posicionar a textura exatamente onde se deseja na superfície. 

Qualquer outra técnica poderia ser utilizada nesta etapa, a utilização do UV mapping é explicada aqui por possuir uma aplicação rápida. 

Precisamos criar a textura antes de aplicá-la ao objeto. Você pode utilizar o GIMP ou ouro aplicativo para criar uma imagem mais ou menos assim (você pode utilizar esta imagem do tutorial se quiser): 

Displacement map bitmap model

 

Eu utilizei o GIMP e apliquei um Gaussian Blur para melhorar os contornos do resultado final.

Retorne ao Blender e escolha o modo UV Face Select para que possamos acrescentar a textura.

 

 

UV Face Select picture

 

Pressione A uma ou duas vezes até todas as faces ficarem roxas.

 

Blender grid displacement map selected 

 

Mude o window type para UV/Image editor, usaremos esta tela para carregar a imagem:

 

UV / Image editor blender menu item
 

 

Pressione E, e ENTER para organizar os vértices corretamente (Unwrap). Escolha Image > Open e localize a imagem que utilizará como textura. O resultado será assim:

 

Displacement map blender grid

 

Escolha o menu de materiais, clique em Add New, depois clique no menu de texturas, Add New e escolha a imagem carregada no Image Editor.

 

Adding a texture to the displacement map grid

 

Ajustar o quanto esta textura influenciará o objeto 

O Blender possui um modifier chamado Displacement, que serve para manipularmos a influência de um mapa de deslocamento.

Primeiro adicione um Displacement modifier e defina o nome da textura e as configurações como na figura abaixo. Repare que o nome da textura é idêntico ao do menu de texturas.
New displacement map texture

 

 Adicione também um subsurf modifier e defina o nível de resolução para três:

 

Blender subsurf modifier

 

Depois de todo este trabalho, você já pode visualizar o efeito final. Para melhorar o resultado, basta aumentar o número em Render Levels ou subdividir o grid.

Também é possível alterar o valor de strength do Displacement modifier: 

Blender displacement modifier

 

Para subdividir o Grid, pressione TAB e escolha o Edit Mode.

Pressione W e escolha Subdivide, pressione ENTER.

 

Agora, rotacione o objeto para dar um bom ângulo em relação a câmera. O resultado final é este:

Displacement final image 

Se você utilizar uma imagem sem o Gauss Efect, é possível uma definição maior:

 

Final fisplacement map sample 

 

Referências

 

[1] http://www.procedural.com.br/forum/index.php?topic=9.msg13

[2] http://blenderartists.org/forum/archive/index.php/t-98551.html

[3] http://blenderartists.org/forum/showthread.php?t=18965 

[4] http://www.zbrushcentral.com/zbc/printthread.php?t=14438 

[5] http://www.blender.com.br/index.php?option=com_fireboard&Itemid=10&func=view&id=2662&catid=2 

[6] http://blenderartists.org/forum/showthread.php?t=97994 

[7] http://feeblemind.tuxfamily.org/dotclear/index.php/2007/09/10/96-normal-maps-for-blender 

[8] http://www.blendernation.com/2006/05/16/displacement-painting-script/ 

[9] http://bentha.net/sculpted-tuto/Blender-export-template-tut.html 

[10] http://members.fortunecity.de/pytablet/ 

[11] http://www.telusplanet.net/public/kugyelka/blender/tutorials/texmesh/texmesh.htm

[12] http://www.photoshopsupport.com/elements/tutorials/displace-filter/displacement-map.html 

[13] http://www.linhadecodigo.com.br/Artigo.aspx?id=1259&pag=2 

[14] http://imasters.uol.com.br/artigo/3008/photoshop/aco_escovado_com_displacement_map/ 

[15] http://www.outside-hollywood.com/2006/01/displacement-maps-in-3d-animation/ 

[16] http://forum.daz3d.com/viewtopic.php?t=69308 

[17] http://www.weim-art.com/Tut/TextureTut2.htm 

[18] http://www.weim-art.com/Tut/TextureTut.htm

 

Comments
Add NewSearchRSS
Only registered users can write comments!
 
Prox. >
Donate towards my web hosting bill!