Glossario di Gamedev Cos'è una Mappa normale?

In questo articolo, spiegherò che a mappa normale è e perché la mappatura normale è una tecnica importante e utile per qualsiasi sviluppatore di giochi 3D. Condividerò anche alcuni esempi e alcuni ottimi strumenti per generarli.

Cos'è una mappa normale?

Un 2D mappa di texture è un'immagine aggiunta a un modello 3D che fornisce un livello superiore di dettaglio, avvolge qualsiasi arte 3D che devi applicare o modifica determinati attributi come colore, trasparenza, lucentezza, riflesso e dettagli più elevati.

Una delle mappe più preziose per un artista 3D è la mappa normale. Piuttosto che avere una gamma di colori dal nero al bianco, come una mappa di rilievo, le mappe normali sono rosse, verdi e blu. Questi valori RGB si traducono in coordinate x, yez, consentendo a un'immagine 2D di rappresentare la profondità. In questo modo, un'applicazione 3D è in grado di simulare i dettagli di illuminazione in base al colore associato alla coordinata 3D.

Ecco un esempio di come appare una mappa normale come un'immagine 2D, senza applicato a un modello 3D:

Perché usare una mappa normale?

Conservazione della memoria

Quando crei risorse artistiche 3D per i videogiochi, hai ciò che viene chiamato "Poly Limit" o "Poly Budget", che sostanzialmente limita la complessità dei tuoi modelli 3D.

I budget Poly sono necessari per mantenere il gioco 3D a dimensioni di file relativamente piccole; i modelli 3D complessi possono occupare un'enorme quantità di spazio. Le mappe normali ti consentono di mantenere la dimensione del file entro il tuo budget, pur continuando a disporre di risorse Guarda come modelli 3D complessi con il tipo di dettaglio che desideri.

Ad esempio, il modello 3D di questo asset è un cubo molto semplice, ma aggiungendo la normale mappa dall'alto, sembra una forma molto più complessa:

I bulloni e le parole "Mappe normali" non sembrano essere semplicemente dipinti su una superficie piana.

Realismo

Le mappe normali sono utilizzate per ottenere un tipo di dettaglio che normalmente si avrebbe difficoltà a fare in un'applicazione 3D di base (Maya, 3Ds Max, Cinema 4D). Esistono molti tipi di programmi che creano mappe normali, ma tutti forniscono maggiori dettagli.

Le mappe normali sono influenzate dall'illuminazione della scena, quindi è facile incidere nei dettagli dove ne hai bisogno. Questo può essere usato per applicare le rughe a una faccia o per aggiungere bulloni e graffi su un oggetto metallico, come nell'esempio sopra.

Poligono alto a basso numero di poligoni

I modelli 3D ad alto poligono (ovvero molto complessi) in genere hanno molti dettagli, ma possono consumare molta memoria. Ciò che gli artisti tendono a fare è usare modelli a basso poligono e applicare le normali per migliorare i dettagli; questo consente alle dimensioni del file di rimanere relativamente piccole.

I modelli ad alto numero di poligoni possono essere effettivamente convertiti in una mappa normale, che può essere utilizzata per la versione a basso numero di poligoni. Questo accade molto quando le società di gioco realizzano personaggi altamente dettagliati e desiderano conservare il maggior numero di dettagli possibile.

In questo esempio, vedrai il processo di conversione di un modello hi-poly in un modello low-poly con una mappa normale. Mentre si passano attraverso le immagini, annotare il numero di poligoni in ogni immagine.


Modello originale ad alto numero di poligoni.
Modello a basso numero di poligoni.
Modello low-poly con mappa normale (generato dal modello high-poly) applicato.

Efficienza nel tempo

L'utilizzo di mappe normali può farti risparmiare molto tempo, a seconda del tipo di progetto su cui stai lavorando. Nell'esempio con la scatola, tutto ciò che ho fatto è stato generare una mappa 2D normale e schiaffarla sulla scatola. Se dovessi creare ogni oggetto per quello stesso progetto, ci sarebbe voluto più tempo.

Inoltre, con più oggetti 3D nella scena, occuperebbe più memoria. Ora, per cose più organiche come i personaggi, non posso dire che ridurrebbe molto il tempo speso, ma per gli oggetti di superficie dura aiuta davvero. Hai anche più flessibilità per provare nuove cose quando passi meno tempo sulle risorse.

Standard industriale

Se vedi un gioco con dettagli elevati, posso quasi garantire che stanno usando una mappa normale.

In precedenza, ho menzionato come ci siano molte mappe di texture utilizzate durante la creazione di risorse 3D, con la più preziosa delle quali la mappa dei colori e la mappa normale. Dal momento che le persone vogliono costantemente cose che sembrano migliori e migliori finiscono per richiedere maggiori dettagli. Questo potrebbe non essere valido per i giochi che sono più cartoony e utilizzare tecniche come il cel shading, ma puoi scommettere che i giochi con titolo AAA stanno usando questi.

Come faccio a creare una mappa normale?

Esistono diversi strumenti che puoi utilizzare per creare o generare una mappa normale:

CrazyBump

CrazyBump genera mappe normali da foto, mappe di altezza (in scala di grigi) o anche altre mappe normali. Con CrazyBump puoi effettivamente regolare le tue normali per mostrare più o meno dettagli dall'immagine di riferimento.

xNormale

xNormal genera mappe normali da un modello 3D ad alto numero di poligoni e poli basso. Questo è davvero fantastico quando vuoi iniziare in un'applicazione di scultura 3D come Zbrush, ma vuoi comunque che il tuo modello sia all'interno del tuo poligono.

Ho usato xNormal per generare la mappa normale per il carattere 3D sopra.

nDo2

nDo2 è un plug-in per Photoshop che consente di generare normali utilizzando selezioni e altre funzionalità. Include la stessa funzionalità di CrazyBump, con la maggiore flessibilità degli strumenti di Photoshop.

Ho usato nDo2 per creare la scatola con i bulloni.

Photoshop

Photoshop può essere utilizzato per dipingere manualmente una mappa normale utilizzando diversi canali di colore (R, G, B).

Questa tecnica è molto difficile da fare da zero, quindi gli artisti in genere usano Photoshop solo per ritoccare una mappa generata da un altro programma. Se ci sono artefatti casuali durante la generazione delle tue normali, puoi usare Photoshop per modificare manualmente i problemi.

Ecco perché non uso Photoshop per dipingere le normali:

Grazie per aver letto questo post sulla mappatura normale! Spero che tu abbia imparato molto e mi sia divertito a farlo.