Il metaverso ha riacceso l’attenzione per i formati file condivisi, i delivery file format, indispensabili per condividere attraverso varie applicazioni le risorse 3D dei mondi virtuali interattivi, in ogni ambiente grafico, sul Web e offline. Il glTF è il nuovo open standard di riferimento per gli asset 3D. Sarà quello definitivo?
TAKEAWAY
- Il glTF è l’open standard di riferimento per gli asset 3D delle applicazioni Web ed e-commerce.
- Consente di rendere interoperabili attraverso tutte le applicazioni gli oggetti e le scene definiti con appositi software di creazione 3D, superando le barriere dei singoli formati file proprietari, chiusi e ridondanti in termini di risorse.
- Il glTF è sviluppato e distribuito come open standard da Khronos Group, consorzio partecipato dalle principali realtà commerciali e pubbliche in ambito tecnologico, nonché referente del neonato Metaverse Standards Forum.
Il metaverso ha riacceso anche a livello mainstream l’attenzione per i formati file condivisi, indispensabili per condividere attraverso varie applicazioni le risorse 3D dei mondi virtuali interattivi, in ogni ambiente grafico, sul Web e offline.
La recente costituzione del Metaverse Standards Forum va contestualizzata proprio in questa direzione, con crescenti investimenti previsti per la ricerca e nella definizione di standard interoperabili, che consentano a tutti gli attori in gioco di parlare la stessa lingua per far dialogare con successo le rispettive applicazioni.
Per quanto riguarda gli asset 3D, il formato file glTF rappresenta un open standard sempre più diffuso nell’ambito del 3D commerce e di un’ampia varietà di applicazioni online, grazie alla sua leggerezza e alla sua qualità nella resa visiva.
Tali caratteristiche lo hanno etichettato quale “nuovo JPEG”, nella prospettiva di rivivere negli ambienti 3D del metaverso la stessa storia di progresso tecnologico che il formato di compressione sviluppato dal Joint Photografic Experts Group ha svolto sin dai tempi del bidimensionale Web 1.0.
Le prospettive e lo spirito di condivisione che si è creato attorno al glTF sono molto promettenti, ma la strada da percorrere si prospetta ancora molto lunga e ricca di incertezze.
Cos’è il glTF
Secondo la definizione ufficiale offerta da Khronos Group: «Il glTF è una specifica royalty free per la trasmissione e il caricamento delle scene e dei modelli 3D in engine e applicazioni software. glTF minimizza la dimensione degli asset 3D e il processo di runtime necessario per l’unpack e l’utilizzo nelle applicazioni. glTF definisce un formato di pubblicazione che semplifica i flussi di lavoro creativi e i servizi interattivi, per consentire l’uso interoperabile di contenuti 3D in tutte le applicazioni dell’industria».
Qualsiasi applicazione in ambito 3D e XR necessita di caricare e renderizzare al proprio interno scene e oggetti tridimensionali provenienti da altri software, che si occupano nello specifico di crearli, senza esaurire il problema di distribuirli, almeno nei propri file proprietari.
Per facilitare e rendere interoperabile la gestione degli asset 3D tra le varie applicazioni, è da sempre in atto un notevole sforzo alla ricerca di formati file condivisi. Il glTF 2.0 pare aver finalmente risolto buona parte dei problemi che si sono trascinati per moltissimi anni.
Dal punto di vista tecnologico, glTF utilizza JSON per descrivere la gerarchia dell’asset 3D e un payload binario per descrivere le geometrie, le texture e le animazioni.
Per le texture, supporta i formati JPEG e PNG e include il supporto ai materiali PBR (Physically Based Rendered), lo standard attualmente più diffuso nelle applicazioni 3D.
Attualmente glTF è disponibile nella sua versione 2.x. In prospettiva, si sta lavorando per implementare nuove funzioni e renderlo sempre più completo nel rispondere alle esigenze multimediali.
Nella sua versione attuale, il glTF risulta perfetto per i singoli asset 3D, ma presenta molti margini di miglioramento a livello di scene 3D complessive, che saranno sempre più richieste per le applicazioni AR e VR del metaverso.
Il glTF al momento risulta completo per quanto riguarda le geometrie, le texture e le animazioni, che corrispondono ai principali componenti standard dei singoli oggetti 3D, ma non dispone di funzionalità legate al comportamento fisico, ai suoni e alle interazioni, caratteristiche essenziali quando si tratta di lavorare su scene complesse.
Caratteristiche peraltro già ricomprese in standard concepiti essenzialmente per applicazioni offline come l’USD, laddove è richiesto un livello di ottimizzazione concettualmente differente.
Authoring file format vs Delivery file format
Per capire la straordinaria importanza di una risorsa come il formato file glTF, è necessario focalizzarsi su alcuni aspetti relativi alle pipeline di creazione e distribuzione delle risorse tridimensionali, comunemente definite quali asset 3D.
Da un lato, troviamo gli authoring file format (formati file di creazione) che contengono tutte le informazioni necessarie per creare e modificare ogni aspetto della risorsa in 3D, come avviene nel caso dei file proprietari dei più diffusi DCC (digital content creator) come Autodesk 3ds Max (.max), Maxon Cinema4D (.c4d) o il celebre software 3D open source Blender (.blend).
Questi file garantiscono la totale funzionalità soltanto all’interno del loro software proprietario, in quanto conservano tutte le feature utilizzate per creare le scene 3D, complete di tutto ciò che occorre per il rendering finale (geometrie, shader, textures, luci, camere, ecc.).
Tuttavia, questi formati file, che possono arrivare a pesare diverse centinaia di megabyte, sono decisamente sovradimensionati quando si tratta di dover semplicemente esportare un modello o una scena in 3D in applicazioni middleware come i game engine (Unreal Engine, Unity, ecc.), i software di compositing utilizzati in post produzione (The Foundry Nuke, Adobe After Effects, ecc.) o le applicazioni Web eseguite all’interno dei principali browser.
Una volta conclusa la fase di creazione, gli asset non sono più soggetti a modifiche integrali e per questo motivo, oltre al fatto di superare gli oggettivi limiti in termini di interoperabilità imposti dalle tecnologie proprietarie, si sono diffusi i delivery file format (formati file di consegna/distribuzione).
Se l’obiettivo di un file di authoring è quello di conservare tutte le informazioni utili alla creazione e alla modifica dell’asset, il file di delivery mira proprio a eliminare tutte le informazioni che, una volta concluso il processo creativo, non si rendono più necessarie, garantendo al tempo stesso l’interoperabilità all’interno di altre applicazioni, con l’obiettivo di non perdere qualità a livello visivo e risultare molto meno dispendioso in termini di utilizzo delle risorse informatiche.
Grazie a queste caratteristiche, il glTF 2.0 sta incontrando una grande fortuna nell’ambito dello sviluppo delle applicazioni interattive per il Web. Non si tratta dell’unico delivery file format presente sulla scena del 3D, un contesto tecnologico spesso sottovalutato, che vanta ormai una lunga quanto tribolata storia evolutiva.
La grande varietà dei formati file 3D
Ritroviamo infatti una grande varietà di formati, come il 3DS, l’OBJ, l’FBX, Collada (DAE), Alembic (ABC) o il celebre USD (Universal Scene Description), sviluppato da Pixar e reso finalmente open source nel 2016. Ognuno dei formati che abbiamo appena citato vanta caratteristiche e finalità di utilizzo profondamente differenti.
Il 3DS, formato originale di 3D studio prima di assumere l’estensione “.max”, conserva le semplici geometrie ed è stato molto impiegato fino agli anni duemila, quando è stato progressivamente rimpiazzato dall’OBJ (“.obj”), che inizia anch’esso a sentire il peso degli anni.
Formati come Alembic garantiscono invece l’esportazione di intere scene molto complesse, ragion per cui sono molto utilizzati nell’ambito della post-produzione, nell’industria degli effetti visivi (VFX).
Nella prospettiva del metaverso, i delivery file format al momento più supportati appaiono essere il glTF per gli asset 3D “leggeri”, tipicamente impiegati nelle applicazioni Web, e l’USD per le scene ad alta definizione.
La partita è in ogni caso ancora aperta, se non del tutto da giocare, anche se, come spiega il presidente di Khronos Group, Neil Trevett, la direzione intrapresa appare piuttosto consapevole: «L’industria sta scegliendo USD e glTF. Tra gli altri, OBJ è troppo datato, FBX è interessante, ma rimane un formato proprietario, mentre USD è un progetto open source molto solido e glTF è addirittura uno standard aperto. Sono convinto che entrambi i formati prenderanno sempre più piede, ma dobbiamo lavorare molto per favorire la loro reciproca integrazione nei principali ambienti grafici».
Ottimizzare le risorse: perché il glTF viene definito il JPEG del 3D
L’utilizzo delle risorse grafiche in ambito Web è da sempre condizionata da due limiti intrinseci: la dimensione dei file e l’utilizzo della memoria di sistema.
Nel primo caso, la compressione risulta fondamentale per consentire di scaricare i file in tempi ragionevoli, mentre a livello computazionale occorre tenere presente delle specifiche dei dispositivi mobile.Soltanto le applicazioni che si rivelano performanti per entrambi i punti citati sanno offrire un’esperienza digitale soddisfacente.
Per quanto riguarda le immagini 2D, il formato JPEG si è rivelato fondamentale sin dai tempi del Web 1.0, per garantire un ottimo livello di compressione senza compromettere la qualità visiva rispetto ai formati lossless originali.
Nel caso degli asset 3D, il glTF agisce secondo le stesse logiche del JPEG, rispetto al quale si presenta molto più evoluto a livello tecnologico, anche in funzione della sua recente generazione.
Grazie alla tecnologia di compressione Draco 3D, sviluppata da Google, glTF sa comprimere la mesh (geometrie 3D) in maniera molto efficace, mentre una tecnologia di Binomial consente di fare altrettanto per quanto riguarda le texture.
Il formato glTF gode attualmente di una grande popolarità nell’ambito dei cataloghi 3D per le applicazioni e-commerce e viene eseguito alla perfezione attraverso le principali 3D API disponibili sugli ambienti grafici del Web (WebGL) e desktop (OpenGL, Vulkan ecc.).
Khronos e Metaverse Standards Forum
La governance del glTF è in capo al consorzio Khronos Group, che da diversi anni si occupa di definire e diffondere le specifiche dei principali standard grafici, sia per quanto riguarda i file che per quanto concerne gli ambienti video e le relative API: OpenGL, OpenCL, WebGL, OpenXR, Vulkan e molti altri.
Khronos Group nasce nel 2000 ed è diretto sin dalla sua fondazione da Neil Trevett, uno dei principali esperti al mondo in fatto di interoperabilità negli ambienti grafici, comprovata dalla sua ultradecennale esperienza presso NVIDIA, dove è tuttora il responsabile degli ecosistemi di sviluppo.
Al consorzio partecipano i cinque big tech, i principali leader dell’industria informatica e 3D, tra cui NVIDIA, Intel, AMD, Qualcomm, Arm, Samsung, Huawei, Autodesk, Dassault Systèmes, Adobe, Blender, Epic Games e Unity, molte Università pubbliche e società commerciali leader nel 3D commerce, come Shopify e IKEA, da sempre convinta fautrice della digital experience e sostenitrice del progetto diretto da Trevett.
Non a caso IKEA Place, che consente a chiunque di pre-visualizzare gli arredi del gigante svedese nel proprio ambiente domestico attraverso una semplice app mobile, è tuttora una delle esperienze in realtà aumentata di riferimento in ambito e-commerce, anche se, ironia della sorte, non è direttamente collegata alla funzione di vendita.
Khronos Group è inoltre il referente del neonato progetto Metaverse Standards Forum, capitolo dedicato nello specifico allo sviluppo di standard grafici per il metaverso e le sue applicazioni, in modo da favorire la diffusione di risorse e applicazioni utilizzabili su una base interoperabile. Il glTF è atteso anche in questo contesto a un ruolo di assoluto protagonista.