Photo vers 3D pour la VR : un objectif différent

Passer d'une simple photo à un modèle 3D utilisable dans un casque VR ne se résume pas à convertir un fichier. La VR consomme des assets 3D dits « temps réel » : le moteur ou le casque doit pouvoir les charger et les afficher de manière interactive, image après image, sans latence perceptible.

Cette contrainte distingue radicalement la VR de l'impression 3D ou de la conversion de fichiers généraliste. Un modèle pensé pour l'impression peut être lourd, non optimisé, sans matériaux ni textures adaptés au rendu temps réel. Un asset VR, lui, doit être pensé dès le départ pour être déballé et rendu efficacement par un moteur.

glTF et .glb : le format de référence pour la VR

glTF est une spécification libre de droits conçue pour la transmission et le chargement efficaces de scènes et de modèles 3D par les moteurs et les applications. Son objectif : minimiser la taille des assets et le traitement nécessaire à l'exécution pour les déballer et les utiliser. C'est exactement le type de contrainte que la VR impose.

Le cœur de glTF est un fichier JSON qui décrit la structure et la composition d'une scène contenant des modèles 3D. Cette scène peut être stockée dans un seul fichier binaire glTF, avec l'extension .glb. Les éléments de premier niveau incluent les scènes et les nœuds, les caméras, les maillages, les tampons, les matériaux, les textures, les squelettes et les animations.

En 2022, glTF 2.0 a été publié comme norme internationale ISO/IEC 12113:2022. Pour un pipeline VR, c'est un repère important : le format est reconnu, stable et pensé pour l'exécution.

  • glTF : spécification libre de droits pour la diffusion d'assets 3D à l'exécution.
  • .glb : fichier binaire unique regroupant la scène et ses ressources.
  • ISO/IEC 12113:2022 : la norme internationale publiée pour glTF 2.0.
  • Éléments couverts : scènes, nœuds, caméras, maillages, matériaux, textures, squelettes, animations.

WebXR : la VR dans le navigateur

Côté web, le W3C WebXR Device API décrit la prise en charge de l'accès aux appareils de réalité virtuelle (VR) et de réalité augmentée (AR), y compris les capteurs et les casques, depuis le Web. Si votre objectif est de visualiser un modèle 3D dans un casque via une page web, c'est cette API qui sert de fondation.

Cela signifie qu'un asset 3D destiné à la VR web doit respecter les mêmes exigences de légèreté et d'efficacité qu'un asset natif : le navigateur doit pouvoir le charger rapidement et le rendre en temps réel dans le casque.

ARCore et ARKit : la 3D sur mobile

La réalité augmentée mobile s'appuie sur des frameworks propres à chaque plateforme. Google fournit ARCore, dont la documentation inclut des fonctionnalités de profondeur — profondeur brute et profondeur géospatiale — destinées à ajouter du réalisme aux expériences AR. Apple propose de son côté ARKit, documenté pour iOS.

Ces frameworks ne sont pas de la VR à proprement parler, mais ils partagent une exigence commune : un modèle 3D doit être assez léger et correctement structuré pour être rendu en temps réel sur un appareil mobile ou un casque.

Ce que la VR change par rapport à l'impression 3D

Un modèle destiné à l'impression 3D et un modèle destiné à la VR n'ont pas les mêmes priorités. L'impression se moque du nombre de polygones tant que la géométrie est fermée et imprimable. La VR, elle, impose ses propres exigences : efficacité à l'exécution, gestion des textures, et échelle réelle correcte.

C'est pourquoi un fichier STL — courant en impression 3D — n'est pas un format de diffusion VR. STL ne transporte ni matériaux, ni textures, ni animations. À l'inverse, glTF et .glb sont conçus pour l'exécution et couvrent ces aspects.

  • La VR privilégie l'efficacité à l'exécution, pas la densité géométrique.
  • Les textures et matériaux font partie de l'asset VR, contrairement au STL.
  • L'échelle réelle du modèle compte pour l'expérience VR.
  • Un modèle pour l'impression n'est pas automatiquement prêt pour la VR.

Ce que l'on ne peut pas encore affirmer

Il faut être honnête sur les limites. La recherche disponible n'établit pas de budget précis de polygones, de limite de résolution de texture ou d'objectif de performance pour les casques VR. Elle ne détaille pas non plus comment une seule photo est convertie en maillage 3D — photogrammétrie, estimation de profondeur ou reconstruction par IA — ni la précision réelle d'une telle conversion.

De même, on ne sait pas quels formats chaque plateforme VR, moteur ou casque accepte officiellement en pratique. La manière de régler et de vérifier l'échelle réelle en mètres pour un asset VR n'est pas non plus établie, pas plus que le comportement des parties flottantes ou déconnectées dans une interaction VR.

Enfin, la question de savoir si glTF/GLB est préféré à FBX ou OBJ spécifiquement pour les pipelines VR, et si WebXR est pris en charge sur tous les casques que le lecteur est susceptible d'utiliser, reste ouverte.

Questions fréquentes

Quel format utiliser pour un modèle 3D destiné à la VR ?+

glTF, et sa version binaire .glb, est le format standardisé de diffusion d'assets 3D à l'exécution. Il est conçu pour minimiser la taille des assets et le traitement nécessaire pour les déballer et les utiliser, ce qui correspond aux contraintes de la VR. glTF 2.0 est devenu une norme ISO/IEC en 2022.

Peut-on afficher un modèle 3D dans un casque VR depuis un navigateur ?+

Oui, le W3C WebXR Device API décrit la prise en charge de l'accès aux appareils VR et AR, y compris les capteurs et les casques, sur le Web. C'est la base technique pour afficher de la 3D immersive dans un navigateur.

ARCore et ARKit servent-ils à la VR ?+

ARCore (Google) et ARKit (Apple) sont des frameworks de réalité augmentée mobile. ARCore documente notamment des fonctionnalités de profondeur pour ajouter du réalisme aux expériences AR. Ils ne remplacent pas un pipeline VR, mais partagent l'exigence d'un rendu 3D en temps réel.