Il punto di partenza di questo tutorial sono due mattoncini Lego da un workshop di modellazione precedente. Troverete il file di origine nel pacchetto dei file di lavoro per questo tutorial. In realtà non c'è nulla da obiettare alla modellazione dei mattoncini Lego, ma i giocattoli sembrano molto più autentici quando hanno segni d'usura come piccoli graffi, spigoli consumati e zone opache.
Configurazione del shader Inverse AO
Come già accennato, il Ambient Occlusion Inverso (AOI) ci fornirà le zone particolarmente colpite dai segni d'usura. Per poter valutare correttamente il lavoro del shader, ci concentriamo anzitutto sull'AOI, Il mattoncino Lego verde è l'opzione migliore, motivo per cui nel materiale verde corrispondente del mattoncino disabilitiamo temporaneamente tutti i canali di materiale attivi nella Base-Pagina e attiviamo invece il canale Luminoso-.
Nel canale Luminoso- del materiale apriamo il menu Shader- attraverso il pulsante Testur- e nel sottomenu Effetti selezioniamo il Shader Ambient Occlusion-. L'Ambient Occlusion inversa non è quindi un singolo shader separato, ma una piccola e raffinata impostazione all'interno del normale Shader Ambient Occlusion-.
Dopo aver caricato il Shader Ambient Occlusion- zoomiamo nella vista dell'Editor- per avvicinarci al mattoncino Lego e avviamo un primo test di rendering. Poiché il AO-Shader funziona in modalità normale, otteniamo naturalmente al momento solo le aree d'ombra del mattoncino Lego.
Per mettere in evidenza la differenza tra i due metodi di lavoro, apriamo cliccando sul pulsante Shader- o espandendo l'area Testur- il Shader Ambient Occlusion- e attiviamo innanzitutto l'opzione Direzione opposta.
Avviamo un altro test di rendering nella vista Editor- e otteniamo così l'Ambiente Occlusion che lavora in Direzione opposta. Come dimostra il confronto tra i due rendering, l'IAO non è semplicemente un AO invertito, ma un metodo di lavoro completamente diverso. Tuttavia, l'IAO determinata non è ancora del tutto utile per i nostri scopi, per cui ci occuperemo ora del perfezionamento.
Dato che i nostri mattoncini Lego dovrebbero principalmente mostrare i segni d'usura agli angoli e ai bordi, le aree grigie marcate in superficie sono fastidiose. Come primo passo, riduciamo la Lunghezza massima dei raggi a 30 cm.
Per valutare l'effetto di questa modifica, eseguiamo nuovamente un test di rendering nella vista Editor-. Le zone scure si trovano ora principalmente agli angoli e ai bordi del mattoncino Lego, come desiderato, tuttavia le aree grigie potrebbero essere più scure.
Lo facciamo tramite il cursore Colore- nel Shader Ambient Occlusion. Spostiamo il cursore del nero verso destra per rafforzare in modo mirato le zone scure.
In questa occasione attiviamo inoltre l'opzione Solo auto-ombreggiatura. Poiché il mattoncino blu poggia sul mattoncino verde, questo influenzerebbe indesideratamente il calcolo dell'AO.
Come dimostra un altro test di rendering, le modifiche hanno funzionato come previsto, quindi possiamo procedere con lo shader AO Inverso ormai completato per la generazione dei segni d'usura.
Estensione dello shader per i segni d'usura
Per ora rimaniamo nel canale Luminoso-, poiché questo tipo di visualizzazione si è già dimostrato utile per valutare lo Shader AOI-. Per poter processare lo shader IAO completato con ulteriori shader, chiamiamo uno shader Piano- dal pulsante Testur- sullo shader Ambient Occlusion-.
Dopo aver cliccato sul pulsante Shader- dello shader Piano-, accediamo alla gestione del piano dello shader. Lo Shader IAO- che abbiamo creato è già presente come piano. Attraverso il pulsante Shader... creiamo un secondo piano con uno shader Noise-.
Con il Noise standard non siamo soddisfatti dei nostri segni di usura naturali. Cliccando sulla piccola anteprima dello shader, accediamo alle impostazioni dello shader Noise- e scegliamo lì lo stile Nutous, che si adatta molto meglio. Usiamo una dimensione globale dell'80%, lasciando gli altri parametri ai valori predefiniti.
Cliccando sulla freccia rivolta verso l'alto nell'angolo in alto a destra, torniamo alla gestione dei livelli e notiamo che lo shader Noise-, a causa della modalità di fusione, copre completamente lo shader Ambient Occlusion-.
In realtà, abbiamo bisogno dello shader Noise- per modificare in modo mirato lo shader IAO- - questo compito è svolto per noi dalla modalità di fusione Levr.
Verifichiamo in un rendering di prova come ciò influisca esattamente sullo shader di occlusione ambientale inversa. Poiché lo shader Noise- agisce sullo shader IAO- al 100%, il risultato è troppo contrastato, non ci sono toni intermedi.
Tuttavia, tornando alla finestra di dialogo delle impostazioni dello shader dell'Elemento-, questo è rapidamente corretto. Un valore del 40% per la modalità di fusione Levr lascia abbastanza spazio per le tonalità di grigio medie.
Con questa combinazione di shader finita, possiamo finalmente applicare i segni di usura sui nostri mattoncini Lego 3D.
Poiché in questo momento siamo ancora nel canale Light-, ma vogliamo utilizzare il nostro shader per i segni di usura in altri canali materiali, lo copiamo tramite il menu Shader- nel pulsante Texture- con il comando Copia shader/immagine.
Creazione dei segni di usura tramite il canale alpha
In Cinema 4D ci sono molti modi per raggiungere lo stesso obiettivo. Ad esempio, potremmo utilizzare il nostro shader dei segni di usura nello stesso modo nel canale Colore- come elemento. In questo tutorial ho scelto il canale alpha, così possiamo lavorare in modo flessibile sovrapponendo vari materiali.
Nella pagina di base del materiale del mattoncino Lego verde disattiviamo il canale Luce non più necesario e riattiviamo invece i canali Colore e Riflessività. Attiviamo il canale alpha per entrambi i materiali Lego per il nostro shader dei segni di usura.
Poiché vogliamo utilizzare lo shader dei segni di usura per entrambi i mattoncini Lego, selezioniamo entrambi i materiali Lego nel Gestore materiali per poterli modificare contemporaneamente. Nel canale alpha attivato, inseriamo il nostro shader dei segni di usura tramite il comando Inserisci shader/immagine dal menu Shader del pulsante Texture.
Dopo aver inserito lo shader dei segni di usura per entrambi i materiali, dobbiamo ancora disabilitare l'opzione Immagine alpha in modo che lo shader caricato come texture sia interpretato correttamente.
I materiali principali per i segni di usura sui mattoncini Lego sono ora pronti. Se ora facciamo un rendering di prova, vediamo che nei punti esposti dal IAO non c'è materiale sui mattoncini Lego. Infatti, per una corretta applicazione dello sporco, questo sarebbe già sufficiente.
Materiale per i segni di usura
Tuttavia, in questo tutorial vogliamo concentrarci su aree consumate e graffi. Mentre i primi due materiali Lego coprono la superficie intatta, i prossimi due materiali si concentreranno sui segni di usura. Per questo, nel Gestore materiali ho già preparato due materiali leggermente più chiari, uno verde e uno blu. Per entrambi i materiali, evitiamo i riflessi generati dal canale Riflessività per sottolineare il look opaco e usurato.
Assegniamo entrambi i materiali Lego trascinandoli dal Gestore materiali all'Gestore oggetti ai rispettivi mattoncini Lego e facciamo attenzione alla corretta sequenza dei Tag. Poiché il materiale dei segni di usura assegnato dovrebbe essere un livello inferiore al materiale Lego intatto, il suo Tag testurizzato viene posizionato a sinistra nel Gestore oggetti.
Nel prossimo rendering di prova, è evidente che il nostro materiale Lego leggermente più chiaro è visibile in tutti i punti esposti. Ora i nostri mattoncini Lego non sembrano sporchi, ma usati dal gioco.
Ora ci siamo occupati degli sfregamenti di plastica causati dal gioco, tuttavia può succedere che i giocattoli siano esposti a un uso più ruvido e si rovinino con ammaccature e graffi. Qui ci viene in aiuto di nuovo lo shader impronte d'uso da noi creato.
Nel caso in cui lo shader di impronte d'uso non sia più presente negli appunti, possiamo semplicemente copiarlo dal canale Alpha di un materiale Lego tramite il comando Copia shader/immagine nel menu Shader del pulsante Texture.
Successivamente selezioniamo i due materiali più chiari della versione del materiale usurato tramite il Gestore materiali e attiviamo sul lato base della finestra di impostazioni il canale Rilievo per entrambi i materiali.
Utilizzando il comando Incolla shader/immagine nel menu Shader del pulsante Texture, inseriamo lo shader copiato come texture nel canale Rilievo di entrambi i materiali.
Sulla base dello shader per i segni di usura possiamo facilmente creare una variante per le ammaccature e i graffi generati tramite il canale Rilievo. Sapendo come funziona la modalità di fusione Levr, dovremmo aumentare leggermente il contrasto per ridurre la Bump-Map generata in graffi in questo modo. Alziamo il livello Levr al 60%.
Per rendere ancora più distanziati i graffi, apriamo le impostazioni dello shader Rumore e impostiamo il Clipping in basso al 30%. Come già si può vedere nell'anteprima, le aree più chiare vengono tagliate o ridotte in modo mirato.
A questo punto, la derivazione dello shader destinata alle ammaccature e ai graffi è già impostata, quindi dobbiamo solo determinare l'intensità del canale Rilievo – io sono rimasto con l'impostazione predefinita del 20%. Le nuove funzionalità Parallasse della release 18 sono menzionate solo per completezza, poiché per questo caso d'uso non vi è alcuna differenza di qualità visibile qui.
Non voglio certo maltrattare ulteriormente i mattoncini Lego in questo tutorial. Come mostra il primo piano, i piccoli graffi e scheggiature danno ai mattoncini Lego l'ultimo 'ritocco' desiderato, …
… che aumentano notevolmente la credibilità del nostro rendering finale.