Início > Arquivos Blend, Dicas, Tutoriais > Normal Map – GLSL

Normal Map – GLSL

Normal Map é uma técnica utilizada para simular o relevo numa superfície, calculando o ângulo das sombras numa textura dando uma sensação maior de profundidade. Esse recurso é muito usado em jogos de computador para gerar um efeito mais realista nos modelos.

No game engine do blender também é possível usar esse recurso através de biblioteca GLSL vertex shader(OpenGL), mas é importante salientar que, ao desenvolver um jogo utilizando normal map, o desenvolvedor estará restringindo seu software a um público alvo muito seleto, pois a biblioteca GLSL depente muito de suporte de hardware, e infelizmente ainda são poucos os que tem uma placa de video com um bom suporte OpenGL .

Alguns Exemplos de Normal Map:


Modelo sem normal map


Modelo com normal map

Modelo sem normal map


Modelo com normal map

Vamos aprender a usar o normal map?

Primeiramente temos que saber se seu computador tem suporta a biblioteca GLSL vertex shader (OpenGL) . Para constatarmos isso, faça o download do seguinte arquivo e exemplo:
Arquivo blend de exemplo normal map
Abra o arquivo no blender e execute a interação no game engine(P) . Se der tudo certo, o normal map do objeto irá funcionar. Caso você queira ter certeza que está funcionando, após cancelar e execução do interação (ESC), dê uma olhada no prompt do blender e veja se a seguinte mensagem apareceu:

—- GLSL Program —-
Link successful. The GLSL vertex shader will run in hardware. The GLSL fragment
shader will run in hardware.

Caso apareça, então está tudo certo. O seu computador tem o suporte GLSL necessário.


Será necessário duas imagens, uma com o normal map e outra com o mapa de cores.

Normal Map


Mapa de cores

Existem muitos programas que geram a imagem norma map a partir de uma imagem, inclusive muitos deles freeware. Escolha um de sua preferência.

Vamos agora configurar o material do seu objeto de forma correta para que o normal map funcione:
Faça o mapeamento UV do objeto normalmente. Caso ainda não saiba como fazer um mapeamento UV, dê uma olhada nesse tutorial do nosso amigo Pinuja: Tutorial de mapeamento UV.
Após isso, adicione um material ao objeto nos botões “Shading” (F5).

Agora vá no “Texture Buttons” (F6), e adicione uma textura do tipo “Image”. Busque a imagem referente ao normal map. Acione o botão “Normal Map”. Renomeie essa textura como “NormalMap”

Ainda no “Texture Buttons”, adicione mais uma textura do tipo “Image”. Busque a imagem referente ao mapa de cor. Renomeie essa textura como “ColorMap”. Não acione o botão “Normal Map”.

Agora, no “Materials Buttons” , configure as duas texturas (“NormalMap” e “ColorMap”) para usarem o mapeamento UV. Para isso é só selecionar a textura no painel “Texture” e acionar o botão “UV” em “Map Input”, e repetir o mesmo passo com a outra.

No painel “Map to” da textura “NormalMap”, configure conforme a figura abaixo:

E no painel “Map to” da textura “ColorMap”, configure conforme a figura abaixo:

Agora vamos para o passo mais importante:
Clique nesse link e abaixe o script responsável pelo normalmap: bge_nmap.txt

Feito isso, carregue esse script no “Text Editor” do Blender.

Agora por fim, configure a seguinte lógica em um objeto qualquer da cena(pode ser até a câmera).

Esse script irá pegar todos os objetos em cena com o material do normal map configurado e vai fazer funcionar.
Você pode configurar o normal map em quantos objetos você quiser na cena, para isso, é só configurar o seu material corretamente. O script necessita ser executado apenas uma vez, e em um único objeto, que ele mesmo se responsabilizará de aplicar no normal map nos outros objetos em cena.

Até a próxima!

About these ads
  1. gileade
    fevereiro 8, 2008 às 11:51 pm

    valew! otimo tutorial, tava precisando de algo assim a algum tempo mas ñ fasia ideia de onde encontrar! obj!

  2. Enio
    maio 16, 2008 às 7:47 pm

    Ola Diego, parabéns pelo tutorial e seu site .
    Tenho uma dúvida.
    Tem como usar Normal Map – GLSL ,sem ativar o ”use blender materiais”?
    Pois uso texturas animadas no Blender que só funciona
    com ”use blender materiais” desativado
    Abraços

  3. diegorangel
    maio 16, 2008 às 7:55 pm

    Enio, infelizmente não. O normal map no blender só pode ser utilizado quando a ferramenta “Uses blender materials” estiver ativada, pois é ela que habilita a renderização vai Open GL 2.0

  4. Eltom
    junho 5, 2008 às 8:12 pm

    gostei doseu trabalho parabéns .
    tenho um problema criei uma game no blender mas não consigo
    executar o game com as texturas e as cores quando dou start me vem aquele tela fajuta se puder me ajudar fico grato

  5. Eukurs
    setembro 16, 2008 às 5:10 pm

    Blz? aonde eu encontro programas para geral uma textura NORMAL MAP ?

    de preferencia freeware :D

  6. Guto
    dezembro 20, 2008 às 8:31 pm

    eukurs baixe o gimp(tem no http://www.baixaki.com.br), e procure no google por um script para o gimp, eu peguei em um site q n lembro o nome e funciona direitinho no gimp, axo q o photshop tbm gera normal map

  7. mateus
    junho 22, 2009 às 12:45 pm

    o meu blender nao funciona o glsl,aparece graphics not suported,como que eu faço para funcionar

  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

%d blogueiros gostam disto: