Resposta curta
Escolha pela mudança visível
Use normal map para detalhes pequenos e repetidos. Use displacement quando o relevo precisa mudar o contorno ou o contato. Em produção, os dois costumam ser combinados.

Guia de decisão
Escolha pela mudança visível
Normal map guarda uma direção por texel. O shader muda a iluminação enquanto os vértices permanecem no lugar. É rápido e estável para materiais repetidos e cenas em tempo real.
Displacement map guarda altura relativa e move vértices ou microgeometria. Pode mudar o contorno, mas exige subdivisão, escala e orçamento adequados.
Uma combinação comum usa displacement para formas grandes e normal para rachaduras finas. Sempre verifique com a luz e a câmera finais.
Notas de produção
Limites de produção e exemplos práticos
A silhueta é a divisão mais clara. Um normal map pode iluminar um tijolo, mas a borda continua plana; displacement pode quebrá-la com subdivisão suficiente.
As sombras são o segundo teste. Se um sulco precisa bloquear luz ou criar contato, só o normal map não gera geometria. Use displacement nas formas grandes e normal nos riscos.
Textura e renderizador devem usar a mesma escala UV. Marque altura e normal como dados sem cor; canal verde ou base tangente incorretos invertem o relevo.
O custo depende da área na tela. Decida por objeto e câmera e mantenha uma versão apenas normal para níveis baixos de qualidade.
Escolha pelo asset e pela câmera
Parede de pedra
Displacement nas bordas quebradas e contatos; normal map nos poros e pequenas lascas.
Roupa de personagem em tempo real
Normal map para trama e costuras quando a câmera não resolve cada fio.
Objeto esculpido em close
Valide as formas principais com displacement e só depois acrescente o microdetalhe normal.
Comparação rápida
Normal map e displacement map
| Aspecto | Normal map | Displacement map |
|---|---|---|
| O que muda | A direção da luz por pixel | A posição da superfície ou a altura da malha |
| Silhueta | Não altera o contorno | Pode alterar o contorno com geometria suficiente |
| Custo em execução | Geralmente baixo e estável | Maior; depende da subdivisão e da área na tela |
| Escala do detalhe | Rachaduras finas, poros, tecido e sulcos pequenos | Relevos grandes, pedras, tijolos e contatos |
| Risco de configuração | Erros de canal verde, espaço de cor e intensidade | Erros de altura, subdivisão, escala ou interseção |
| Complemento comum | Use quando a câmera não resolve a geometria | Adicione normal ou bump ao microdetalhe |
Fluxo prático
Como escolher e testar
Defina o requisito visível
Pergunte se o detalhe precisa afetar o contorno ou apenas os realces. Para materiais repetidos e distantes, um normal map costuma bastar.
- Confira a distância mínima da câmera.
- Marque os detalhes que precisam de sombras de contato.
- Separe assets principais de materiais repetidos.
Prepare um sinal de altura limpo
Em uma altura em tons de cinza, branco é mais alto, preto é mais baixo e cinza médio é neutro. Remova luzes e sombras já gravadas.
- Defina uma faixa de altura intencional.
- Não use foto sombreada como altura sem limpar.
- Visualize na escala final de repetição.
Gere e oriente o normal map
Crie um mapa normal em espaço tangente e escolha OpenGL ou DirectX conforme o renderizador. O PNG é dado, não cor de exibição.
- Comece com força e contraste moderados.
- Use pouco desfoque para remover ruído.
- Inverta Y quando sulcos parecerem saliências.
Adicione displacement quando valer o custo
Confirme subdivisão ou microgeometria suficiente e use unidades da cena para a altura. Teste primeiro em um plano ou esfera.
- Subdivida antes de aumentar a força.
- Mantenha a escala proporcional ao objeto.
- Revise sombras, contatos e silhueta.
Valide com a luz e câmera finais
Um mapa pode funcionar no preview plano e falhar no shader real. Compare ângulos rasantes e frontais na distância final.
- Compare a mesma escala UV entre mapas.
- Verifique mipmaps, filtragem e compressão.
- Guarde a fonte de altura junto dos exports.
Erros comuns
Por que o resultado parece errado
Esperar que o normal map mude a silhueta
O sombreamento sugere relevo, mas a borda continua plana. Use displacement ou geometria quando contorno e contato importarem.
Tratar altura como textura de cor
Gerenciamento de cor e canais podem alterar os valores. Marque altura e normal como dados sem cor quando necessário.
Escalar displacement apenas pela textura
O cinza só ganha unidade física quando material e malha definem uma escala. Ajuste pelo tamanho, subdivisão e câmera.
Usar o mesmo mapa em toda distância
Assets próximos podem combinar displacement e normal; assets distantes ou repetidos geralmente usam apenas um normal estável.
Referências oficiais
Consulte a documentação do renderizador
Versões e pipelines do renderizador podem alterar nomes e padrões. Use estas referências oficiais para a versão exata do seu projeto.
FAQ
Dúvidas sobre normal e displacement
Displacement é melhor que normal map?
Nem sempre. Displacement é indicado quando o contorno muda; normal é melhor para detalhes pequenos e desempenho.
Normal map pode substituir displacement?
Sim, quando o contorno e as sombras de contato não importam, pois ele não move a geometria.
Devo usar height, bump ou normal?
Height é uma fonte em tons de cinza, bump deriva uma perturbação e normal guarda a direção em RGB.
Por que meu displacement parece plano?
Verifique subdivisão, faixa de altura, material e distância da câmera antes de aumentar a força.
Posso combinar os dois mapas?
Sim. Use displacement nas formas grandes e normal no microdetalhe, com a mesma escala UV.