Dopo l'annuncio di Zuckerberg su Meta, l'interesse verso le nuove necessità legate alla rappresentazione di un tale metaverso sembra cominciare a crescere. Di recente, infatti, alcuni portavoce di nVidia hanno menzionato la necessità di un formato di file che potesse essere utilizzabile in questo contesto, per rappresentare il mondo tridimensionale in modo efficace ed efficiente.
Il formato in questione potrebbe essere USD (acronimo che sta per Universal Scene Description).
Il formato USD
USD è un formato open source, già adottato da diverse aziende (tra cui Apple e Pixar) in vari contesti, e le cui origini possono essere fatte risalire a circa 30 anni fa. Inizialmente utilizzato dalla Pixar per poter condividere e riutilizzare le centinaia di migliaia di risorse 3D per i suoi film, il formato è stato reso open nel 2016.
Richard Kerris, vicepresidente della piattaforma Omniverse di Nvidia, lo ha descritto come l'"HTML del 3D", ed in effetti si tratta di un linguaggio di descrizione di scene, che può essere poi interpretato e utilizzato per il rendering effettivo. Il codice seguente ne esemplifica la sintassi:
#usda 1.0
class "_class_Planet"
{
}
def Sphere "Planet" (
inherits = </_class_Planet>
kind = "model"
variantSets = "rings"
variants = {
string rings = "none"
}
)
{
variantSet "rings" = {
"none" {
bool has_rings = False
}
"with_rings" {
bool has_rings = True
}
}
}
Secondo nVidia, tale formato potrebbe rappresentare un ottimo punto di partenza per consentire la costruzione di un metaverso collaborativo su Omniverse, attraverso cui le aziende possano costruire interi mondi 3D, modelli di intelligenza artificiale e machine learning, nonché avatar animati.
L'idea si basa sulla possibilità di condividere e riutilizzare le risorse 3D attraverso applicazioni di realtà virtuale sviluppate da più aziende. USD consentirebbe di farlo in modo collaborativo, fungendo da piattaforma per la condivisione di set di animazioni, materiali e altre risorse di questo tipo. Tramite questo formato, è altresì possibile definire scene in cui tener conto di posizione e orientamento degli oggetti, dei colori, dei livelli e molto altro.
Come funziona USD
Per effettuare il rendering di un file USD, un motore legge la descrizione procedurale in esso contenuta, in modo da interpretare il modo in cui mettere insieme tutte le risorse in un'unica scena. Una recente collaborazione tra nVidia ed Apple ha portato, ad esempio, alla possibilità di descrivere simulazioni di movimenti di corpi rigidi sfruttando proprio USD.
La separazione tra descrizione e rendering è ciò che ha portato Pixar ad investire così tanto su questo formato. USD ha infatti fornito la flessibilità per diversi reparti dell'azienda di lavorare in modo indipendente, ma anche di collaborare su aspetti come l'illuminazione, il colore e i livelli prima di eseguire il rendering di una scena principale.
USD è nativamente supportato da Apple sui suoi dispositivi, e si prevede che potrà assumere un ruolo di rilievo nel futuro della realtà virtuale dell'azienda. USD è supportato anche da Epic Games su Unreal Engine, così come nelle suite software di Autodesk (come Maya).
Alternative a USD
USD non è ovviamente l'unico formato che potrebbe essere adatto al metaverso di cui abbiamo parlato. Un'altra possibilità potrebbe essere rappresentata, ad esempio, dai formati Alembic (annunciato nel 2010 da Sony e Lucasfilm, e utilizzato per film come Men in Black 3 e The Amazing Spider-Man) o glTF 3D (formato open source supportato da Khronos Group).
Il vero problema è rendere USD (o uno di questi altri formati) in grado di poter essere utilizzato in contesti molto diversi da quelli del rendering per i film, dal momento che il metaverso dovrebbe essere accessibile via Internet sui comuni browser web. La possibilità di vederlo quindi davvero in azione passa per la disponibilità di librerie JavaScript, efficacemente utilizzabili in questi scenari.