USD : le HTML du metaverse ?

6 min
120
0
0
Publié le

L’USD pour Universal Scene Description n’est pas vraiment connu dans le monde du développement IT. Et pour cause, il ne s’agit pas d’un langage de programmation, d’un framework ou encore d’un CMS mais d’un langage de description de scènes inventé par Pixar, il y a plus de 30 ans. Et pourtant, l’USD fait de plus en plus parler de lui avec l’arrivée du metaverse. Ce vieil outil est même pressenti pour devenir l’équivalent du HTML pour la description et la conception de méta-univers. Les spécialistes du secteur, en particulier chez Nvidia, estiment qu’avec la bonne architecture et la collaboration de l’industrie du jeux vidéo, l’USD pourrait provoquer une croissance dans le métaverse similaire à celle initiée dans le web par le HTML. Pour les professionnels de l’IT, la connaissance de cette technologie pourraient donc devenir un atout majeur dans leurs profils et CV. Alors, en quoi consiste concrètement l’USD ? Comment l’exploiter pour le metaverse ? Découvrez toutes les réponses dans cet article.

Qu’est-ce que l’USD ?

L’USD est d’abord né du besoin des studios d’animation Pixar d’avoir un langage plus performant pour gérer les descriptions des scènes, de l’éclairage, des caméras et de toutes les autres ressources utilisées dans leurs films. L’objectif était de simplifier les flux de travail entre les équipes de la technique et les artistes. 

L’USD aide les concepteurs à caractériser chaque forme, accessoires, éclairages, angles de vue, etc. Il fonctionne avec un système de couches qui permet également à plusieurs personnes de travailler sur la même scène en simultanée. Chacun intervient sur sa couche ou calque. Les calques peuvent ensuite être superposés pour constituer le résultat final.

L’USD a été très rapidement adopté pour son efficacité et sa simplicité. Cette nouvelle popularité du langage n’a pas tardé à attirer d’autres géants de l’industrie de l’animation et des jeux vidéo.

Ubisoft a notamment commencé à utiliser l’USD pour faciliter l’échange d’actifs 3D et l’intégration entre les outils. L’objectif était de représenter les données 3D dans des écosystèmes toujours plus grands et sans perdre en performances.

Mais c’est surtout Nvidia qui a catalysé l’attention récente autour de l’USD. Selon Frank DeLisle, vice-président de l’entreprise de conception de cartes et processeurs graphiques, l’USD n’est pas qu’un langage de description. Il pourrait améliorer la collaboration entre les humains et l’IA

Avantages et enjeux de l’USD 

Le langage de description USD a été largement adopté grâce à :

  • son modèle de données qui stipule, à un « niveau de format de fichier », comment les données sont encodées et organisées ce qui facilite l’interopérabilité et la collaboration ;

  • son système de schémas, c’est-à-dire d’objets dont le but est de concevoir et de récupérer des données structurées à partir d’un UsdObject ;

  • ses multiples API notamment pour les concepts de transformation et maillage ;

  • ses arcs de composition pour créer des compositions de plusieurs couches avec les différentes descriptions de scènes et d’accessoires, d’éclairage, etc.

  • son outil pour générer de nouveaux schémas (classes C++, liaisons python, etc.) à partir d’une simple description usd ascii du schéma.

Par exemple, voici un extrait de code issu de la documentation officielle pour la génération d’un schéma :

#usda 1.0
(
       """Ce fichier décrit un exemple de code pour la génération d’un schéma qui utilise        
usd GenSchema
 """

    subLayers = [
        # Pour faire référence à un type de schéma défini dans un autre fichier schema.usda
        # d’une autre librairie, ajoutez simplement des lignes séparés pas une virgule de la 
        # forme @<library name>/schema.usda@. Dans cet exemple, nous faisons référence 
        # au type de schémas issus de ‘usd’. Si nous ajoutions  des sous-classes de type de  
       #schémas UsdGeom, nous utiliserions Geom/schema.usda à la place.

        @usd/schema.usda@
    ]
)

over "GLOBAL" (
    customData = {
        string libraryName       = "usdSchemaExamples"
        string libraryPath       = "./"
        string libraryPrefix     = "UsdSchemaExamples"
    }
) {
}

Concrètement, lors de l’utilisation d’un fichier USD, un moteur lit la description procédurale et assemble la scène à partir des animations et modèles partagés. Tous les composants sont ensuite assemblés au moment de l’exécution (à travers un script Python ou C++). Ce fonctionnement rappelle celui d’un langage de programmation mais USD n’en est pas un et c’est d’ailleurs sa problématique majeure. Bien que Nvidia l’ait déjà surnommé le HTML de la 3D, de nombreux enjeux techniques doivent être résolus pour que l’USD puisse être utilisé dans la 3D et le metaverse.

Un HTML de la 3D ?

Le format USD prend de l’ampleur au niveau de l’échange de données. Ses normes et modèles permettraient de pallier au problème récurrent du manque d’unité de référence pour décrire l’interactivité dans la 3D et l’animation. Avec la collaboration des différents acteurs majeurs de ce secteur, l’USD pourrait donc devenir le standard dans la 3D et en particulier dans les applications du metaverse

L’USD est déjà pris en charge nativement sur les appareils Apple. La firme a d’ailleurs annoncé que ce langage jouerait un rôle essentiel dans ses projets de réalité virtuelle. Il est également pris en charge par Epic Games et son moteur Unreal ainsi que dans les suites logicielles de Autodesk.

De son côté Nvidia propose désormais le rendu RTX pour les fichiers USD au travers de sa plateforme Omniverse. La firme américaine cherche aussi à enrichir l’USD en explorant les moyens d’ajouter des fonctionnalités via des microservices et des connexions à d’autres outils. Elle a déjà commencé à ouvrir divers schémas USD tels que PhysX pour décrire le rendu de surface et tente également d’intégrer des outils d’IA au travers de microservices USD. 

Mais si l’USD est adapté et adopté pour les films et jeux vidéo, il n’est pas encore utilisable sur un navigateur web. A l’heure actuelle, il ne peut pas être directement exécuté.  Les utilisateurs doivent créer manuellement leur propre service Python ou C++ pour lire et exécuter l’USD côté serveur. Les avancées sur ce point n’en sont toujours qu’à la phase de réflexion. Pour Mohsen Rezaya, architecte en chef des solutions chez Siemens, l’idéal serait que l’USD repose sur une bibliothèque JavaScript pour permettre son usage dans les applications basées sur un navigateur web.


L’USD est donc en passe de devenir un standard dans le domaine de la 3D. Mais des avancées techniques et surtout une importante collaboration des industries du secteur seront nécessaires pour en faire réellement le HTML du metaverse. 

Et vous en tant que professionnel de l’IT, que pensez vous du langage de description de scènes et de son usage dans les méta-univers ? Avez-vous déjà eu l’occasion de travailler avec l’USD ? N’hésitez pas à nous partager vos avis et retours d’expérience sur le forum IT !



Sources et lien utiles :

Documentation officielle de l’USD par Pixar

Documentation de l’USD par Nvidia

Boostez vos projets IT

Les meilleures missions et offres d’emploi sont chez Free-Work

Continuez votre lecture autour des sujets :
# Programmation
# Code
# Développeur

Commentaire

Dans la même catégorie