Logo ufficiale Project Sansar da VRFocus.com |
La risposta è la più diversa (ma non troppo ;-): HighFidelity.io prevede per il momento la possibilità di importare mesh (e non solo) e di operare su di essi, in parte, anche attraverso gli strumenti in-world. Le operazioni base di traslazione, rotazione ed ingrandimento sono sempre possibili, come il rezzing di oggetti base, tuttavia creare oggetti complessi richiede l'utilizzo di modellatori avanzati come Maya o Blender. I problemi tecnici alla base di queste scelte non sono banali. Un oggetto potrebbe essere infatti composto di milioni di triangoli e quindi troppo oneroso nella sua ricostruzione a video ed anche nella sua trasmissione da client a server (o tra peer ;-) Ci sono quindi diversi trucchi sia nella visualizzazione come l'uso di diversi Livelli di Dettaglio (o LOD) della singola mesh, sia sistemi per rendere l'oggetto più semplice e quindi più facilmente visualizzabile. Il formato scelto per il salvataggio delle mesh nel caso ad esempio di HighFidelity, ma anche di altri motori grafici, è FBX. Si tratta di un formato proprietario di Autodesk molto utilizzato per via dei diversi modellatori della stessa casa che lo utilizzano per l'esportazione ed è quindi intuibile che i motori grafici 3D l'abbiano subito adottato da Unity ad Unreal Engine.
Il famoso e tanto atteso Project Sansar sta adottando, molto probabilmente, lo stesso sistema di caricamento delle mesh, tanto che viene dichiarato sul loro comunicato (libera mia traduzione) "..che un ristretto numero di persone potrà caricare modelli 3D creati con Maya(R)..":
Per una più dettagliata disamina delle possibili caratteristiche di Project Sansar potete vedere qui. Dalle dichiarazioni fatte tuttavia si evince che saranno presenti successivamente anche strumenti direttamente in-world e l'importazione anche da altri modellatori 3D.
Il famoso e tanto atteso Project Sansar sta adottando, molto probabilmente, lo stesso sistema di caricamento delle mesh, tanto che viene dichiarato sul loro comunicato (libera mia traduzione) "..che un ristretto numero di persone potrà caricare modelli 3D creati con Maya(R)..":
The small group of initial creators invited to help test Project Sansar will create 3D content using Autodesk’s Maya® software and will export their creations to the new platform.Vedi:http://www.lindenlab.com/releases/linden-lab-invites-first-virtual-experience-creators-to-project-sansar-testing
Per una più dettagliata disamina delle possibili caratteristiche di Project Sansar potete vedere qui. Dalle dichiarazioni fatte tuttavia si evince che saranno presenti successivamente anche strumenti direttamente in-world e l'importazione anche da altri modellatori 3D.
Si procede quindi in ordine sparso, ma soprattutto in modalità diverse senza appoggiarsi a formati non proprietari od a protocolli open source e questo è un vero peccato per la diffusione di questi nuovi mondi virtuali. Sophia Elizabeth su medium.com ha scritto un bel articolo in due parti che mostra la vera e propria "battaglia" che sta iniziando tra le diverse piattaforme e che agli occhi di un programmatore sembra uno spreco di risorse e denaro incredibile. Dove sono protocolli e gli standard aperti e comuni su cui creare un Metaverso diffuso così come è successo per il Web. Se esiste HTTP, HTML e tanti altri standard e protocolli perchè non creare un "Metaverse Transfer Protocol"? I tentativi nel passato al riguardo ci sono e non hanno portato ahinoi a nulla di concreto. Perchè non utilizzare e rendere completamente open source/royalty free standard e protocolli di comunicazione e dare a tutti la possibilità di entrare in un "mercato" più vasto con regole comuni? Domande forse a cui mai potremo dare una risposta...
The fight for metaverse articolo:
The fight for metaverse articolo:
Mi consola il fatto che il creatore di ConVRge abbia rilasciato dei bellissimi tutorial per creare un mini-metaverse basato su Unity 3D utilizzando la piattaforma di comunicazione Photon:
- http://www.convrge.co/multiplayer-oculus-rift-games-in-unity-tutorial
- http://www.convrge.co/add-voice-chat-to-unity-using-dfvoice
E non sarà certo un caso che molte delle "nuove" piattaforme siano basate sul motore 3D Unity per la sua estrema semplicità di integrazione. Rimane tuttavia il problema per me fondamentale di come queste piattaforme siano state realizzate. Quale gli algoritmi, le tecniche e le tecnologie, i protocolli utilizzati? Forse è meglio ripartire dalla base ed iniziare un bel corso sulle librerie grafiche OpenGL. Un primo e piccolo passo verso forse un Metaverse completamente Open Source basato su standard/protocolli quanto più possibili aperti e liberi. Un sogno o forse un' utopia, ma il MayaVerse non è forse questo?
Corsi OpenGL:
- http://www.tomdalling.com/blog/category/modern-opengl/
- http://www.opengl-tutorial.org/
- http://ogldev.atspace.co.uk/
- http://learnopengl.com/
- http://www.gametutorials.com/tutorials/opengl-tutorials/
Ed il relativo codice su GitHub:
- https://github.com/tomdalling/opengl-series
- https://github.com/Vytek/opengl-tutorial-org
- http://ogldev.atspace.co.uk/ogldev-source.zip
- https://github.com/JoeyDeVries/LearnOpenGL
- https://github.com/gametutorials/tutorials
Per "Par Condicio" ne aggiungo uno anche per DirectX:
Sorgente: https://github.com/ScruffyFurn/SumoDX2
Nessun commento:
Posta un commento