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.

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
| Aspetto | Normal map | Displacement map |
|---|---|---|
| Cosa cambia | La direzione della luce per texel | La posizione della superficie o l’altezza della mesh |
| Silhouette | Non cambia il profilo | Può cambiare il profilo con geometria sufficiente |
| Costo runtime | Di solito basso e stabile | Più alto, in base a suddivisione e copertura dello schermo |
| Scala del dettaglio | Crepe fini, pori, tessuto e scanalature piccole | Rilievi grandi, pietre, mattoni e contatti |
| Rischio di setup | Errori di canale verde, spazio colore e intensità | Errori di altezza, suddivisione, scala o intersezione |
| Integrazione tipica | Quando la camera non risolve la geometria | Normal o bump per il microdettaglio restante |
Flusso pratico
Scegliere e verificare
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.
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.
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.
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.
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.