Chaos Corona 8 – Corona Decal

CORONA CHAOS E L'OGGETTO CORONA DECAL

Tabella dei contenuti

Corona DECAL - INTRODUZIONE

L’oggetto Corona Decal (CDecal) permette di proiettare una texture su un oggetto senza che quest’ultimo abbia la necessità di avere coordinate di mappatura UV valide. La texture proiettata dal Corona Decal è inserita in un cuboide regolabile (gizmo) che ne controlla dimensioni, posizionamento e limiti di proiezione.

Apriamo il file CoronaDecal.max e avviamo il render interattivo di Corona (Fig. 01).

Fig. 01 - Screenshot del file CoronaDecal.max. Nell’esempio in figura, il Corona Decal è stato texturizzato con un materiale "CoronaPhysicalMtl". Al suo interno ci sono due texture: una nel canale "Base color" e una nel canale "Opacity".

Il Corona Decal è rappresentato in viewport da un box, con la faccia superiore texturizzata dalla decalcomania che si intende proiettare sulle geometrie riceventi (target). Per crearlo è sufficiente cliccare sulla relativa icona nella toolbar di Corona 8 oppure andare in TAB Create → Geometry → Corona → CDecal (frecce arancioni). Premendo il tasto CTRL mentre si trascina il mouse, la creazione inizierà dal centro geometrico dell’oggetto Corona Decal.

In questo esempio, il pivot del gizmo non è centrato, ma si trova a 30cm dalla faccia superiore del Corona Decal (altezza totale di 100cm) poiché il parametro Pivot offset è impostato, di default, a 0.3 (in un scala da 0 a 1) (pag. 774 di Corona: LA GUIDA COMPLETA). In questo modo sarà più facile selezionare l’oggetto Corona Decal in viewport, evitando inoltre che la decalcomania si sovrapponga con gli oggetti target (in questo caso, Floor). Infatti, bisogna pensare al gizmo del Corona Decal in modo tridimensionale, immaginandolo come un volume cubico all’interno del quale la decalcomania viene proiettata in verticale su tutte le geometrie che si trovano al suo interno. Ed è secondo questo principio che sia il pavimento sia la teiera (frecce viola) sono stati texturizzati dal graffito giallo.

Proseguiamo con l’esercizio disattivando il layer CDecal_Start e attivando il layer CDecal_Samples: clicchiamo Render. Per una comprensione completa di questo oggetto dobbiamo osservare contemporaneamente sia il render (Fig. 02) sia le viewport ortogonali di 3ds Max (Fig. 03).

Fig. 02 - Render degli oggetti inseriti nel layer CDecal_Samples.
Fig. 03 - Screenshot della viewport con il layer CDecal_Samples attivo. Nota: in viewport, la scritta VICTOR pare si trovi di fronte al graffito giallo, ma è solo un problema di visualizzazione.

Iniziamo dal Corona Decal di colore ciano. Esso è orientato verticalmente con parte del suo volume che si trova sopra il muro. Metà del Corona Decal cade “dentro” la parete. Come risultato, la lettera M del graffito è stata proiettata per circa 50 cm sulla parte superiore dell’oggetto target (freccia ciano).

Continuiamo con il Corona Decal giallo (freccia gialla) e magenta (freccia magenta). Questi due oggetti sono anch’essi posti verticalmente, con il graffito giallo che si trova di fronte alla scritta VICTOR: nel render, la lettera R è stata coperta dal graffito. Si può quindi comprendere che la posizione geometrica del gizmo è di fondamentale importanza per decidere chi si sovrappone a cosa.

Il prossimo esempio rappresenta la somma dei precedenti due sistemi. Infatti, il Corona Decal blu si trova sotto al gizmo rosso, il quale compenetra i barili (freccia rossa in Fig. 03): i barili sono stati texturizzati per qualche decina di centimetri dalla base dalla decalcomania rossa (frecce verde in Fig. 02).

Se guardiamo con attenzione, notiamo come il Corona Decal giallo sia più spesso del muro, oltrepassandolo. Generiamo quindi un nuovo render, utilizzando Corona_Camera_Back come telecamera: il graffito è stato proiettato anche sulla faccia posteriore della parete.

Corona Renderer: LA GUIDA COMPLETA

Corona DECAL - I PARAMETRI

Per la spiegazione dei prossimi parametri disattiviamo il layer CDecal_Samples e attiviamo il layer CDecal. Comparirà un Corona Decal verticale, al quale è stato applicato un CoronaPhysicalMtl con, al suo interno, due mappe: una per il canale Base color e una per i canali Opacity e Displacement.

On – attiva o disattiva il calcolo del Corona Decal durante il rendering (Fig. 04).

Fig. 04 - Gestione della visualizzazione del Corona Decal in rendering.

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

0 object exluded… – premendo questo tasto comparirà la finestra di 3ds Max Exclude/Include. Selezionando un oggetto nella sua parte sinistra e cliccando in seguito il pulsante con doppia freccia verso destra “>>” , è possibile definire quali elementi saranno inclusi o esclusi dall’applicazione della decalcomania. Cliccando sul pulsante “+”  e selezionando un oggetto in viewport è possibile inserirlo nella lista senza aprire la finestra Exclude/Include. Infine, cliccando con il tasto destro del mouse sull’icona “+” comparirà un menu con il quale cancellare tutti gli oggetti della lista, selezionare gli oggetti della lista o aggiungere gli oggetti selezionati in scena alla lista (Fig. 05).

Fig. 05 - Attivazione del menu utilizzando il tasto destro del mouse.

From material – selezionare questa opzione se nel materiale applicato al Corona Decal è presente una mappa opacity (in questo caso una mappa in bianco e nero nel CoronaPhysicalMtl). Il Corona Decal apparirà così trasparente nelle aree dove il colore dell’opacità è nero.

Map – selezionare quest’opzione se si vuole applicare una mappa di opacità differente da quella del materiale assegnato al Corona Decal (Fig. 06).

Fig. 06 - Applicazione di una maschera utilizzando l’opzione "Map" del Corona Decal e non la mappa di opacità del materiale ad esso assegnato.

Replace base displacement – se nell’oggetto target (in questo caso il muro) è presente l’effetto displacement, l’attivazione di Replace base displacement lo rimpiazzerà con quello del materiale applicato al Corona Decal. Viceversa, il displacement del Corona Decal sarà aggiunto a quello dell’oggetto target (Fig. 07).

Fig. 07 - Gestione dell’effetto displacement nel Corona Decal.

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

All’oggetto Wall è stato associato un materiale con il Displacement attivo, grazie al quale è stato possibile generare mattoni 3D. Anche il materiale del CDecal_Graffiti ha una mappa nel canale Displacement. Quando Replace base displacement è disabilitato, l’effetto di displacement del materiale del Corona Decal sarà sommato a quello del materiale target. Ne consegue che entrambi i displacement saranno visibili. In caso contrario, sarà preso in considerazione solo quello del Corona Decal.

Replace base bump – se l’oggetto target (in questo caso il muro) è presente l’effetto bump, attivando quest’opzione lo si rimpiazzerà con quello del materiale applicato al Corona Decal. Viceversa, il bump del Corona Decal sarà aggiunto a quello dell’oggetto target.

Width – parametro che definisce la larghezza del gizmo del Corona Decal (Fig. 08).

Fig. 08 - Parametro "Width".

Height – parametro che definisce la lunghezza del Corona Decal (Fig. 09).

Fig. 09 - Parametro "Height". Siccome il Corona Decal si trova a circa 10 cm dal muro (freccia arancione), anche il pavimento viene interessato dalla decalcomania quando il gizmo lo interseca. Per risolvere questo problema, utilizzare il pulsante "object excluded…" per escludere il pavimento dalla proiezione della decalcomania.

Fit to Bitmap… – cliccando questo pulsante potremo selezionare una texture la quale definirà il rapporto larghezza/altezza del gizmo del Corona Decal.

Fit to assigned mtl – cliccando questo pulsante, il rapporto larghezza/altezza del Corona Decal sarà definito della texture presente nel materiale assegnato.

Depth limit – definisce la profondità del Corona Decal. Ogni oggetto che si trova oltre tale limite non sarà interessato dalla decalcomania.

Selezioniamo la Corona_Camera_Front e impostiamone il parametro Zoom factor=1.5. Spostiamo il Corona Decal da 380 cm a 230 cm sull’asse delle Y. Generiamo differenti render usando Depth limit= 5, 60, 130 e 170 cm (Fig. 10).

Fig. 10 - Modifica della profondità del Corona Decal.

Nel primo test in Fig. 10, poiché il gizmo dell’oggetto Corona Decal non interseca alcuna geometria, la sua texture non compare su nessuna mesh. Quando il parametro Depth limit= 60 cm, l’immagine del graffito compare sul primo barile (frecce verdi). Con Depth limit= 130 cm, tutti i barili sono texturizzati (frecce magenta). Infine, la texture compare anche sulla parete quando Depth limit= 170 cm.

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

Max angle limit – parametro che limita l’angolo di proiezione della decalcomania. Con un angolo di 90 gradi, la texture del Corona Decal comparirà solo sulle facce anteriori degli oggetti target, mentre la texture sarà visibile anche sulle facce posteriori quando l’angolo è di 180 gradi. Con un angolo di 1 grado (valore minimo) la decalcomania è visibile solo sulle facce perfettamente parallele al gizmo del Corona Decal.

Proseguiamo l’esercizio usando le ultime impostazioni in Fig. 10. Per visualizzare meglio l’effetto del parametro Max angle limit, la texture Base color dei barili è stata disabilitata ( Fig. 11).

Fig. 11 - La decalcomania compare sulle superfici curve dei barili all’aumentare del parametro "Max angle limit".

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

Max angle blur – parametro che definisce la quantità di sfocatura in prossimità dei bordi della decalcomania quando è utilizzato il parametro Max angle limit (Fig. 12).

Fig. 12 - Notare l’effetto sfocatura quando si aumenta il parametro "Max angle blur".

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

Show material preview – gestisce la visualizzazione in viewport della texture del Corona Decal (Fig. 13).

Fig. 13 - Il Corona Decal supporta il canale di opacità anche in viewport.

Pivot offset – modifica la posizione del gizmo del Corona Decal, lasciando la posizione del pivot invariata. Valore minimo di 0.0 e massimo di 1.0. Di default è impostato a 0.3 (Fig. 14).

Fig. 14 - Con il parametro "Pivot offset" è possibile spostare il gizmo del Corona Decal.

>> posiziona il mouse sull’immagine per bloccare l’animazione <<

Terminiamo il capitolo sul Corona Decal con una comparazione di due render (Fig. 15). Nel primo ho utilizzato due oggetti Corona Decal e il materiale bianco Wall per la parete. Nel secondo ho disattivato il layer CDecals e applicato il materiale WALL_Composite_Version alla parete, attivandone i modificatori UVW Map_Graffiti e UVW Map_Dirt. Per un’approfondita analisi su questo shader, leggere la parte del libro dedicata alla mappa CoronaMix a pag. 625 del libro Corona: LA GUIDA COMPLETA.

I risultati sono identici, ma il tedioso setup del materiale WALL_Composite_Version, unita alla necessità di applicare e configurare due modificati UWV, la modifica dei vari Map Channel sia a livello shader che geometrico e la poca flessibilità di un sistema basato su mappe, rendono il Corona Decal uno strumento estremamente efficace.

Fig. 15 - Rendering prodotti sia attraverso sia l’oggetto Corona Decal sia un sistema “a layer” generato con la mappa di 3ds Max Composite.

GRAZIE!

Un grazie di cuore agli amici di tutto il mondo che hanno fin’ora creduto nel mio progetto! Vi auguro ore e ore di piacevole studio e lettura.

Francesco Legrenzi
Ingegnere, autore e 3D artist
Corona Renderer: LA GUIDA COMPLETA

Lascia un commento