Il Physically Based Rendering (PBR) è una metodologia di shading che approssima il comportamento della luce nel mondo reale. Invece di affidarsi a trucchi artistici per simulare riflessi e ombre, il PBR utilizza proprietà fisiche misurabili — roughness, metalness, indice di rifrazione — per calcolare come le superfici interagiscono con la luce. Il risultato sono materiali che appaiono corretti in qualsiasi condizione di illuminazione, dalla luce solare diretta di mezzogiorno alla morbida luce ambientale interna.
I Due Workflow PBR
Esistono due workflow PBR comuni: metallic/roughness e specular/glossiness. Il modello metallic/roughness è dominante oggi, utilizzato da Unreal Engine, Unity, Blender, Substance Painter e dalla maggior parte dei motori di gioco moderni. Il workflow specular/glossiness è più vecchio e ancora presente in alcune pipeline di arch-viz. Questa guida si concentra sul modello metallic/roughness.
Tipi di Mappa e Cosa Controllano
Albedo (Base Color / Diffuse)
La mappa albedo definisce il colore di base di una superficie senza alcuna informazione di illuminazione, ombra o riflessione. Per i non-metalli, questo è il colore diffuso. Per i metalli, definisce il colore di riflessione (poiché i metalli non hanno componente diffusa). Una regola critica: le mappe albedo non devono mai contenere illuminazione baked o occlusione ambientale. Mantieni i valori tra 30–240 sRGB per i non-metalli; il nero puro e il bianco puro sono fisicamente implausibili per i materiali reali.
Mappa Normale
Le mappe normali codificano le variazioni dell’angolo superficiale nei canali RGB. Ogni pixel rappresenta un vettore direzione: rosso per l’inclinazione dell’asse X, verde per l’inclinazione dell’asse Y e blu per l’asse Z (che punta direttamente dalla superficie). Questo permette alla geometria piatta di sembrare avere dettagli di superficie fini — pori nella pelle, scanalature nel legno, linee di malta nel mattone — senza aggiungere poligoni. Le mappe normali possono essere generate da mappe di altezza o da modelli high-poly usando strumenti di baking in Blender, Substance o xNormal.
Roughness
La roughness controlla quanto i riflessi speculari siano dispersi o concentrati. Un valore di 0.0 è uno specchio perfetto (cromo lucidato); 1.0 è completamente diffuso (cemento grezzo). La maggior parte dei materiali del mondo reale si colloca tra 0.2 e 0.8. Le mappe di roughness sono in scala di grigi — bianco per ruvido, nero per liscio. La variazione all’interno di un singolo materiale è fondamentale: un tavolo di legno potrebbe avere aree liscamente verniciate e bordi grezzi non rifiniti.
Metallic
La mappa metallic è binaria in pratica: un pixel è metallo (1.0) o non-metallo (0.0). I valori tra 0 e 1 rappresentano zone di transizione come la vernice che si scolla dal metallo, dove il bordo potrebbe essere 0.5 su pochi pixel. I metalli puri non hanno riflessione diffusa e tingono il loro speculare con il colore albedo. I non-metalli hanno speculare bianco e diffuso colorato. Sbagliare questo — impostare una superficie plastica a metallic 0.5, ad esempio — crea risultati fisicamente implausibili.
Ambient Occlusion (AO)
Le mappe AO scuriscono le crepe, gli angoli e le aree in cui la luce ambientale sarebbe occlusa dalla geometria vicina. Questa è una mappa in scala di grigi: il bianco significa completamente esposto, il nero significa completamente occluso. L’AO aggiunge profondità e ombre di contatto che fanno sembrare i materiali più radicati. Nei motori di gioco, le mappe AO vengono spesso moltiplicate con il passaggio di illuminazione diffusa finale.
Height / Displacement
Le mappe di altezza (scala di grigi, bianco = alto, nero = basso) possono guidare il parallax occlusion mapping per una falsa profondità o l’effettivo displacement della mesh nei renderer che lo supportano (Cycles in Blender, V-Ray, Arnold). Il displacement è computazionalmente costoso ma produce silhouette genuinamente alterate, che le mappe normali non possono ottenere.
Suggerimenti Pratici di Configurazione
- Scala UV coerente — Tutte le mappe per un materiale devono condividere lo stesso layout UV. Una mancata corrispondenza tra le UV di albedo e della mappa normale crea un’illuminazione ovviamente errata.
- Lineare vs. sRGB — Le mappe albedo devono essere importate come sRGB. Le mappe normale, roughness, metallic, AO e altezza devono essere lineari (dati non-colore). L’assegnazione errata dello spazio colore è uno degli errori PBR più comuni.
- Roughness da misurazioni reali — Se non sei sicuro del valore di roughness da usare, esistono grafici di riferimento. Marmo lucidato: ~0.1. Legno consumato: ~0.5. Cemento grezzo: ~0.9. Questi sono buoni punti di partenza.
Note Specifiche per Software
In Blender, lo shader Principled BSDF accetta tutte queste mappe direttamente. In Unreal Engine, si combinano AO, roughness e metallic in una singola texture ORM impacchettata (canali R, G, B rispettivamente). In Unity, lo shader Standard si aspetta il metallic nel canale alpha della mappa metallic. Substance Painter è lo strumento standard del settore per creare set di materiali PBR completi, con anteprima in tempo reale di tutti i canali della mappa simultaneamente.
Genera texture di base per i tuoi materiali PBR con il nostro Generatore di Cemento o il Generatore di Metallo, poi deriva le mappe normale e roughness usando lo strumento Normal Map.