Vai al contenuto principale

CONFRONTO NORMAL MAP

Normal map vs displacement map: quale scegliere?

La normal map modifica la risposta alla luce senza spostare la mesh. Il displacement sposta la superficie e può cambiare profilo e ombre di contatto.

Risposta breve

Scegli in base al cambiamento visibile

Usa la normal map per i dettagli piccoli. Usa il displacement quando il rilievo deve cambiare il profilo o i contatti. Spesso vengono combinati.

Editorial comparison showing a purple-blue normal map on a flat plane beside a displaced rocky surface with geometric relief
A normal map changes the lighting direction on a surface; displacement changes the surface shape itself.

Guida alla scelta

Scegli in base al cambiamento visibile

La normal map salva una direzione per texel. Lo shader modifica la luce mentre i vertici restano fermi: è una soluzione stabile per materiali ripetuti e scene real-time.

Il displacement salva un’altezza e sposta vertici o microgeometria. Può cambiare il profilo, ma richiede suddivisione, scala e budget adeguati.

Una combinazione pratica usa displacement per le forme grandi e normal per le crepe fini. Verifica sempre con la luce e la camera finali.

Note di produzione

Limiti di produzione ed esempi concreti

La silhouette è il confine più chiaro. Una normal map può illuminare un mattone, ma il bordo resta piatto; il displacement può romperlo con suddivisione sufficiente.

Le ombre sono il secondo test. Se un solco deve bloccare la luce o creare un contatto, la sola normal non crea geometria. Usa displacement per le forme grandi e normal per i graffi.

Texture e renderer devono condividere la scala UV. Imposta height e normal come dati non colore; canale verde o base tangente errati invertono il rilievo.

Il costo dipende dalla copertura dello schermo. Decidi per asset e camera e conserva una variante solo normal per i livelli bassi.

Scegli in base ad asset e camera

Parete in pietra

Displacement per bordi rotti e ombre di contatto; normal per pori e piccole schegge.

Tessuto di un personaggio real-time

Normal map per trama e cuciture quando la camera non risolve ogni filo.

Prop scolpito in primo piano

Approva prima le forme grandi con displacement, poi aggiungi il microdettaglio normal.

Confronto rapido

Normal map e displacement map

AspettoNormal mapDisplacement map
Cosa cambiaLa direzione della luce per texelLa posizione della superficie o l’altezza della mesh
SilhouetteNon cambia il profiloPuò cambiare il profilo con geometria sufficiente
Costo runtimeDi solito basso e stabilePiù alto, in base a suddivisione e copertura dello schermo
Scala del dettaglioCrepe fini, pori, tessuto e scanalature piccoleRilievi grandi, pietre, mattoni e contatti
Rischio di setupErrori di canale verde, spazio colore e intensitàErrori di altezza, suddivisione, scala o intersezione
Integrazione tipicaQuando la camera non risolve la geometriaNormal o bump per il microdettaglio restante

Flusso pratico

Scegliere e verificare

01

Definisci il requisito visibile

Chiediti se il dettaglio deve cambiare il profilo o solo i riflessi. Per materiali ripetuti e lontani spesso basta una normal map.

  • Controlla la distanza minima della camera.
  • Segna i dettagli che richiedono ombre di contatto.
  • Separa gli asset hero dai materiali ripetuti.
02

Prepara un segnale di altezza pulito

In una height map in scala di grigi, il bianco è più alto, il nero più basso e il grigio medio neutro. Rimuovi luci e ombre cotte.

  • Mantieni un intervallo di altezza intenzionale.
  • Non usare una foto ombreggiata come altezza grezza.
  • Controlla la scala di tiling finale.
03

Genera e orienta la normal map

Crea una normal map tangent space e scegli OpenGL o DirectX secondo il renderer. Il PNG contiene dati, non colore da correggere.

  • Inizia con forza e contrasto moderati.
  • Usa poco blur per ridurre il rumore.
  • Inverti Y se gli incavi sembrano rilievi.
04

Aggiungi displacement dove serve davvero

Verifica suddivisione o microgeometria sufficiente e usa unità di scena per l’altezza. Prova prima su un piano o una sfera.

  • Suddividi prima di aumentare la forza.
  • Mantieni la scala coerente con l’oggetto.
  • Ricontrolla ombre, contatti e silhouette.
05

Valida con luce e camera finali

Una mappa può funzionare nel preview piatto e fallire nello shader reale. Prova angoli radenti e frontali alla distanza finale.

  • Confronta la scala UV di tutte le mappe.
  • Controlla mipmap, filtraggio e compressione.
  • Conserva la sorgente height con gli export.

Errori comuni

Perché il risultato non funziona

Aspettarsi che la normal cambi la silhouette

La luce può suggerire un bordo, ma il bordo della mesh resta piatto. Usa displacement o geometria per profilo e contatti.

Trattare l’altezza come colore

Gestione colore e canali possono alterare i valori. Imposta height e normal come dati non colore quando richiesto dal renderer.

Scalare il displacement solo dalla texture

I grigi non hanno unità fisica finché materiale e mesh non definiscono una scala. Regola con dimensioni, suddivisione e camera.

Usare la stessa mappa a ogni distanza

Gli asset ravvicinati possono combinare displacement e normal; quelli lontani o ripetuti spesso richiedono solo una normal stabile.

Riferimenti ufficiali

Controlla la documentazione del renderer

Versioni e pipeline del renderer possono cambiare etichette e valori predefiniti. Usa queste fonti ufficiali per la versione esatta del progetto.

FAQ

Domande su normal e displacement

Il displacement è migliore della normal map?

Non sempre: il displacement serve quando cambia il profilo, la normal è più adatta ai dettagli fini.

Una normal map può sostituire il displacement?

Sì, se profilo e ombre di contatto non contano, perché la geometria non si muove.

Devo usare height, bump o normal?

Height è una sorgente in scala di grigi, bump deriva una perturbazione e normal salva direzioni RGB.

Perché il displacement sembra piatto?

Controlla suddivisione, altezza, materiale e distanza della camera prima di aumentare la forza.

Posso combinare le due mappe?

Sì. Usa displacement per le forme grandi e normal per il microdettaglio con la stessa scala UV.

Prossimo passo

Genera una mappa di prova e controlla la mesh finale

Usa la normal map per i dettagli piccoli. Usa il displacement quando il rilievo deve cambiare il profilo o i contatti. Spesso vengono combinati.