Master Game Dev 2014/2015 Game Engines
Scenari nei games:
lo scene graph
Marco Tarini
Intro:
trasformazioni spaziali
Funzione matematica
prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D
Es:
traslazioni, scalature, rotazioni, deformazioni varie…
Modellano:
spostamenti (traslazioni)
ri-orientamenti nello spazio (rotazioni) ingrandimenti / rimpicciolimenti (scalature)
isotropiche (uniformi) o anisotropiche (che deformano)
quindi trasformano modelli 3D (applicando ad ogni pos vertice, normale vertice)
queste sono dette “rigide”
(o isometriche)
trasformazioni spaziali
Struttura dati interna:
vedi dopo
(ma, tipicamente: matrici 4x4, quaternioni…)
Features:
leggerissime in memoria(poche decine di bytes)
veloci da applicare a modelli interi (GPU)
dinamicamente, durante il rendering (vertex shader) in genere, si possono facilmente:
interpolare (blend / mix / interpolate) invertire (trovare la trasformaz opposta)
comporre (cumulare)(«chiuse rispetto a composizione»)
si possono vedere come cambi di sistema di coordinate (almeno, una importante classe di trasf: quelle “affini”)
Scene composite:
Composte da molti modelli 3D diversi Tipico uso: ambienti 3D
es. una città, una stanza, l’interno di un palazzo, etc.
ma non solo: un personaggio (modelli 3D per vestiti, accessori), un arnese (modelli 3D per sottopezzi)
Scena composta da molteplici istanze dello stesso modello
idea: evitare di replicare in memoria lo stesso modello associare una trasformazione diversa ad ogni istanza
Modelling di scene composite
spazio mondo (globale) spazio oggetto ruota 1 spazio oggetto automobile
Scene graph
T0
T1 T2
T3 T4 T5 T6
posizonamento della automobile
(rispetto al mondo) posiz. della
ruota (rispetto
all’
automobile)
Nella scena:
- 3 istanze dello stesso
spazio mondo
Scene graph
spazio ogg. 1
spazio
ogg. 4 spazio ogg. 5
spazio ogg. 6
spazio ogg. 7 T0
T1 T2
T3 T4 T5 T6
spazio ogg 3 spazio
ogg 2
spazio mondo
Scene graph
spazio ogg. 1
spazio
ogg. 4 spazio ogg. 5
spazio ogg. 6
spazio ogg. 7 T0
T1 T2
T3 T4 T5 T6
spazio ogg 3 spazio
ogg 2 T0*T3
Scene graph
Struttura ad albero (cioe’ gerarchica)
Nei nodi
(istanze di) modelli 3D
es: riferimenti a modellio anche: luci, telecamera…
Negli archi:
trasformazioni
Modellare una scena 3D
Es, parte del level design nei games Separazione task:
modellatori di «scene props»
fanno i modelli 3D da comporre, es le case producono meshes (+ texutres etc)
modellatori di scenes
compongono i modelli in uno scena graph (assegnando una trasformazione x nodo) prducono lo scene graph
Es: una tavola imbandita
Es: una tavola imbandita
Avendo “prop” Meshes:
piatti, forchette, coltelli sedie
tavoli parete lampadari
Scenegraph da editare
con istanze ripetute per i sottographi
Mondo (scena)
Coppia
di Piatti Coltello Bicchiere Forchetta … Sedia Coperto
Tavolo
Tavolata Stanza
Posto a Tavola
Posto a
Tavola …
Tavolata
Fila
di luci Sei
pareti Fila
di luci
LuceLuce Luce …