domenica 15 novembre 2009

..."il dietro le quinte!" di ogni scenario fotorealistico.

Quanto lavoro occorre per ottenre un buon scenario fotorealistico? La risposta è ovvia: tantissimo! Vi avevo promesso una spiegazione del famoso "dietro le quinte", e anche se in modo sintetico ...tenterò di farlo.
Prima di tuto si pianifica quale settore elaborare e si dovrà già decidere quale sarà la definizione che cercheremo di ottenere, in base alla quale tutte le fasi di lavorazione dovranno adattarsi. La nostra zona prescelta è quella del PELMO, in Val Zoldana e confinante con la Val Fiorentina attraverso il passo Staulanza.
Prima operazione : le mesh, cioè i livelli del terreno, in questo caso della montagna.
Ho avuto la fortuna di conoscere un super-esperto, Daniele Tona, che riesce a fare e costruire mesh di altissimo livello. Vista la scarsa disponibilità di DEM (Digital elevation model) e DTM (Digital Terrain Model) , Daniele, con grande abilità è riuscito a costruire mesh usando le mappe topografiche che riportano le curve di livello (o isopsie) e punti quota.
Ecco un esempio (tratto da un lavoro di Daniele):


A questo punto vengono interpolati tutti i punti (una linea è formata da tantissimi punti) creando un TIN (triangolazione). Tramite alcuni algoritmi, il modello viene “spinto” aumentando la risoluzione ma senza alterare il prodotto finale.
Sotto vediamo una comparazione del risultato ottenuto con i vari tipi di DEM,
quello ottenuto da Daniele è il massimo possibile e attualmente non ne esistono con tale risoluzione.


Usando programmi di editing come Leveller si riesce migliorare ulteriormente il prodotto, ottenendo una precisione impensabile anche nella rilevazione delle quote.
Ecco, nella foto sotto un esempio dell'immagine visualizzata in Leveller con tutte le quote corrette e le "griglie di pendenza":


A questo punto, abbiamo realizzato un ottimo "manichino" o scheletro e adesso...bisogna "vestirlo".
Qui il problema è un po' complesso e Frank ce la deve mettere tutta per avere un risultato accettabile. FSX non è un programma di grafica "panoramica" ma è un simulatore di volo e quindi con tutti i limiti che ben conosciamo!
Rispetto ai precedneti FS, FSX è notevolmente migliorato sotto questo aspetto, arrivando a risoluzioni impensabili con i vecchi FS2002,FS9...e sfruttando questa capacità possiamo ottenere un buon "panorama fotorealistico".
Per realizzare le texture ad alta definizione dobbiamo procurarci del buon materiale fotografico, fortunatamente negli anni ho accumulato molto materiale e quindi, almeno per gran parte, uso mie foto, solitamente foto digitali con risluzioni 4000x3000 circa.
Per applicare le texture allo "scheletro" del Pelmo, occorrono vari passaggi e le procedure non sono sempre facili. Dall'ortofoto originale si prendono tutti i punti di riferimento, il limite delle zone rocciose, i punti sommitali, le creste, le zone miste (neve-roccia)...insomma tutti quei dati che ci possono servire.
Ecco come potrebbe essere il mio "foglio di lavoro" :


Inizia l'applicazione delle texture facendo molta attenzione a rispettare l'esatta posizione, almeno il massimo possibile. Per poter fare questa operazione si può usare un sistema "visivo" quindi diretto ma con la possibilità di "deformare" la texture tenendo conto dei livelli di pendenza. Questo argomento ho già avuto modo di spiegarlo più volte. Le zone con pendenza oltre il 70%, quindi pareti quasi verticali e addirittura strapiombanti, in FSX (rappresentazione planare) spariscono e nel risultato finale diventano zone sfuocate, "slavate" che tutti ormai siamo abituati a vedere ma che non danno assolutamente un aspetto realistico.
Ad aggravare il problema ed in questo caso sembra paradossale, più la definizione è alta e più diventa difficile trovare una soluzione . La differenza tra LOD11 (le mesh attualmente usate da tutti) e le LOD14 (alta definizione) può determinare un peggioramneto nella visualizzazione della texture, ecco perchè, spiegato in questo esempio:


In pratica, aumentatndo la risoluzione, si possono ottenere molti più livelli di quote e così "far uscire" zone di pendenza (verticali) che le le definizioni inferiori avevano in qualche modo "appianato", rendendo la texture più uniforme.
Per risolvere questo problema o almeno in parte, occorre prima ricompilare le DEM LOD14 (molto definite) in LOD12 mantenendo così una buona definizione e poi georeferenziare le zone di pendenza direttamente sulla texture che vogliamo utilizzare e grazie alla combinazione dei programmi Leveller-GlobalMapper è possibile ottenere una buona aprossimazione. Ecco come appare una texture fotografica dopo il trattamento:


Tutti questi passaggi vanno ripetuti (n volte) per tutte le zone da texturizzare, per una montagna come il Pelmo potrebbero essere necessarie 20-30 ore di lavoro (una decina di serate o anche più)

Una volta completata tutta la zona da coprire, finalmente si può vedere il risultato finale ...


Spero di non avervi annoiato, e almeno di aver dato un'idea di tutto il lavoro che sta "dietro le quinte"... e magari pensare anche a noi quando, volando attorno a qualche montagna, potete avere la percezione di uno scenario "quasi reale"...

8 commenti:

Giuseppe - Agrigento ha detto...

Non pensavo che costruire uno scenario fosse davvero cosi' faticoso. Intuivo che ci fosse bisogno di tempo ma non cosi' tanto impegno. La tua buona volonta' e' ammirevole. Grazie ancora anche a tutti quelli che come te si impegnano con tanta dedizione in questo progetto. Bravi!!!

massimiliano ha detto...

Una quantità di lavoro enorme, ma alla fine si ottengono scenari fantastici. Complimenti ancora e grazie per le spiegazioni, che ci permettono di capire il lavoro "nascosto"!

Stefano Ripamonti ha detto...

Impressionante la mole di lavoro che sta dietro a questi scenari...
Tanto di cappello a te e a tutti gli sviluppatori!

wilm ha detto...

Veramente interessante...(altro che noioso) il dietro le quinte.
Il lavoro che svolgi è impagabile...possiamo solo riconoscerlo e dirti GRAZIE!

Vigilius ha detto...

Questo post è illuminante ed interessantissimoe, tra l'altro, spiega la complessità che c'è dietro il tuo lavoro. Grazie della spiegazione, ora so che non ci riuscirò mai e la mia (nostra) ammirazione per te è scresciuta a dismisura.

Frank Dainese ha detto...

Grazie a tutti...per il riconoscimento!...dopo oltre 2 anni di scenari ho svelato quello che ho sempre fatto, anche se ultimamente le cose sono ancora più complesse, ma nello stesso tempo con risultati migliori.

Edoardo ha detto...

Complimenti Frank una descrizione accurata delle fatiche che state facendo per questo progetto!

Avete tutta la mia ammirazione!!

Mauro ha detto...

WOW!!!Fantastico lavoro...mi piacerebbe molto vederti all'opera e provare a fare qualcosa di simile..ma non so nemmeno da dove iniziare!!