Mappa Bump Vs. Mappa normale: differenze, applicazioni, utilizzo – 3DBiology.com

Bump mapping e normal mapping sono due metodi diversi per fare la stessa cosa: creare l’illusione della texture superficiale in un modello di computer visivo.

bump-vs-normal-map-1

Questi metodi sono utili per sapere se stai creando personaggi di videogiochi o renderizzando animazioni 3D.

Bump maps impone un’immagine in scala di grigi, quindi le macchie scure appaiono più profonde e forniscono contrasto per “urti più leggeri”.”Le mappe normali utilizzano una scala RGB per ricavare le normali vettoriali 3D sulla superficie 3D. Questo inganna la luce resa nella creazione di luci e ombre. Entrambi i metodi lasciano invariata la geometria.

Conoscere le differenze tra queste due tecniche può aiutare a determinare quale è più adatto per l’applicazione a portata di mano. Continua a leggere per saperne di più su entrambi in modo da poterli aggiungere alla tua borsa di trucchi.

La differenza principale è l’illuminazione

L’obiettivo di entrambe queste mappe è quello di dare a una superficie l’illusione di texture su una superficie che non ha texture. Questo è vantaggioso per i videogiochi perché significa che la mesh del modello non deve essere così fine da catturare fisicamente tutti i piccoli dettagli come una mappa di spostamento.

La mappa crea questa illusione distorcendo il modo in cui la luce resa interagisce con una superficie. Questo è anche dove la mappa bump può diventare limitante, a seconda del livello di dettaglio che si sta cercando di raggiungere.

  • Una mappa a sbalzo indica al renderer quali aree di una superficie sono più luminose e quali aree sono più scure, indipendentemente dalla direzione della sorgente luminosa.
  • Una mappa normale mette in relazione le normali della superficie artificiale con il resto dello spazio 3D e determina matematicamente come la texture interagisce con la sorgente luminosa renderizzata.

Quindi, il risultato in entrambi i casi è che una forma geometricamente liscia sembra avere una trama superficiale molto dettagliata. Tuttavia, la mappa a sbalzo inizia a vacillare quando l’oggetto strutturato viene visualizzato da diverse angolazioni. La texture percepita probabilmente non interagirà con la luce ambientale in modo credibile.

Per capire questo di più, diamo un’occhiata a come ogni metodo va sul rendering texture.

Una mappa a sbalzo Utilizza una scala di grigi impostata per manipolare l’altezza

Se si dovesse creare una mappa a sbalzo o semplicemente guardarne una, verrà visualizzata un’immagine in bianco e nero. Non c’e ‘ nient’altro. In sostanza, la mappa utilizza questa scala di grigi per indicare al motore di rendering quali punti sono chiari e quali sono scuri.

  • Le aree nere sulla mappa indicano posizioni scure o “affondate” sulla superficie
  • Le aree bianche sulla mappa indicano posizioni evidenziate o “sporgenti” sulla superficie
  • E ogni sfumatura di grigio tra le azioni di conseguenza.

La maggior parte dei motori di rendering lo fa mettendo in relazione la tonalità di grigio con il normale vettore della superficie. Poiché i vettori normali sono il modo in cui il motore di rendering “vede” la superficie, questo è un modo per ingannarlo nel rendering della trama su una superficie effettivamente liscia.

La relazione tra scala di grigi e normale di superficie è come tale:

  • Nero = tangente alla superficie
  • Bianco = normale alla superficie

E qualsiasi tonalità di grigio tra cambia l’angolo del vettore normale. Questo è elegante perché consente all’immagine in scala di grigi di fungere da traduttore tra il game designer umano, che vede un’immagine in nero & bianco, e il motore di rendering, che vede un’immagine in termini di normali di superficie.

Ora, come accennato in precedenza, c’è un deficit di questo metodo per quanto riguarda l’illuminazione. La mappa a sbalzo imposta una distribuzione normale della superficie fissa. In altre parole, crea solo effetti di luce locali. Dirà solo al motore di rendering quali aree della superficie sono più scure di altre rispetto a se stessa.

Quindi, la mappa bump non fornisce il motore di rendering sufficiente per considerare da dove proviene la sorgente luminosa globale in relazione ai dettagli su una superficie. Ciò potrebbe portare a una situazione in cui le ombre di una superficie sono effettivamente rivolte verso la fonte di luce, e le luci sono dove ci si aspetterebbe che le ombre siano.

Se l’utente finale vede le ombre dove il suo occhio si aspetta i punti salienti, potrebbe trovare la grafica meno credibile. Questo non significa mappe urto sono totalmente obsoleti, però. Possono essere utilizzati da soli o in combinazione con altre mappe per migliorare davvero il rendering generale. Entreremo in alcune best practice in un po’, ma prima un po ‘ sulle mappe normali e su come interagiscono con l’illuminazione.

Una mappa normale utilizza RGB per manipolare la luce

Come abbiamo accennato, le mappe normali hanno la capacità di incorporare meglio l’illuminazione globale nella struttura superficiale percepita di un oggetto.

Lo fanno fornendo al motore di rendering una terza informazione o un canale di colore da utilizzare. Al contrario, una mappa a sbalzo tecnicamente fornisce solo due canali di colore da utilizzare; nero o bianco. La mappatura normale utilizza la scala di colori RGB per calcolare una superficie normale da tre vettori componenti anziché due. RGB, in questo caso, significa:

  • Rosso
  • Verde
  • Blu

Per capire meglio questo senza dare una tesi sull’algebra lineare, torniamo rapidamente a pensare a bump maps per un secondo. La tonalità di grigio equivale essenzialmente all’angolo di un vettore rispetto alla superficie stessa. Tale vettore è costituito da due vettori componenti nello spazio oggetto cartesiano, uno sull’asse tangente (nero) e uno sull’asse normale (bianco).

Più il colore è vicino al nero in una determinata posizione, minore è l’angolo tra il vettore normale e la superficie stessa. Al contrario, più l’immagine è vicina al bianco, più il vettore normale è ortogonale.

Ma se stiamo operando nello spazio 3D, che dire della terza dimensione? Questo è dove le mappe normali sono disponibili con RGB invece di scala di grigi. Come la mappa a sbalzo, una mappa normale ha un asse tangente e un asse normale, ma introduce anche l’asse bitangente. E poiché c’è un terzo asse, ci deve essere un terzo colore per rappresentarlo. La tabella seguente illustra come ogni mappa traduce i colori in vettori.

Vettore Asse Mappa Bump Colore Traduzione Mappa Normale, Colore Traduzione
Normale Bianco Blu
Tangente Nero Rosso
Bitangent N/A Verde

La chiave per capire qui è che la mappa normale, ha la capacità di definire normali della superficie in 3D spazio globale, perché ci sono tre componenti del vettore che compongono detto normale. Ciascuno dei componenti può essere correlato ai componenti globali X, Y e Z dello spazio mondiale cartesiano in cui è fissata una sorgente luminosa.

Una mappa a sbalzo non può farlo perché non esiste un terzo componente relativo allo spazio cartesiano normale e globale. Questo è il motivo per cui puoi finire con le luci in cui ti aspetteresti le ombre con la mappatura degli urti.

Le tre componenti vettoriali di una mappa normale costituiscono un sistema cartesiano, il che significa che sono tutte ortogonali tra loro. Tuttavia, il sistema di coordinate può ancora essere orientato in una quantità infinita di direzioni e deve essere vincolato in qualche modo in modo che la mappa abbia senso.

Questo viene fatto orientando i componenti vettoriali alle coordinate della trama della mappa. La maggior parte dei software di rendering e modellazione 3D lo farà in background per te, però, quindi non preoccuparti se non stavi prestando attenzione alla classe di algebra lineare. Ci sono in genere 3 diversi orientamenti tra cui scegliere:

  • Spazio tangente
  • Spazio oggetto
  • Spazio mondo

Ognuno di questi presenta i suoi vantaggi e svantaggi, a seconda dell’applicazione dell’oggetto. Ne parleremo piu ‘ tardi.

Indipendentemente dall’orientamento utilizzato, è un passo importante perché consente al motore di rendering di calcolare le normali di superficie in modo che tutte si relazionino tra loro. Il risultato è una texture superficiale percepita che reagisce in modo uniforme alla sorgente luminosa globale.

Quindi questa è la grande differenza. Entrambe le mappe influenzano l’illuminazione su una superficie, ma lo fanno in modi diversi. La mappa normale eccelle nella sua capacità di mettere in relazione una texture di superficie allo spazio 3D in cui risiede. Questo alla fine fornirà rendering più credibili, anche se non è raro utilizzare mappe bump e mappe normali insieme per creare superfici altamente dettagliate.

Ancora una volta, nessuno di questi metodi modifica effettivamente la geometria 3D della superficie sottostante.

Una breve nota sull’orientamento normale della mappa

Poiché le mappe normali determinano l’angolo in cui la luce si riflette su una superficie, è importante considerare come la mappa stessa è orientata in relazione all’oggetto a cui viene applicata.

Lo spazio tangente è più comune

Quando una mappa normale è orientata nello spazio tangente, le normali della trama vengono memorizzate rispetto alla normale geometria. Questo è in genere il più versatile perché consente all’oggetto di muoversi e deformarsi nello spazio mantenendo intatti gli effetti della trama. Questo è particolarmente utile quando texturing cose come:

  • Skin di un personaggio
  • Spostamento di tessuti
  • Oggetti che si muovono e interagiscono con l’utente

Bottom line; usalo se l’oggetto che stai testurizzando si muoverà nello spazio con l’utente.

Lo spazio oggetto crea una qualità superiore a costo della versatilità

Una mappa normale orientata nello spazio oggetto calcola le sue normali rispetto all’oggetto nel suo insieme. L’oggetto può ancora muoversi, ma se le sue superfici si deformano potrebbero esserci problemi con il normale. Le mappe sono di solito specificamente su misura per l’oggetto a cui vengono applicati, che porta a dettagli più nitidi e una migliore levigatura.

Ciò rende difficile riutilizzare o affiancare la mappa su altre superfici, tuttavia. Neanche le coordinate delle texture possono essere specchiate. Quindi, modellare la trama su oggetti simmetrici sarà il doppio del lavoro.

Lo spazio mondiale crea una mappa completamente fissa

Una mappa normale orientata nello spazio mondiale è fissata in posizione rispetto alle coordinate 3D globali. Ciò significa che l’oggetto a cui è applicato dovrebbe rimanere fermo; altrimenti “scivolerà fuori” da sotto la mappa se spostato.

Questo è utile per creare alti livelli di dettaglio su oggetti grandi e fissi di un ambiente.

Quale mappa ha una migliore velocità di rendering?

Mentre la velocità di rendering è fortemente dipendente dal motore di rendering stesso, bump maps e mappe normali occupano diverse quantità di memoria.

In genere, le mappe normali sono più veloci da renderizzare rispetto alle mappe a sbalzo.

La differenza non è drastica, ma è lì. Le mappe normali limitano leggermente le mappe a sbalzo perché non richiedono più campioni di texture come le mappe a sbalzo.

Che tipo di mappa dovrei usare?

Come per qualsiasi cosa, non c’è consenso unanime sul fatto che una di queste mappe sia migliore dell’altra. Bump maps e mappe normali hanno entrambi vantaggi in diverse applicazioni. Esploriamo alcuni di questi.

I migliori usi per la mappatura normale

Abbiamo già toccato alcuni di questi quando abbiamo discusso i diversi orientamenti della mappa normale. In generale, le mappe normali sono la soluzione più versatile quando hai bisogno di una texture che risponda bene al movimento. Questo può valere per qualsiasi cosa:

  • Caratteri
  • Armi/strumenti/oggetti
  • Veicoli
  • Tessuti
  • Fogliame

Normale mappe sono utili anche per portare il dettaglio in più parti dell’ambiente che dovrebbe essere visto da vicino.

  • Pareti
  • Passerelle
  • Segnaletica

Le mappe normali sono estremamente versatili, specialmente con l’orientamento dello spazio tangente. Inoltre avvolgono i bordi per creare un effetto di smussatura favorevole, qualcosa che le mappe bump non possono fare. Questo ammorbidisce altrimenti spigoli vivi su un oggetto che non dovrebbe apparire avere spigoli vivi, rendendo così l’immagine più credibile.

Questo non ottenere lo stesso livello di dettaglio, come una mappa di spostamento (di cui parleremo brevemente alla fine di questo articolo), ma serve a creare l’illusione di bordi arrotondati su cose come:

  • le maniglie delle porte
  • Arma maniglie
  • angolo di Parete

Questo sottile effetto non è realizzabile con una bump map.

Usi migliori per il Bump Mapping

Le mappe Bump sono utilizzate al meglio per superfici di sfondo o oggetti relativamente piccoli. Pensa alle caratteristiche ambientali che devono essere percepite in lontananza.

  • Sala operatoria
  • Paesaggi
  • Paesaggi urbani

Poiché le bump maps non funzionano come le normali mappe sugli oggetti in movimento, sono facilmente applicabili allo sfondo di una scena o agli aspetti a livello di dettaglio intermedio. Poiché sono più facili da creare e non richiedono tanto calcolo vettoriale, sono l’opzione di sforzo inferiore.

Tuttavia, quando applicato a parti di un ambiente che non sarà sotto lo stesso controllo, le mappe bump danno il massimo per il tuo proverbiale dollaro.

Possono essere utilizzati insieme, troppo

Non dimenticate che bump maps e mappe normali possono essere stratificati uno sopra l’altro per creare ancora più profondità di dettaglio per il rendering.

Come con qualsiasi mappa texture, è possibile sovrapporre il numero o il numero desiderato per ottenere il livello di dettaglio desiderato.

  • Bump maps regola l’altezza percepita di una superficie rispetto a se stessa
  • Mappe normali regola l’angolo percepito al quale la luce si riflette sulla superficie

Combina questi due per bilanciare i vantaggi della manipolazione dell’altezza e dell’angolo della tua superficie.

Per riassumere.

La differenza tra una mappa bump e una mappa normale è come ciascuna manipola una superficie per interagire con la luce. Le mappe a sbalzo funzionano in “due dimensioni” utilizzando una scala di grigi per spostare artificialmente parti di una superficie verso l’alto o verso il basso. Salire significa più luminoso e scendere significa più scuro.

Le mappe normali funzionano in “tre dimensioni” utilizzando i canali di colore rosso, verde e blu per manipolare artificialmente la direzione in cui la luce si riflette su una superficie.

Le mappe possono essere utilizzate insieme o singolarmente, e nessuna delle due texture map altera effettivamente la geometria della superficie. Mentre le mappe normali possono avvolgere i bordi per creare un effetto di smussatura, entrambe queste mappe non hanno la capacità di produrre l’illusione della trama lungo un bordo.

Bonus: che dire delle mappe di spostamento?

Se è necessario eseguire il rendering dei bordi di una superficie in modo che la sagoma dell’oggetto corrisponda alla trama, una mappa a sbalzo o una mappa normale non la taglieranno.

Il vantaggio delle bump maps e delle mappe normali è che creano l’illusione della texture senza alterare effettivamente la mesh della superficie. Ciò significa che la dimensione del modello può rimanere piccola e il tempo di rendering è ancora piuttosto veloce. Ma questo limita la quantità di dettagli sui bordi dell’oggetto.

È qui che entrano in gioco le mappe di spostamento. Considera l’esempio di un muro di mattoni. I mattoni sporgono rispetto alla malta tenendoli insieme. Quindi, se si stesse guardando intorno al bordo di questo angolo, non sembrerebbe essere una linea retta, i mattoni sporgerebbero e la malta si ritirerebbe.

Né le mappe normali né le mappe bump possono raggiungere questa illusione, e sarebbe solo un compito noioso sedersi lì e modellare effettivamente tutti quei mattoni. Per non parlare, renderebbe il tuo modello 3D piuttosto goffo.

È qui che entra in gioco la mappatura dello spostamento. Come una mappa a sbalzo, regola l’altezza di una superficie. Ma invece di manipolare l’illuminazione, manipola la forma effettiva dell’oggetto durante il rendering. Per questo motivo, richiede più tempo di rendering e una mesh molto più fine sulla superficie. Ad esempio, la superficie più grande deve essere suddivisa in centinaia, più probabilmente migliaia, di singole superfici.

Ne vale la pena, se il motore di rendering è abbastanza potente e il dettaglio è necessario.

Di seguito sono riportati alcuni video utili per mostrare visivamente questi concetti:

Bump mapping:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.