Esistono due workflow per il PBR, chiamati Metallic Roughness e Specular Glossiness. In base al workflow utilizzato, bisogna specificare alcune informazioni...
L'audio di questo tutorial non è disponibile in Italiano. Qui sotto puoi guardare il video con audio in Inglese e sottotitoli in Italiano, Inglese e altre lingue. Sotto il video trovi la trascrizione tradotta in Italiano.
Trascrizione del video
Salve a tutti! Se, come me, conoscete qualcosa dei materiali PBR, ad esempio perché li avete utilizzati in altri programmi come Blender, Unity, Substance e altri, allora saprete che esistono due workflow, chiamati Metallic Roughness e Specular Glossiness. In base al workflow utilizzato, bisogna specificare alcune informazioni.
In Unreal, il workflow utilizzato è Metallic, per cui in un Material dobbiamo specificare almeno le informazioni Base Color, Metallic e Roughness, più eventualmente una Normal Map per simulare dei dettagli mediante una Texture particolare. Se vogliamo realizzare un Material base, comunque, dobbiamo impostare almeno i primi tre canali che ho nominato.
Si inizia sempre con il canale Metallic, dove ovviamente 0 indica un non metallo e 1 indica un metallo puro. Il Base Color definisce il colore base diffuso di un oggetto non metallico, mentre nei metalli indica la tinta dei riflessi speculari. Il parametro Roughness specifica poi quanto è ruvida o irregolare una superficie, per cui con 0 avremo una superficie perfettamente lucida o levigata, mentre con 1 avremo una superficie molto ruvida, che apparirà opaca. Ad esempio, per ottenere uno specchio perfetto dovremo mettere colore bianco puro, Metallic a 1 e Roughness a 0.
Nei Material di Unreal è presente però anche il canale Specular, che può generare un po' di confusione, soprattutto se si pensa al fatto che Specular Glossiness è il nome dell'altro workflow disponibile con il PBR. Inoltre, se si utilizza un Material puramente metallico, modificare il valore di Specular sembra non avere alcun effetto. A cosa serve quindi il parametro Specular, in questo contesto? In Unreal Engine, questo valore è usato per controllare la riflettività dei soli materiali non metallici. Ecco perché questo parametro viene completamente ignorato se Metallic è impostato a 1.

Quindi, per un materiale metallico, la corretta configurazione è data ovviamente dal valore 1 per il campo Metallic, dal colore dei suoi riflessi speculari specificato in Base Color e da un valore di Roughness scelto in base alla lucentezza della sua superficie, ossia basso per un metallo lucido e alto per un metallo opaco o spazzolato. In queste condizioni, il valore del parametro Specular è ininfluente.
Per quanto riguarda i materiali non metallici, in quel caso Specular consente di controllare l'intensità della loro riflettività. Il valore predefinito nei nuovi Material di Unreal è 0.5 e rappresenta il 4% di riflettività speculare. Quest'ultima frase, riportata così nella documentazione online di Unreal, genere ancora più confusione. Com'è possibile che un valore di 0.5, nel range da 0 a 1, per il campo Specular, corrisponda al 4%, che dovrebbe essere 0.04?
Il fatto è che il valore di riflettività reale che verrà utilizzato da Unreal è dato dal valore Specular che impostiamo nel Material moltiplicato per 0.08. Il valore 0.08 rappresenta la riflettività massima per i materiali dielettrici in Unreal nel punto in cui l'angolo di incidenza è 0, ossia quando la superficie è inquadrata frontalmente. Man mano che l'angolo aumenta, aumenta anche la riflettività, in accordo con la legge di Fresnel, e di questo aspetto se ne occupa in automatico Unreal. Quindi, quando vedete questo campo, in realtà state impostando un valore di riflettività compreso tra lo 0% e l'8% per la superficie quando questa è inquadrata frontalmente.
Ad ogni modo, il valore 0.5 impostato di default, e che corrisponde quindi ad una riflettività del 4%, va bene per la maggior parte dei materiali non metallici, come plastica, vetro, gomma, legno, ceramica, pelle umana e altro. Se impostiamo Specular a 1 otteniamo una riflettività massima dell'8%, generalmente raggiunta dai diamanti, qualche gemma e pochi altri materiali. Il valore Specular non andrebbe mai impostato al di sotto di 0.25, corrispondente ad una riflettività del 2% quando l'angolo di incidenza è 0.

In definitiva: potete pensare a Specular come al "quanto forte" viene riflessa la luce e a Roughness come al "quanto nitida o diffusa" è questa riflessione. A meno che non conosciate il valore preciso di riflettività del materiale non metallico che volete creare, lasciate il valore di default, ossia 0.5, per il parametro Specular. Se invece conoscete quel valore, dividetelo per 0.08 per ottenere il valore da impostare nel parametro Specular. Ad esempio, per l'acqua abbiamo il 2%, quindi dobbiamo fare 0.02 diviso 0.08, ottenendo 0.25.
Bene, anche per questo breve video è tutto! Se vi è stato utile, potete ringraziarmi con un bel Like e iscrivendovi al canale! Ricordate di attivare le notifiche, così da non perdere i prossimi videotutorial! A presto!