Table of Contents

Choisir un moteur 3d avant de développer la réalité augmentée

La première étape du développement RA consiste à choisir un moteur 3D approprié. Ce chapitre explique pourquoi un moteur 3D est nécessaire, présente les moteurs 3D courants pour le développement RA et leurs avantages et inconvénients respectifs.

Pourquoi la RA a besoin d'un moteur 3d

La réalité augmentée ne consiste pas simplement à superposer des images 2D ou 3D sur le flux de la caméra. C'est un système tridimensionnel en temps réel, dont les capacités fondamentales peuvent également inclure :

  • Modélisation de caméra réelle Pour que les objets virtuels rendus paraissent plus réalistes dans le monde réel, la matrice de projection de la caméra dans le moteur 3D utilisé pour le rendu doit être ajustée en fonction des paramètres utilisés par le flux de la caméra réelle (par exemple, paramètres intrinsèques/extrinsèques, modèle de distorsion, etc.).
  • Gestion du système de coordonnées spatiales Gérer de manière unifiée la position et l'orientation entre l'appareil, l'environnement, le contenu RA, etc. Responsable de la sélection, de la configuration et de la conversion entre les coordonnées mondiales, les coordonnées de la caméra et les coordonnées de l'appareil.
  • Rendu 3D en temps réel Obtenir des effets d'occlusion réalistes entre les objets virtuels et l'environnement en fonction de la profondeur de scène estimée en temps réel ou des maillages reconstruits, simuler des ombres en fonction des algorithmes d'estimation de l'éclairage pour réaliser une fusion réaliste entre virtuel et réel.
  • Gestion des ressources et du cycle de vie Gérer les ressources et le contenu RA virtuels, couvrant leur chargement, affichage, déchargement et toute la gestion de leur cycle de vie.

Ces capacités constituent les responsabilités fondamentales d'un moteur 3D typique. Par conséquent, choisir un moteur 3D adapté en fonction des besoins spécifiques du projet est l'une des conditions préalables nécessaires pour réaliser rapidement des effets RA.

Moteurs 3d courants

EasyAR prend en charge plusieurs moteurs 3D, y compris des moteurs courants comme Unity, Unreal ou le développement natif (Native). EasyAR fournit des exemples et une documentation de développement pour Unity et le développement natif.

Unity

Unity se positionne comme un moteur 3D en temps réel universel et est actuellement le premier choix de la plupart des développeurs RA. Unity prend nativement en charge le développement multi-plateformes pour Windows/macOS ainsi que iOS/Android/visionOS. L'écosystème Unity est mature, avec une documentation et des exemples complets.

Native

Par rapport à l'utilisation de moteurs haut niveau comme Unity, les avantages d'un développement RA directement basé sur des API graphiques natives (comme OpenGL, Vulkan, Metal) peuvent être résumés ainsi : dépendances système réduites, environnement d'exécution pouvant être extrêmement léger, possibilité de personnaliser en profondeur le modèle de caméra et les algorithmes de bas niveau. Le développement avec des API natives présente des coûts d'ingénierie et de maintenance élevés, un manque d'éditeur et d'outils de débogage matures, une faible efficacité d'itération, des difficultés de portabilité multi-plateformes et n'est pas propice à une livraison rapide au niveau produit. Il est généralement utilisé pour implémenter des fonctionnalités simples.

Web

Le Web ne nécessite aucune installation et est utilisable directement via un navigateur, avec des coûts de distribution et d'accessibilité extrêmement faibles. Il est naturellement multi-plateformes et adapté à un déploiement rapide et à un accès par un grand nombre d'utilisateurs. Le seuil d'entrée en développement est relativement faible, et l'écosystème front-end est mature.

Actuellement, le Web reste assez limité dans les applications RA, principalement en raison de performances restreintes par le navigateur et le bac à sable de sécurité, offrant un support insuffisant pour des capacités RA fondamentales comme le suivi de mouvement, l'occlusion, l'éclairage précis. L'accès aux capacités de l'appareil est limité, et la stabilité et la cohérence sont difficiles à garantir. Par conséquent, le Web AR convient à la "présentation et au marketing légers", mais pas aux applications RA complexes nécessitant une haute précision et une forte interaction.

Pour aller plus loin