lunedì 13 ottobre 2014

Come ti creo un mondo virtuale....ovvero il futuro a portata di mano!

Internet non è soltanto una semplice rete di comunicazione, non è un semplice canale in cui far scorrere bit. Assomiglia molto di più ad un Bazar pieno di cose interessanti e soprattutto da scoprire. In un angolo nascosto, magari sotto un po' di polvere è possibile trovare l'idea geniale, la tecnologia particolare, l'ingrediente di cui si ha bisogno per creare la propria particolare ed insostituibile "creazione". Uscendo magari dai soliti circuiti e siti prestabiliti ecco aprirci le pagine Web di un progetto software condiviso da un'università ed ecco l'idea di prendere quel pezzo, quell'altro pezzettino da un altro sito e via così fino a comporre il proprio puzzle mentale. Quale era il nostro obiettivo? Realizzare un Mondo Virtuale condiviso che abbia tutti i requisiti di una vera realtà immersiva. E cosa offre il mercato? Quali sono le nostre possibilità? Molte in realtà, visto che come ho già detto il MayaVerse già esiste se pur spezzettao nei sui componenti fondamentali. Ma andiamo con ordine e vediamo di cosa abbiamo bisogno per poter realizzare il tutto.

Per prima cosa abbiamo bisogno di un Motore 3D, ovvero sia di un sistema software in grado di gestire tutto il sistema di rappresentazione all'interno di un computer. L'ideale sarebbe avere un 3D Engine quanto più possibile Open Source e cross-platform in modo da essere adattabile a diverse piattaforme hardware e software (un classico Windows, Linux e Mac...). Le possibilità sono molte, ma in questi giorni stavo leggendo il rilascio di un motore grafico di recente costruzione interamente Open Source e costruito con il mio amato linguaggio C#:

http://deltaengine.net/Features.html


Da quello che si legge sarà completamente gratuito per la pittaforma Windows e quindi potrebbe essere un ottimo inizio (per le altre ci sarà da attendere i relativi prezzi...). Ok, abbiamo l'ambiente tridimensionale e tutto qulle che ci serve per "disegnare" attraverso un computer con apposito hardware ora ci serve un sistema per fare in modo di "catturare" accuratamente l'interazione del nostro utente con l'ambiente e creare un proficuo feedback con esso. Sembra una cosa banale da fare, ma è la vera essenza di un sistema virtuale. Se ci pensate attentamente in ogni istante i nostri differenti sistemi percettivi interagiscono con l'ambiente in un continuo ciclo di modifica e percezione. Come giustamente hanno dimostrato molti studi di psicologia cognitiva gli utenti parlano di "immersività" quando interpretano la realtà ricreata al computer come consistente, logica ed interattiva. Volendo banalizzare ci sentiamo "immersi" ad esempio perchè se vediamo un oggetto rappresentato riusciamo a muoverlo e se lo spostiamo questo cade secondo quanto ci aspeteremmo nella "normale" realtà. Questi sono solo alcuni degli elementi fondamentali come attentamente analizzato in:

http://www.psychologyofgames.com/2010/07/27/the-psychology-of-immersion-in-video-games/

http://www.psychologyofgames.com/2010/09/24/motion-controls-and-presence/

Certamente una dei primi dispotivi necessari per il raggiungimento di questo obiettievo è l'adozione di un dispositivo di output definito genericamente un "Visore". Ovvero un casco in grado di riprodurre con due piccoli monitor l'ambiente tridimensionale generato al computer. Questi visori tuttavia non sono soltato un "paio di piccoli televisori" per i duoi occhi, ma montano altri dispositi che rilevano il posizionamento, ad esempio, della testa o riproducono attraverso delle micro casse audio stereo fino a dare una rappresentazione "stereoscopica" della visione. Ne esistono di tutti i tipi, ma facendo una piccola ricerca sono riuscito a trovarne un modello relativamente poco costoso (sui 1500 $ da quello che vedo...) di cui viene rilasciato un ampio supporto con lil relativa ambiente SDK pronto per essere interfacciato in vario modo con codice C# e quindi in buona misura facilmente integrabile con il precedente motore grafico 3D.

http://www.3dvisor.com/index.php

Siamo quindi giunti ad avere un sistema per la rappresentazione tridimensionale ed un visore in grado di rappresentare il tutto ad un possibile utente (senza parlare di alcuni piccoli dettagli...manca ancora infatti il software per "unire ed integrare" tutto quanto ;-), un piccolo dettaglio...), quello di cui si ha veramente bisogno tuttavia è la possibilità di tracciarne tutti i movimenti . Immaginiamo di allargare le braccia e saltare, vorremmo che i nostro Avatar faccia lo stesso o si muova di conseguenza. Questo apparente sogno è stato reso in parte realtà dall'ormai mitico Kinect (ex Project Natal...): si tratta di un sistema equipaggiato da varie telecamere che proiettando un reticolo infrarosso intercetta in tempo reale i cambimenti riuscendo così a ricostruire una mappa tridimensionale dei movimenti dell'utente inquadrato. Dopo appena un mese dalla commercializzazione già uno dei blogger che contribuiscono a Terranova aveva segnalato la possibilità di utilizzarlo in Mondi Virtuali. Ipotesi che appare quasi una naturale estensione di questa piccola, ma gigantesca invenzione. Il rilascio delle librerie per potersi interfacciare con il Kinect ha fatto il resto creando di conseguenza scenari incredibili. Ancora di più se ben due università si mettono all'opera e rilasciano un particolare sistema in grado di tracciare ed interpretare i dati provenienti dal dispotivo ricostruendo la posizione dei vostri arti e del corpo nello spazio. Il tutto è stato magistralmente riassunto in questo post su Programmazione.it:

http://programmazione.it/index.php?entity=eitem&idItem=46161

Tutto finito? ;_) Ovviamente no, c'e' ancora tanto da fare, da sviluppare e da testare, il nostro è soltanto un discorso teorico od almeno pensavamo che lo fosse.... Piccoli dettagli come l'utilizzo di standard aperti per l'interscambio tra mondi virtuali della rappresentazione tridimensionale degli oggetti con un apposito formato... Dettagli, imporanti, ma il risultato direte voi? Il risultato, qual'è??

Standard utili:

http://www.hypergridbusiness.com/2010/11/initiative-releases-cross-platform-mesh-standard/

http://mediagrid.org/groups/technology/OFF.TWG/

Il risultato è il futuro!!! Il Futuro!! Come potete vedere di seguito:

http://www.gamesnation.it/news/8252/kinect-e-la-realta-virtuale-un-binomio-possibile.html/


Nessun commento:

Posta un commento