Os mapas que não te deram
Os pacotes de texturas raramente trazem todos os mapas de que um material PBR precisa. Chega-te uma foto e um mapa de altura, ou um mapa de normais assado para o motor errado, ou um mapa de brilho quando o teu renderizador quer rugosidade. Esta ferramenta online gratuita transforma o que tens no que precisas, dentro do navegador.
De mapa de altura para mapa de normais
Um mapa de altura guarda a elevação como brilho; um mapa de normais guarda uma direção por pixel. Converter significa tomar o gradiente do campo de alturas e construir a partir dele a normal da superfície: N = normalize(-dh/du, -dh/dv, 1).
O gradiente é estimado com um núcleo Sobel de 3x3 em vez de uma simples diferença entre pixels, porque mapas de altura de 8 bits quantizam mal e uma diferença crua transforma essa quantização em facetamento visível. A intensidade escala o gradiente antes da normalização: valores baixos dão uma superfície subtil, valores altos exageram o relevo. Acrescenta desfoque prévio se a tua origem formar bandas em declives suaves.
Inverter o verde: o problema OpenGL contra DirectX
O erro mais comum com mapas de normais em 3D, com uma correção de uma só linha. O espaço tangente tem o eixo V a apontar para cima, mas as imagens são guardadas de cima para baixo, e desse desencontro nasceram duas convenções:
- OpenGL / glTF / Blender / Unity / Godot — o verde é +Y, a apontar para cima. Também chamado Y+.
- DirectX / Unreal Engine / 3ds Max — o verde é -Y, a apontar para baixo. Também chamado Y-.
Escolhe a errada e nada dá erro. Simplesmente a superfície é iluminada a partir da direção vertical contrária: as saliências leem-se como covas e as cabeças de parafuso parecem cravadas para dentro. Fica plausível, e é por isso que sobrevive até ao render final.
A correção é g = 255 - g — inverter o canal verde e mais nada, que é exatamente o que Inverter o canal verde faz. A operação é a sua própria inversa, por isso converte nos dois sentidos.
De normais para altura, com honestidade
Recuperar a altura a partir de um mapa de normais significa resolver uma equação de Poisson, por isso esta ferramenta integra o campo de declives e corre passagens de relaxamento para remover o desvio. Aumenta o número de passagens se surgirem gradientes suaves onde a superfície deveria ser plana. Só a profundidade relativa é recuperável, por isso o resultado é normalizado.
Rugosidade, brilho e oclusão
Dessaturar para rugosidade usa luminância percetual em vez de uma média dos canais; corrige depois a sua gama com os níveis. Inverter mapa converte rugosidade em brilho ou suavidade e vice-versa. Oclusão ambiental a partir da altura varre para fora em várias direções a partir de cada pixel e escurece-o conforme o horizonte mais acentuado que encontra — o cursor de escala de altura fornece a profundidade que falta a uma imagem em tons de cinzento.
Tudo corre no teu dispositivo através das próprias APIs de canvas do navegador; nenhuma textura é enviada.
Tiny Online Tools






