Join Waitlist We will inform you when the product arrives in stock. Just leave your valid email address below.
Email Quantity We won't share your address with anybody else.
Sem categoria

Aplicando Normal Map no UE4

ImagemCapa

Imagem de uma parte da fase Summoner do League of Legends com Normal Map.

 

CONCEITOS

Atualmente com o crescimento de produtos destinados aos sistemas de realidade virtual, o aspecto realístico dos ambientes virtuais estão evoluindo rapidamente para melhorar a imersão visual do usuário. Muitas das técnicas usadas para aumentar performance de jogos, estão sendo utilizadas para simuladores ou jogos em realidade virtual. Entre elas estão as técnicas de mapas de normais, baked lights (Técnica já publicada no portal), entre outras.

Nos programas de modelagem 3D ou em Engines para jogos, é preciso gerar fontes de luz para tornar a visualização ou a renderização dos objetos modelados mais realística. Para que o modelo de reflexão dos feixes de luz seja aplicado durante o processo de renderização, a cada polígono precisa ser associado, ao menos, um vetor normal. O vetor normal, na geometria, é a linha ou vetor que é perpendicular á linha tangente da curvatura em um dado ponto. Vetor normal em uma superfície 3D é o vetor perpendicular à tangente dessa superfície em um dado ponto, como mostra a imagem a seguir.

Normal

 

Algumas técnicas permitem perturbar essas normais, os chamados mapas de normais, que são imagens em 2D que alteram a angulação dos vetores normais conforme a informação contida nesses mapas. No caso da técnica empregada neste projeto, cada pixel do mapa contém uma cor composta pelos três componestes de cores RGB, tendo cada componente a sua coordenada correspondente (x, y ou z). Portanto, quando esse mapa é colocado em uma malha 3D, da mesma maneira como é colocado uma imagem de textura, as informações contidas no mapa de normais podem ser traduzidas como vetores de normais, criando uma malha 3D com mais normais, ou seja, com mais detalhes sem que seja necessário criar mais polígonos para isso. Essa técnica facilita a modelagem de objetos complexos, pois não há a necessidade de se criar milhares, ou até milhões, de polígonos só para se modelar os detalhes, basta aplicar um mapa de normais em uma malha com poucos polígonos que tais detalhes aparecerão. Diferentemente das texturas, mapas de normais irão variar a aparência da superfície lisa das malhas. As técnicas de perturbação de normais melhoram a qualidade das imagens renderizadas quase tanto quanto o aumento do número de polígonos, mas aumentam menos o tempo de processamento dos computadores, tanto na visualização em tempo real do objeto quanto em sua renderização, já que o número de polígonos a processar não cresce, assim como demonstra a imagem abaixo.

NormalExample

 

 

TUTORIAL

A técnica simples que demonstrarei aqui neste documento é de como aplicar o mapa de normais em objetos 3d. Para isso utilizarei o Unreal Engine 4 com base para o tutorial.

Primeiramente precisamos criar o mapa de normais. Se o objeto que recebera esse mapa, já possuir uma textura, é possível criar um mapa de normais a partir desta textura. Utilizando o site http://cpetry.github.io/NormalMap-Online/ podemos fazer um upload de nossa textura em JPG ou PNG, configurar como queremos o mapa de normais e fazer o download do mesmo.

NormalMapOnline

Clique sobre o primeiro quadrado, e em seguida selecione a imagem da sua textura.

normalMap1

Como exemplo, escolherei uma das texturas, abaixo, do LOL.

normalMap2_selecaoDeTextura

Perceba que o site já nos mostra como o normal Map ficaria e a visualização deste em um cubo em perspectiva.

normalMap3_criacaoDeNormalMap

Os valores de Strength, Level e Blur/Sharp já possuem valores ideais predefinidos para cada tipo de textura, mas é possível alterá-los se achar necessário. Nesse site é possível criar outros tipos de mapas a partir da textura, como Displacement, Specular e Ambiente oclussion map. Na imagem do normal map, a seguir, é possível visualizar as imperfeiçoes  e detalhes que aparecerão no objeto 3d.

 

No UE4
Primeiramente é necessário importar o aquivo PNG do normal map no projeto do UE4. Clique em Import e selecione a imagem do normal map.

importar

O normal map irá aparecer no projeto desta maneira abaixo.

imageNoUE4

Crie um material para o seu objeto e clique duas vezes sobre o material.

Vamos partir do principio que seu material já possua uma textura.

MaterialUE4

Arraste o normal map do projeto para dentro do editor do material, e conecte ao Normal do material, como mostra a imagem abaixo.

MaterialUE4comNormal

 

Visualizações

Modelo sem textura.

modelo

Modelo com textura, ambientação, luzes mas sem normal map.

semNormal

Modelo com textura, ambientação, luzes mas com normal map.

ImagemCapa

Notícia AnteriorPróxima Notícia

Comentários