domenica 12 maggio 2013

Simulazione di interni con Unity

Unity, si presta facilmente alla fruizione di ambienti virtuali in modo libero e naturale su diverse piattaforme hardware, andando oltre la classica rappresentazione bidimensionale di un rendering prospettico.
Esistono degli esempi ben costruiti delle potenzialità del mezzo (rendering quasi perfetti www.ronenbekerman.comvisitare un ambiente con IPAD - ambienti esterni), sviluppati con render basato su tecniche di illuminazione "path-tracer" e "photon", tali da renderli quasi realistici.
Oltre a permettere a qualsiasi committente od interessato di visitare l'ambiente virtuale da qualsiasi angolatura desideri (un po' come fa il progettista al momenti di scegliere le prospettive per il rendering sul software CAD), la libertà offerta da un engine (motore) spazia dall'introduzione di suoni, ambient, meccanismi, animazioni, e molto altro.
Per fare tutto ciò vi è necessità di andare oltre la semplice progettazione CAD di un ambiente, introducendovi elementi di programmazione informatica.
Tuttavia, quello che sembra una complicazione ad un lavoro di progettazione arricchisce l'elaborato con una migliore libertà di fruizione.

Per provare tutto ciò ho ricostruito un semplice insieme di stanze, con porte apribili, comandi per cambiare intensità del colore e colori di vari oggetti (tavolo, tavolino, libri, divano, muri).
Nell'ambiente sono inseriti anche delle visualizzazioni differenti, azionabili a comando per dare degli stili rappresentativi diversi al medesimo progetto.



Comandi - pulsanti della tastiera
  • W-A-S-D: movimento nell'ambiente;
  • F: apertura/chiusura porte;
  • C: a ridosso di libri e divano cambia i colori (libri una serie di colori random, cuscini del divano, una serie di colori base a scelta casuale);
  • Z - X: aumento e diminuzione dell'intensità di colore di tavolo e tavolino (colore base marrone) e cuscini del divano;
  • M: cambio colore dei muri (cambio fra colori base senza necessità di star vicino ai muri);
  • B-N: cambio dell'intensità di colore dei muri;
  • Q-E: visualizzazione in stile realistico od in stile disegno;
  • G: visualizzazione in scala di grigi.
Come si può notare gli elementi inseriti sono:
  1. particle effect: il fuoco che brucia nel camino;
  2. audio locale per simulare un fuoco che brucia vicino al camino;
  3. audio diffuso come sottofondo in tutte le stanze;
  4. apertura e chiusura delle porte;
  5. texture diffuse e riflettenti (tempo reale e non) + lightmapping per connotare le superfici; il lightmapping è stato eseguito con il Final Gather e una percentuale di Static Ambient Occlusion;
  6. utilizzo di materiali emissivi per simulare luci di forma qualsiasi (nell'ambiente virtuale due semplici coni emissivi) e luci classiche per gli ambienti (luce diffusa, direzionale, due area light, alcune point e spot light);
  7. inserimento di particolari filtri per rendere in modo diverso la visualizzazione dell'ambiente (scala di grigi, stile disegno, ...);

Causa hardware datato e limitato agli shader2, per il momento non ho implementato un filtro antialiasing per ridurre la scalettatura degli oggetti a distanza e dei codici per simulare la semiriflessione di alcuni oggetti patinati.
Manca inoltre un rendering con l'algoritmo quasi-Montecarlo (photon mapping) che offre una rappresentazione virtuale più realistica, previo un precedente calcolo rendering esoso di risorse (limitare i cosiddetti fotoni da 1000 a 16 per ridurre il carico computazionale, rende inutile utilizzare l'algoritmo).
La quantità di elementi inseribili in un ambiente simulato dipende dalle prestazioni hardware del PC (sia nella creazione della simulazione sia nell'esecuzione) e da altri sistemi di risparmio delle risorse.
In questo caso mi sono limitato ad inserire l'essenziale.

In questo lavoro non si è badato molto alla forma architettonica (ambiente architettonico costruito per gradi senza un progetto iniziale), bensì alle potenzialità tecniche del software.

Tuttavia questo mezzo rappresentativo non si applica soltanto ad interni, bensì a qualsiasi ambiente CAD si voglia, da semplici rappresentazioni di oggetti. fino alla rappresentazione urbana di una piazza, magari con l'aggiunta di texture ricavate da foto per migliorarne la rappresentazione.
Inoltre la facile integrabilità con sistemi di hosting permette la fruizione dei contenuti online, migliorandone la visibilità.

L'uso di engine ha notevoli potenzialità nella rappresentazione e fruizione di progetti architettonici








Post scrittum: su alcuni PC datati e con Windows XP la rappresentazione web con filtri per le immagini risulta buggata e di scarsa qualità. Inoltre si registrano altri malfunzionamenti.