From BlenderWiki

Jump to: navigation, search

Le 'Normal Maps' (mappature delle normali) e le 'Bump Maps' (mappature delle protuberanze) servono entrambe allo stesso scopo: esse simulano l'impressione di una superficie 3D, come un rilievo. Ma questo rilievo non proietterà alcuna ombra e non coprirà altri oggetti. Se l'angolo della camera è troppo piatto sulla superficie, si noterà che la superficie non è realmente in rilievo.

I termini "Normal Map" e "Bump Map" sono spesso usati come sinonimi, ma ci sono alcune differenze:

  • Bump Maps sono textures che conservano l'altezza dei pixel relativa al punto di vista della camera. Si possono usare sia textures in scala di grigi che i valori di intensità di textures immagine RGB (incluse le immagini).
  • Normal maps sono immagini che conservano le normali direttamente nei valori RGB di un'immagine. Esse cambiano le normali in modo che i pixels sembrano spostati in maniera arbitraria. Per cui si può creare qualsiasi rilievo si desideri.

Le mappe Normal in Blender memorizzano la normale nel seguente modo:

  • il Rosso mappa da (0-255) a X (-1.0 - 1.0)
  • Il verde mappa da (0-255) a Y (-1.0 - 1.0)
  • Il blu mappa da (0-255) a Z (0.0 - 1.0)

Dal momento che tutte le normali puntano verso un osservatore, i valori Z negativi non vengono memorizzati (sarebbero comunque invisibili). In Blender memorizziamo una gamma completa di blu, sebbene anche alcune differenti implementazioni mappino i colori blu (128-255) a (0.0 - 1.0). Quest'ultima convenzione è usata per esempio in "Doom 3".

[edit] Esempi

Ora vedremo qualche esempio. Prima di tutto il render di "Suzanne" (Suzanne Render). La seconda immagine mostra la mappa Normale di Suzanne (Normal Map di Suzanne). Non ho usato la camera in modo Ortho per confrontare più facilmente le due figure.

L'immagine più a destra nella riga in alto mostra la Bump Map di Suzanne. E' stata creata con il plugin ZUtilz. La risoluzione della mappa Bump è troppo piccola per la variazione relativamente grande di valori Z. Si nota osservando da vicino il render della Bump Map.

Suzanne Render
Normal Map di Suzanne (not orthogonal)
Bump Map di Suzanne. La profondità di 8-Bit della Bump Map è insufficiente per coprire i dettagli.

Ho usato entrambe le mappa come textures con un piano, prima la mappa Normal (Render della Normal Map), poi la Bump Map (Render della Bump Map). In entrambi i casi la camera è rimasta nella stessa posizione in cui le mappe sono state fatte (perpendicolare al piano).

Render della Normal Map, perpendicolare alla superficie.
Render della Bump Map. Cliccate sull'immagine per vederne una versione ingrandita.
Render in vista laterale della Normal Map.
Render in vista laterale della Normal Map fatto con una camera Ortho (ortogonale). La stessa posizione di camera della precedente, ma senza la distorsione prospettica.

Il Render della Normal Map è solo uno pseudo 3D. Non siete in grado di osservare il lato della testa (Render in vista laterale).

Se usate una camera Ortho per creare la Normal Map, avrete meno distorsione prospettica (Render in vista laterale della Normal Map fatto con una camera Ortho (ortogonale).)


[edit] Uso delle mappe Normal e Bump

Il pulsante Normal Map nel pannello Image

Le mappe Normal e Bump sono semplici da usare. Assicuratevi che stiate applicando la texture nei pulsanti Material del pannello Map To su Nor. L'intensità dell'effetto è controllata dal pulsante numerico Nor sullo stesso pannello.

Se volete usare una mappa Normale, dovete attivare il pulsante Normal Map nel pannello Image tra i pulsanti della Texture F6 (Pulsante Normal Map).

Per il fatto che solo le normali vengono influenzate durante il render, non otterrete ombre o AO o altri effetti 3D. Si tratta ancora solamente di una texture.


[edit] Creare Mappe Normali

Creare mappe normali in Blender è relativamente semplice.

1) Create un modello e allineatelo con le coordinate del Mondo. Questo semplificherà il posizionamento della camera.

Impostazioni della camera per creare una mappa normale.

2) Posizionate la camera direttamente sotto il vostro modello. Impostate Ortho nel pannello della Camera tra i pulsanti Editing (F9) . Il parametro Scale governa la dimensione del dettaglio visualizzato (Impostazioni della camera per creare una mappa normale.).
3) Il materiale del modello deve essere impostato su Shadeless, per non doverci preoccupare delle luci (Impostazioni del materiale per creare una mappa normale.).
4) Ci servono tre canali di texture, tutti impostati su di una texture Blend lineare (Impostazioni della texture per creare una mappa normale.).
5) Tutti i tre canali di texture usano Nor nel pannello Map Input, il pannello Map To è impostato su Col.

  • La prima texture usa Map Input (X, -, -), Colore Rosso (1, 0, 0), Metodo di miscelazione Mix (coordinata X).
  • La seconda texture usa Map Input (Y, -, -), Colore Verde (0, 1, 0), Metodo di miscelazione Add (coordinata Y).
  • La terza texture usa Map Input (Z, -, -), ofsX (-0.5), sizeX (2.0), Colore Blu (0, 0, 1), Metodo di miscelazione Add (coordinata Z).

Muovendo e scalando la texture blu otterremo una maggiore risoluzione in direzione Z (massima escursione).

Per una visione di insieme di tutte le impostazioni dei materiali delle figure:

Impostazioni del materiale per creare una mappa normale.
Impostazioni della texture per creare una mappa normale.
coordinata X
coordinata Y
coordinata Z

E' possibile scaricare un file di esempio con il materiale dalla pagina con le Note di rilascio. Dovete appendere (append) il materiale "normalmap" dal file "normalmap_material.blend".

Normal Maps e superfici curve
Le Normal Maps daranno il risultato atteso solo se usate con superfici piane.