Introduzione alla Grafica 3D - Dipartimento di Informatica

Informatica Grafica
per le arti
Introduzione alla
Grafica 3D
Il processo di lavorazione
La realizzazione di grafica tridimensionale
e' un processo molto complicato che
richiede notevole potenza di calcolo.
Generare un'immagine tridimensionale
puo' richiedere molto tempo.
Marco Gribaudo
[email protected]
Il processo di lavorazione
Il processo di lavorazione
Il processo di lavorazione viene quindi
suddiviso in due fasi:
La costruzione consiste nella definizione
del "mondo virtuale" che si vuole
rappresentare.
Costruzione (modellazione)
Generazione (simulazione e rendering)
E' la fase che richiede piu' lavoro da parte
del disegnatore, ma non impegna
particolarmente il computer.
Il processo di lavorazione
Il processo di lavorazione
La fase di costruzione e' a sua volta
suddivisa in numerose attivita' distinte. Le
piu' importanti sono: Modellazione Texturing - Illuminazione - Rendering Rigging - Blocking - Animazione - Clothing Dinamica - Special EFX - Compositing...
Le attivita' della fase di costruzione
servono solamente a definire il mondo
virtuale. Una volta che esso e' stato
costruito, occorre "rappresentarlo".
Ogniuna di esse richiede abilita' distinte e
competenze specifiche!
La fase di generazione esegue le
operazioni (matematiche) necessarie per
creare gli elementi con i quali produrre
una vista del mondo modellato.
Il processo di lavorazione
Il processo di lavorazione
Questa fase richiede un grandissimo
lavoro da parte del computer (in alcuni
casi occorrono anche giorni).
Molte delle attivita' svolte nella fase di
costruzione (Rendering - Clothing Dinamica - Special EFX - Compositing...)
hanno associata una fase di generazione.
Il disegnatore deve solamente "aspettare"
che il computer abbia finito di generare
l'immagine.
Normalmente questa attivita' prende il
nome di rendering (nel caso di Rendering
e Compositing) o di simulazione (nel
caso di Clothing, Dinamica o Special
EFX).
Il processo di lavorazione
Il processo di lavorazione
La Modellazione si occupa della
definizione dei modelli tridimensionali che
compongono una scena.
Il Texturing "dipinge" i modelli applicando
immagini opportunamente disegnate od
acquisite.
Esistono numerose tecniche di
modellazione. Le principali si chiamano:
poligonale, NURBS e subdivison
surface.
Una componente fondamentale di tale
lavoro consiste nello stabilire il modo in
cui le immagini vengono applicate sui
modelli 3d (definizione delle coordinate
di mappatura).
Il processo di lavorazione
Il processo di lavorazione
Nella fase di Illuminazione si stabiliscono
le fonti luminose che illuminano la scena.
Nel Rendering si stabilisce il modo in cui
le texture reagiscono alle sorgenti
luminose che le illuminano.
Vi sono numerosi modi in cui si puo'
illuminare una scena per ottenere effetti
piu' o meno realistici. L'esperto di
illuminazione conosce queste tecniche e
sa selezionare quella piu' opportuna.
Il compito di questa fase e' di fare in modo
che i modelli sembrino costituiti da
materiali specifici e presentino il livello di
realismo desiderato. Inoltre, l'esperto di
rendering sa come ottimizzare una scena
per ridurne il tempo di generazione.
Il processo di lavorazione
Il processo di lavorazione
Una volta costruiti i modelli ed applicate
loro le texture, occorre "muoverli" per
creare un'animazione.
Il Blocking stabilisce la posizione nella
scena dei vari modelli tridimensionali che
la compongono.
Nella fase di Rigging, si stabiliscono i
controlli che un animatore avra' a
disposizione per posizionare i modelli.
Esso determina anche la posizione delle
inquadrature e gli spostamenti delle
"cineprese virutali" che riprendono la
scena.
Il processo di lavorazione
Il processo di lavorazione
L'Animazione crea i movimenti veri e proprii
dei modelli tridimensionali, utilizzando i controlli
creati nella fase di rigging.
Per quanto un animatore possa essere bravo,
non riuscira' mai a rendere un livello di realismo
elevato nel simulare alcune (anche semplici)
leggi fisiche.
Vi sono diversi livelli di animazione: si parla
generalmente di animazioni primarie (es. lo
spostamento degli arti di un personaggio
durante una camminata) e secondarie (es. le
palpebre degli occhi).
Nella fase di Dinamica, vengono associate
proprieta' fisiche ai modelli, in modo che
opportuni strumenti software possano simulare
il loro comportamento in caso di urti,
deformazioni, forze etc.
Il processo di lavorazione
Il processo di lavorazione
Quando si creano personaggi virtuali, e li
si "veste" con modelli di indumenti, questi
possono risultare molto difficili da animare
in modo realistico.
Altre due fasi di creazione che si utilizzano
quando si creano personaggi sono quelle
di Hair e di Fur.
Nella fase di Clothing si utilizzano
particolari strumenti capaci di simulare le
leggi fisiche che deformano i vestiti al fine
di ottenere animazioni piu' realistiche.
La prima definisce come simulare la
dinamica che muove capelli, acconciature,
corde ed altre superfici filiformi. La
seconda invece simula superfici pelose,
come le pellicce degli animali.
Il processo di lavorazione
Il processo di lavorazione
Se poi la scena e' composta da un gran numero
di elementi "coscenti" (un pubblico, un esercito,
una mandria di animali), diventa praticamente
impossibile animarli singolarmente.
Gli Special EFX si occupano invece di
creare effetti speciali come fuoco, fumi,
fluidi, scarice elettriche.
Con le tecniche di Crowd si associano semplici
movimenti ed elementi di intelligenza artificiale
per creare automaticamente questo tipo di
animazioni.
Per creare questi si utilizzano strumenti
particolari come emettitori di particelle,
contenitori di fluidi.
Il processo di lavorazione
Il processo di lavorazione
Una volta creati tutti i singoli elementi
separatamente, occorre metterli insieme
per generare la scena finale.
Ormai quasi tutti i programmi di grafica di alto
livello (3D Studio, Maya, Lightwave, XSI,
Blender, Renderman, Cinema 4D...) mettono a
disposione strumenti per realizzare quasi tutte
le fasi riportate in precedenza!
Nella fase di Compositing si miscelano i
vari elementi definiti in precedenza per
creare il filmato definitivo.
Introduzione a Blender
Blender e' un programma per la creazione
e l'animazione di modelli tridimensionali
open-source, ed e' uno degli strumenti piu'
diffusi.
Pur non essendo un pacchetto a
pagamento, esso e' uno strumento
estremamente potente, ma anche
piuttosto complesso.
E' quindi diventato ormai praticamente
impossibile conoscere a fondo il funzionamento
di tali strumenti. Generalmente ogni esperto si
limita padroneggiare le modalita' in cui questi
vengono sfruttati nella fase di sua comptenza.
Introduzione a Blender
La sua interfaccia grafica e' suddivisa in finestre,
liberamente configurabili.
Introduzione a Blender
Ogni finiestra e' contraddistinta da una parte chiamata
"barra del titolo", dove sono posti una serie di controlli
standard.
Introduzione a Blender
Ogni pagina di lavoro e' dotata di una sua propria
barra dei menu, e di una serie di pulsanti.
Introduzione a Blender
In particolare e' possibile
selezionare quale pagina di
lavoro andare a visualizzare in
quella finestra.
Introduzione a Blender
I menu possono essere nascosti premendo il triangolino alla
loro sinistra.
Introduzione a Blender
Introduzione a Blender
Alcune pagine di lavoro sono divise in pannelli (es. la
pagina "Buttons") che possono a loro volta essere
suddivisi in sotto-pannelli. Questi si selezionano
attraverso i pulsanti a fianco dei menu.
Alcuni pannelli sono a loro volta suddivisi in schede,
aumentando ulteriormente il numero di voci proposte
all'utente.
Pannelli
Sotto-pannelli
Introduzione a Blender
E' possibile variare la dimensione di una finestra
posizionando il mouse sul suo bordo e premendo LMB
(pulsante sinistro del mouse).
Introduzione a Blender
Esistono una serie di Layout predefiniti, selezionabili
dall'apposito menu' a tendina.
Introduzione a Blender
Si possono aggiungere e rimuovere finstre
suddividendole o combinandole attraverso il menu
contestuale che si ottiene premendo il RMB (tasto
destro del mouse) sul loro bordo.
Introduzione a Blender
E' possibile creare nuovi Layout selezionando la voce
"ADD NEW". L'opzione "Empty" creera' un nuovo
layout vuoto, mentre invece "Duplicate" duplichera'
quello corrente.
Introduzione a Blender
La visualizzazione 3D
I Layout non utilizzati, possono essere rimossi
semplicemente premendo il pulsante a forma di croce
dopo averli selezionati.
La schermata principale di lavorazione e' quella
denominata 3D View.
Essa fornisce una vista di cio' che sta venendo
modellato nello spazio tridimensionale.
E' fondamentale imparare a cambiare il punto di
vista, in modo da poter osservare gli oggetti 3D
da angolazioni diverse.
La visualizzazione 3D
La visualizzazione 3D
Per l'interazione con la schermata 3D, Blender
richiede l'utilizzo di un Mouse a 3 tasti (meglio ancora
con la rotellina, che generalmente puo' essere
premuta per ottenere la pressione del terzo tasto).
Qualora il vostro mouse non disponga del tasto
centrale, e' possibile premere ALT+LMB per emularlo.
RMB
MMB
MMB
=
LMB
ALT + LMB
La visualizzazione 3D
La visualizzazione 3D
Il movimento del mouse combinato alla pressione del
tasto centrale (MMB), o della combinazione per emularlo
(ALT + LMB), permette di ruotare la visualizzazione.
La rotazione e' differente a seconda che ci si prema il
tasto partendo dal centro o dai bordi dello schermo.
La visualizzazione 3D
La visualizzazione 3D
Per translare la visualizzazione, occorre premere
SHIFT + MMB (o SHIFT + ALT + LMB) muovendo il mouse.
Lo zoom si effettua premendo CTRL + MMB (o CTRL +
ALT + LMB) muovendo il mouse in verticale, oppure
ruotando la rotellina.
La visualizzazione 3D
Se si perdono di vista gli oggetti, e'
sempre possibile centrare la
visuale su tutti gli oggetti della
scena slezionando la voce "View
All" dal menu "View", oppure
premendo il tasto HOME sulla
tastiera.
Proiezioni
Lo schermo del calcolatore e' in grado di
visualizzare immagini bidimensionali.
In grafica 3D si modellano oggetti in tre
dimensioni.
Le proiezioni sono un meccanismo con
cui costruire una vista bidimensionale di
un mondo tridimensionale.
Proiezioni
Esistono due classi principali di proiezioni:
Proiezioni parallele
Proiezioni prospettiche
La visualizzazione 3D
I comandi di traslazione, zoom e mostra tutto,
funzionano su tutte le visuali e non solamente su
quella 3D. Questo puo' essere utile per mostrare le
opzioni non immediatamente visibili in un pannello.
Proiezioni
Ogni proiezione e' caratterizzata da un
insieme di raggi di proiezione e da un
piano di proiezione.
La visione 2D del mondo 3D corrisponde
all'intersezione dei raggi di proiezione con
il piano di proiezione.
Proiezioni
Nelle proiezioni parallele i raggi di
proiezione sono tutti paralleli tra loro.
Proiezioni
Nelle proiezioni prospettiche i raggi di
proiezione non sono paralleli, ma passano
tutti per uno o piu' punti.
Proiezioni
Le proiezioni parallele si dividono a loro
volta in due sottoclassi:
Ortografiche
Oblique
Proiezioni
Proiezioni
Nelle proiezioni ortografiche i raggi di
proiezione sono perpendicolari al piano di
proiezione.
Nelle proiezioni oblique i raggi di
proiezione sono inclinati rispetto al piano
di proiezione.
Proiezioni
Proiezioni
Le proiezioni ortografiche piu' importanti
sono le proiezioni ortogonali.
In questo caso i raggi di proiezione sono
perpendicolari alle superfici pricipali
dell'oggetto.
Esistono 6 tipi diversi di proiezione
ortogonale, ma normalmente ne vengono
utilizzati solamente 3:
Prospetto
Profilo
Pianta
Proiezioni
Il prospetto corrisponde ad una visione "frontale"
dell'oggetto. In Blender prende il nome di Front.
Proiezioni
Il profilo mostra l'oggetto visto lateralmente. In
Blender e' chiamata Side.
Proiezioni
In Blender le proiezioni
ortogonali si selezionano dal
menu View.
Proiezioni
La pianta visualizza invece una visione "dall'alto"
dell'oggetto stesso. In Blender, essa e' denominta Top.
Proiezioni
Normalmente le tre
proiezioni ortogonali
vengono rappresentatte
contemporaneamente in
modo da dare una visione
globale dell'oggetto.
Blender pero' non dispone
di una visuale simile di
default, ed essa va
costriuta suddividendo le
finestre come visto prima.
Proiezioni
L'assonometria isometrica e' una
proiezione ortografica in cui i raggi non
sono perpendicolari alle direzioni principali
dell'oggetto raffigurato.
Questo tipo di rappresentazione e' in
grado di visualizzare tutte le facce di un
oggetto contemporaneamente.
Proiezioni
In assonometria isometrica i tre assi
formano un angolo di 120 gradi l'uno con
l'altro.
Proiezioni
La proiezione obliqua piu' importante e'
detta assonometria cavaliera.
Proiezioni
Proiezioni
In questo caso gli assi x e y vengono
rappresentati come nella proiezione ortogonale
frontale.
L'asse z viene raffigurato lungo una retta a
45 gradi. Le lunghezze lungo l'asse z
vengono dimezzate.
Proiezioni
Proiezioni
Le proiezioni assonometriche in Blender si ottengono
ruotando una visuale parallela.
Le proiezioni prospettiche sono
caratterizzate dal numero di punti da cui
partono i raggi di proiezione:
Frontale
Accidentale
Razionale
Proiezioni
Proiezioni
Nelle visioni frontali esiste un solo centro
di proiezione.
Le visioni accidentali hanno due centri di
proiezione.
Proiezioni
Proiezioni
Tre centri di proiezione contraddistinguono
le proiezioni razionali.
Livelli di qualita'
Per fornire in tempi ragionevoli delle
anteprime dei modelli su cui si sta
lavorando, i programmi permettono di
scegliere tra diverse tecniche di
visualizzazione.
Ogni tecnica determina la complessita' dei
calcoli necessari a visulizzare gli oggetti.
In blender, ogni visuale puo'
essere cambiata da
ortogonale a prospettica
utilizzando le apposite voci del
menu View.
Livelli di qualita'
In Blender, i livelli di qualita' vengono impostati da un
apposito pulsante sulla barra della visuale 3D.
Livelli di qualita'
In modalita' bounding box, tutti gli oggetti vengono
approssimati da parellelepipedi che ne determinano
l'ingombro.
Livelli di qualita'
La tecnica solid visualizza con colorazione uniforme
le facce degli oggetti.
Livelli di qualita'
In modalita' wireframe vengono mostrati solamente i
contorni degli oggetti.
Livelli di qualita'
In modalita' shaded viene effettuato il calcolo delle luci,
tenendone conte nelle sfumature. In assenza di luci, gli
oggetti apriranno neri.
Livelli di qualita'
Livelli di qualita'
Se vi sono delle immagini posizionate sugli oggetti, esse
vengono visualizzate in modalita' textured.
Il rendering finale aggiunge tutti quegli effetti di luce e
di ombre, complessi da simulare in tempo reale, che
rendono l'immagine generata piu' realistica.
Livelli di qualita'
Esso si ottiene premendo un pulsante inserito in una
speciale sotto-scheda della pagina Buttons.