| Documentazione di Blender Volume I - Guida Utente: Ultima modifica 5 Settembre 2005 | ||
|---|---|---|
| Indietro | Capitolo 13. Il Mondo e l'Universo | Avanti |
L'Occlusione Ambiente è una sofisticata imitazione dell'ambiente che simula una morbida illuminazione globale considerando la quantità di cielo (che si assume essere la sorgente di luce) visito da un dato punto.
Questo in realtà viene fatto disperdendo i raggi da ciascun punto visibile, e contando quanti di esse raggiungono realmente il cielo, e quanti vengono però ostruiti dagli oggetti. La quantità di luce sul punto è quindi proporzionale al numero di raggi 'sfuggiti' che hanno raggiunto il cielo.
Questo viene fatto sparando intorno una semisfera di raggi-ombra. Se il raggio colpisce un'altra faccia (viene occluso) allora il raggio viene considerato 'ombra', altrimenti viene considerato 'luce'. Il rapporto tra raggi 'luce' ed 'ombra' definisce quanto sia luminoso un dato pixel.
Le impostazioni dell'Occlusione Ambiente (AO) stanno nel Contesto di Shading, Sub-contesto della Pulsantiera World, nel Tab Amb Occ. Per default l'AO è disabilitata, il Tab si riempie di molti pulsanti (Figura 13-11).
I raggi vengono sparati sulla semisfera secondo una disposizione casuale, questo provoca delle ragionevoli differenze nel motivo [pattern] dell'occlusione dei pixel vicini, a meno che il numero di raggi sparati sia abbastanza grande d produrre dei buoni dati statistici. Ecco perché l'AO produce un pattern granulare, apparendo come sporco, se i raggi sono insufficienti. Il numero di raggi sparati viene controllato col Pulsante Numerico Samples (Campioni). Il valore 5 di default di solito è buono per le anteprime. La reale quantità di raggi sparati è il quadrato di questo numero (cioè Samples=5 significa 25 raggi). La figura Figura 13-12 mostra una semplice scena con l'aumentare del numero di campioni. Ovviamente il tempo di rendering aumenta con l'aumento del numero di campioni!
I Pulsanti Dist, Use Distances consentono un controllo preciso dell'ombreggiatura definendo un comportamento dipendente dalla distanza ed un'attenuazione nell'occlusione.
La fila di pulsanti radio Add, Sub e Both controllano il funzionamento dell'occlusione:
Add - Il pixel riceve la luce secondo il numero di raggi non ostruiti. La scena è più luminosa.
Sub - Il pixel riceve ombra (luce negativa) secondo il numero di raggi ostruiti. La scena è più scura.
Both - Hanno luogo entrambi gli effetti, la scena resta più o meno della stessa luminosità.
Nota: Se viene scelto Sub allora ci deve essere qualche sorgente di luce da qualche parte, altrimenti la scena sarebbe nera come la pece. Negli altri due casi la scena è illuminata anche se non è presente alcuna luce esplicita.
La fila di pulsanti radioPlain, Sky Color e Sky Texture controllano il colore della luce:
Plain - Il pixel riceve luce bianca pura secondo il numero di raggi non ostruiti.
Sky Color - Il pixel riceve luce colorata, il colore viene calcolato secondo la porzione di cielo colpita dai raggi non ostruiti (Figura 13-13).
Sky Texture - Dev'essere presente una texture Immagine del cielo, possibilmente una AngMap o una Mappa Sferica. Funziona come Sky Color ma il colore del raggio dipende dal colore del pixel colpito della texture del Cielo.
Figura 13-13. Ambient Occlusion col Colore del Cielo. Lo Zenith è blu, l'Orizzonte è arancione, ed il tipo è Blend in modo che il cielo diventa totalmente arancione al Nadir.

Lo slider Energy controlla la reale quantità di luci/ombre create dalla procedura AO.
Dato che la AO avviene sulla mesh sfaccettata originale è possibile che la luce della AO renda visibili le facce anche su oggetti con 'smooth' attivato. questo è dovuto al modo con cui vengono sparati i raggi dell'AO, e può essere controllato con lo Slider Bias. L'impostazione del bias consente di controllare la 'levigatura' con cui appariranno le facce nel rendering AO. Il bias denota l'angolo (in radianti) di maggior restrizione della semisfera. Valori tra 0.05 e 0.1 di solito funzionano bene (Figura 13-14).
Da notare che questo è solo un raytracing, quindi tende ad essere lento. Inoltre le prestazioni dipendono gravemente dalla dimensione di Octree, si veda il Capitolo sul Rendering per altre informazioni.