venerdì 15 maggio 2015

Utilizzare Google Drive per Unity3D

Un cloud pratico per raccogliere le proprie ambientazioni virtuali è Google Drive, che offre gratuitamente quasi 15 Gb di spazio e presenta prezzi molto bassi per eventuali espansioni.
Tuttavia, caricando in una cartella i files .html e .unity3d, all'interno di Google Drive, la pagina di visualizzazione dell'ambiente virtuale dà errore, non caricando nulla.
Sbloccate le regole di condivisione di entrambi i files per chiunque abbia il link (non i diritti per modificare i files), si deve individuare il link di condivisione del file .unity3d, con l'apposita icona dell'interfaccia di Google Drive.
Dal link si deve estrarre l'ID (nell'immagine 0B5vupkCL4...) per generare il link: https://googledrive.com/host/[ID file .unity3d].
Infine con notepad o con un'applicazione di google documents che visualizzi il codice java/html si deve aprire il file .html per inserire all'interno il link di host del file unity3d.
La stringa "u.initPlugin(jQuery("#unityPlayer")[0], "[nome file di progetto].unity3d");" avvia una ricerca nel dominio dove è posto il file html per individuare il file compatto .unity3d dell'ambientazione virtuale da lanciare con il plugin.
Mancando la possibilità di eseguire una jQuery dentro Google Drive, un modo per ovviare alla mancata ricerca è indicare direttamente il link di host del file .unity3d su Google Drive, ponendo al posto di "[nome file di progetto].unity3d" il link prima creato: "https://googledrive.com/host/[ID file .unity3d]".

Esempio



giovedì 7 maggio 2015

Luce e riflessioni in tempo reale in Unity 3D

Su questo link possono essere viste una serie di ambientazioni virtuali diverse con variazione dello stato di illuminazione fra giorno e notte, con materiali che emettono luce, particles effect, acqua, riflessioni, ecc... in relazione allo skybox (cielo di sfondo).
I vari ambienti con una camera mobile per mezzo dei tasti W-A-S-D presentano un'immensa superficie che simula l'acqua, con il moto secondario di onde, riflessioni degli oggetti e trasparenze del fondale.
Sull'isoletta sono posti degli alberi ed alcune texture a simulare terreni diversi.
Altri pulsanti redirezionano ad un sito web preimpostato o le ">>>>>>>>>>" spostano ad una scena successiva, in circolo.
I pulsanti "Q" ed "E" permettono di accelerare o rallentare la rotazione fra giorno e notte, con tanto di stelle sullo sfondo in rotazione.
In una scena, con i pulsanti "1" e "2" si comanda la presenza di pioggia o di una nevicata.
Il pulsante "F" in qualsiasi scena attiva una o più sequenze di fuochi artificiali (da premere molto velocemente per non azionarne troppe), i cui riflessi sono visibili sull'acqua.
I fuochi artificiali assieme a tutti gli altri effetti di luce e riflessione in tempo reale sono un buon benchmark per le capacità grafiche del proprio computer.
L'aspetto della scena è migliorato dal fatto che le riflessioni non sono precalcolate, ma vengono valutate in tempo reale frame per frame.

Per quanto riguarda gli skybox:
  • nella prima scena appare uno procedural skybox, il più semplice da implementare, che tuttavia non presenta nè nuvole, nè paesaggi ad infinito, facendo apparire lo sfondo povero di contenuti;
  • nella seconda scena il cielo ad infinito è simulato con una sfera di dimensioni finite, intorno all'ambiente ed una texture 3D rappresentante cielo e nuvole: senza una texture con un adeguato tiles, questo evidenzia delle linee di separazione fra un bordo e l'altro della texture applicata, oltre ad influire sul precalcolo dell'illuminazione della scena (conviene disattivare la sfera nel calcolo delle luci) e sulla visualizzazione delle stelle;
  • nella terza scena lo sfondo è simulato con uno skybox, al quale viene mutata costantemente l'esposione per simulare l'arrivo delle tenebre;
  • nella quarta scena si utilizzano sempre delle sfere per simulare il cielo nuvoloso, essendo troppo complesso e pesante con soli "particles effect", ma questo influisce sui "particles effect dei fuochi d'artificio", oltre ad aver i problemi prima citati con l'uso di una sfera attorno alla scena;
  • nella quinta scena viene utilizzato uno skybox di sfondo ed uno script per alternare il giorno e la notte, mentre le nuvole sono simulate con due diversi particles effect, uno che si intona con la notte, l'altro che rimane ad eguale luminosità, sembrando una luce di notte.
In tutti i casi è stato applicato un flares per la luce direzionale del sole.
Il risultato migliore lo si ottiene con uno skybox coerente alle condizioni della scena, a cui viene mutata l'esposizione tramite script.

Tuttavia questo impone delle nuvole fisse ed una certa difficoltà nel passare da una scena con cielo skybox di sfondo splendente ad una scena con cielo skybox di sfondo nuvoloso.
Per un tale scenario forse conviene utilizzare qualche package completo per le condizioni atmosferiche: per esempio environment gator.
L'uso di nuvole realizzate con "particles effect" porta ad un maggiore appesantimento della scena, necessita comunque di script che modifichino lo stato di illuminazione della nuvola con il sopraggiungere della notte, e rende difficoltoso coprire la distanza ad infinito, che apparirà sempre  sgombra da nuvole, se si usa un procedural skybox o con nuvole fisse se si usa uno skybox fisso.


L'illuminazione dell'ambiente è precalcolata in tempo reale, ciò significa che facendo ruotare l'illuminazione nell'ambiente virtuale, si vedrà un fascio di luce illuminare il pavimento e le pareti progressivamente con il tramontare del sole.
L'effetto di riflessione sulla superficie dipenderà dal tipo di shader utilizzato.
Nelle varie scene ci sono varie tipologie di shader: standar shader specular che sfruttano il physical baded rendering; Allegoritmics shader; tessellation shader
Gli standard shader sono stati utilizzati per simulare l'effetto del marmo, con texture di vari colori, e per realizzare la superificie illuminata, sfruttando specular map, emission map, normal map, hightmap...
Tendenzialmente gli standard shader sono perfetti per creare materiali opachi, metallici, con riflessioni o lucidi, e poco adatti per materiali imperfetti.
Tali shader soffrono del problema di tiling per superfici vaste.
I materiali prodotti dalla Allegoritmics hanno shader complessi che permettono relazioni complesse fra diversi comportamenti di texturizzazione, variabili con script d'ambiente, diversificati per parti d'area (per esempio se si vuole creare una superficie in parte opaca, in parte riflettente) e randomizzabili a piacimento.
I tessellation shader, applicati a due semplici sfere mostrano la possibilità di realizzare effetti volumetrici mediante l'uso di semplici texture 2D, grazie alle funzioni di forma dello shader ed alla heightmap associata.
In particolar modo le due heightmap utilizzate necessiterebbero di un miglioramento vista la cattiva rappresentazione volumetrica risultante.
In un caso si è semplicemente convertita la texture in scala di grigi.
Nell'altro caso sono stati modificati i livelli di contrasto per rendere al meglio i dislivelli fra le parti concave e quelle in rilevo.



L'uso di filtri sulle texture da utilizzare, per esempio come l'effetto carta invecchiata sullo skybox, non fornisce risultati ottimali.
Nell'immagine si può vedere come il filtro, non avendo procedure che considerino la congiuntura fra elementi, metta in relazione i bordi congiunti.
Inoltre l'effetto del filtro sulla texture dipende molto dalla distanza di rappresentazione nell'ambiente virtuale, in genere peggiorando la visualizzazione a lunga distanza od a breve distanza.
Tutto ciò porta a preferire l'uso di filtri e "post effect" legati alla visualizzazione direttamente nella scena.


lunedì 4 maggio 2015

Terremoto in Nepal

Sono stati rilasciati dei nuovi video che mostrano gli avvenimenti in Nepal e per le strade di Kathmandu durante il disastroso sisma di aprile 2015, vediamo che informazioni se ne possono dedurre.
Il dilemma che molti esperti ed i Giapponesi risolvono nel modo meno intuitivo per la popolazione comune, meglio non fuggire da un edificio durante un terremoto, può essere valutato osservando i video del disastroso terremoto avvenuto in Nepal.
In primo luogo è bene notare che a forte svantaggio dell'idea di ripararsi sotto un tavolo, sotto una porta su un muro portante o sotto un architrave, rischiando di finire sepolti vivi, si scontra con i soccorsi che vi sono in Nepal.
Al di là dell'agonia del rimanere bloccati, quasi schiacciati, bere acqua piovana che percola per le fenditure e non mangiare niente per giorni, il Nepal essendo una nazione povera non garantisce una rapidità di intervento entro 48-72 ore come avviene in Italia o negli USA.
Già questo sconsiglierebbe a molti di rimanere dentro una struttura durante un terremoto.
Tuttavia i sismi sono fenomeni così inaspettati (quello nepalese non si ripresentava da 80 anni) e così brevi che molto spesso si ha più tempo per ripararsi sotto un tavolo rispetto quello che necessiterebbe per fuggire dall'edificio.
Osservando il primo video, vediamo infatti che non necessariamente una persona si trova vicina all'uscita od a porte aperte od al piano terra se è in un edificio a più piani.
Quanto tempo ci vuole da un terrazzo al secondo o terzo piano a percorrere tutte le stanze, i corridoi, scendere le scale ed uscire in strada? quanti ostacoli ci sono lungo il percorso? Vado verso la salvezza o vado verso punti peggiori?
Nel video si vede la strada ai piedi dell'edificio, troppo stretta per considerarla un rifugio, poichè come minimo ci si deve allontanare in un'area libera ad una distanza pari all'altezza dell'edificio per non essere schiacciati dalle macierie.
La strada inquadrata non lo consente, per questo si dovrebbe correre paralleli all'edificio fino a raggiungere un'area sicura, allungando però il percorso da percorrere.
Il video girato dal turista mostra anche vasi, tegole sui tetti e fregi che con delle scosse troppo intense possono crollare cadendo in testa a chi si trova sotto sulla strada.
Gli oggetti che cadono, esterni od interni come i mobili, sono una delle principali cause di morte nei terremoti, poichè fanno vittime anche se l'edificio non crolla!!! Inoltre è difficile scappare col terreno che oscilla e badare pure a cosa cade dall'alto. Nel video si sentono i suoni degli oggetti che cadono da diversa altezza.
Nel video il sisma inizia a 0:38 secondi e dura per quasi 60 secondi... un terremoto molto lungo se si pensa che in Italia in genere le scosse hanno una durata di 30 secondi.
La durata non necessariamente implica maggiore o minore forza, anzi, le azioni più violente si sviluppano nei primi secondi del sisma e le decine di secondi finali sono la coda del terremoto, meno intensa.
Dal momento del percepimento della scossa, essendo inattesa una persona ha 1-2 secondi di lasco per percepire cosa sta succedendo e recuperare un po' di equilibrio dovuto allo scuotimento.
Il video perde l'inquadratura, passando in seguito ad inquadrare gli uccelli spaventati e nubi di polvere di edifici crollati in lontananza.
Il crollo di un edificio è un'ulteriore ostacolo da sorpassare, poichè la polvere disorienta chi intorno tenta di uscire.
Altri ostacoli che si possono trovare fuggendo all'impazzata sono persone che tentano di fuggire e si ammassano in zone strette come scale e corridoi, arredamento caduto che osctacola la fuga, porte chiuse che non si aprono, scale crollate.
Il sisma induce spinte otizzontali sugli elementi di un edificio, per cui il rettangolo di una porta vede la base spostarsi in un verso e la cima tendere a spostarsi in un altro verso.
Questo rende molto difficile aprire molte porte chiuse nella cornice del muro.
Le stesse scale, essendo elementi diagonali che collegano due piani che oscillano in modo diverso subiscono il maggiore sforzo e rischiano di crollare per prime, per cui dirigersi verso le scale per fuggire è come dirigersi nel posto più pericolo dell'edificio per la strada più distante.
Inoltre in un edificio con più piani, più si scende, più si finisce in locali che hanno sopra una maggior quantità di possibili macerie e rischiano di essere schiacciati con più forza.
Fuggire è la scelta migliore? vi sono molti rischi.
Molto importante è uscire dall'edificio entro il verificarsi di ulteriori scosse di terremoto.
Ogni sisma ha poi uno strascico di sismi di assestamento, con magnitudo spesso inferiore (nel caso quasi unico del terremoto dell'Emilia Romagna vi fu un secondo sisma di magnitudo pari al primo evento).
Le scosse successive pur di intensità minore vanno a gravare su strutture già lesionate, aggravando così la probabilitàà di crollo.

In un secondo video, ripreso da una telecamera fissa si vedono gli edifici di altezza inferiore rispetto alla strada, che così può essere un posto ove ripararsi... se le auto si fermano (gli ammortizzatori riducono la sensazione del sisma).
La telecamera inizia ad oscillare per il sisma a 0:45 secondi, ma le prime persone in fuga dal marciapiede si vedono fra 0:48 e 0:53 secondi.
Questo è dovuto molto probabilmente dal fatto che oggetti posti su pali o su piani elevati iniziano ad oscillare anche al sopraggiungere di magnitudo inferiori (una magnitudo 3 per esempio a terra è difficile da percepire, ma ad un terzo o quarto piano può far oscillare lampadari ed essere sentita).
Si può notare come la maggior parte della gente per molti secondi non si muova, od abbia seri problemi a camminare diritto, tanto che pochi riescono a percorrere solo 10-15 metri.
A 0:59 secondi crolla l'edificio a destra, sull'omino sul carretto, che si salva solo perchè all'ultimo secondo smonta.
In questo modo invece che venire schiacciato dalle macerie cadute verticalmente viene solo trascinato via verso le auto sul lato opposto della strada (cerchio rosso nell'immagine) subendo sicuramente ferite e fratture.
Si nota come prima detto che non basta uscire da un edificio, ma ci si deve allontanare di parecchio.
In 14 secondi si arriva al crollo, quindi tolto il tempo di disorentamento si hanno pochi secondi per fuoriuscire da un edificio.
Dopo alcuni minuti c'è ancora gente che esce dagli edifici a sinistra.

 Terzo video, nessun crollo per fortuna, ma si percepisce il senso di smarrimento dovuto alle scosse intense del sisma, fra quelli che si attaccalo ad un albero per non cadere, uno alla ringhiera, uno procede a quattro zampe, ed altri che si accucciano per abbassare il baricentro e non cadere di lato.
Le auto ed i motorini ballano una macabra danza di oscillazioni.
Il grosso della folla a fondo via si riunisce decine di secondi più tardi, quando il sisma ha già finito la fase più acuta.
La seconda parte mostra ancora la folla reagire in ritardo alle oscillazioni del sisma, percorrendo poche decine di metri.
La statua al centro della rotatoria rimane immobile, mentre per la sua conformazione con quattro colonne, il capitello crolla di lato e lascia la statua del tutto illesa, anche se evidentemente non era fuggita.


In quest'altro video che lega vari spezzoni si vede quante persone si siano salvate, per due motivi.
Come si può notare, si vede al centro del video un edificio con una facciata lato strada piena di vetrate e l'uscita sotto di queste.
La fortuna od una corretta progettazione ha voluto che le vetrate non si rompessero mentre le persone uscivano dalla porta sottostante per mettersi in salvo al centro della strada.
Tuttavia la strada è troppo stretta per l'altezza degli edifici, che fortunatamente non sono crollati.
Avessero fatto come nel caso prima visto con le macerie che raggiunsero il lato opposto della strada, con le persone che pensavano di essere al sicuro piazzandosi in mezzo, la conseguenza sarebbe stata ben più grave.


Quest'altro video ripreso con un drone mostra i danni del sisma a vari edifici, e fra questi una faglia apertasi su una grossa via di comunicazione.
Il video mostra come i parchi, elementi spesso trascurati nei piani regolatori di grosse metropoli abbiano un ruolo fondamentale per costruire una tendopoli, lontana dagli edifici a rischio di crollo.


In questo video, si vede ancora la difficoltà di rimanere in piedi dei turisti, già in salvo in mezzo ad una piazza dove intorno crollano due edifici.
Quest'altro video mostra i danni provocati dal sisma, con una serie di foto in successione.
Altro video ripreso da un turista, che poi gira per le strade strette fra diverse strutture.
In questo video di una televisione indiana vengono mostrati e spiegati vari spezzoni di video, fra cui anche le riprese delle telecamere di un supermercato (circa a 6:30 secondi).
Si può notare come due scaffali travolgano due donne che tentano la fuga, come alcune persone siano incapaci di camminare velocemente ed inciampino anche su un semplice sgabello, mentre altri si attaccano ad una colonna o cercano di reggere gli scaffali da cui cadono la maggior parte dei prodotti non ancorati.



Nel video seguente si percepiscono le oscillazioni delgli edifici a seguito del sisma, rispetto ai pali in strada, troppo piccola per essere una via di fuga.
Davanti alla telecamera cade un pezzo di metallo di grosse dimensioni, non colpendo nessuno in testa perchè la scena è vuota.
Tuttavia all'inizio si vede una persona passare in strada, andando verso sinistra da destra, dove in seguito si verificano i crolli, sperando che quei pochi secondi l'abbiano salvato
Non è chiaro se il video sia stato tagliato, ma i primi edifici crollano dopo soli 10 secondi (si sviluppa una nuvola bianca alcuni edifici più in là), mentre l'oscillazione perdura per quasi 50 secondi, segno che il video non è stato tagliato del tutto.
Non si può stimare il tempo di crollo di una struttura a seguito di un sisma, se non forse con analisi dinamiche eseguite con lo spettro del sisma, che è incognito per i progettisti.
La progettazione infatti utilizza delle tecniche statistiche per stimare lo spettro sismico atteso entro un determinato tempo di ritorno.
Questa incognita per chi si trova dentro un edificio colpito da un sisma rende molto difficile stimare quanto tempo si ha a disposizione per uscire.
Di sicuro molto tempo se per tempo si fosse provveduto ad una corretta progettazione o ristrutturazione antisismica.

In quest'altro video, trasmesso da CCTV si vede su un ponte un crollo parziale (nube di polvere) nascosto da camion che oscillano parecchio per le scosse.
Tendenzialmente le auto ed i camion grazie alle sospensioni non dovrebbero ribaltarsi, tuttavia il loro peso da ferme su ponti non antisismici che subiscono il terremoto potrebbe portare a crolli.
In questo video si osservano una serie di persone prossime all'uscita scappare a gambe levate.
Il terreno non sembra avere i medesimi scuotimenti immortalati in altri video.
Video1 e video 2  con foto delle frane indotte dal terremoto pericolose per gli autisti che non dovessero accorgersene.
Video di un edificio lesionato che cade forse a seguito di una scossa minore.

Questa compilation di video presenta video del Nepal e video che non sembrano affatto del Nepal (per esempio all'inizio il video della piscina).

In questo video vi sono spezzoni vari del sisma, come per esempio la fuga ordinata (una persona ha in braccio un bambino) da un edificio che non sembra avere parti esposte a cadute od un video successivo dove si vede una fuga fatta decisamente male, con le persone che si ostacolano per essere le prime ad uscire...finendo così per stare dentro l'edificio, sballonzolate a destra e sinistra dagli scuotimenti.