Samsung Galaxy XR est disponible, optimisé par Android XR. Cet article de blog fait partie de notre semaine spéciale Android XR, au cours de laquelle nous proposons des ressources (articles de blog, vidéos, exemples de code, etc.) conçues pour vous aider à découvrir, créer et préparer vos applications pour Android XR.
C'est le moment idéal pour vous lancer dans le développement XR. En décembre dernier, nous avons annoncé Android XR, la nouvelle plate-forme Android de Google basée sur des normes ouvertes telles qu'OpenXR et Vulkan, qui rend le développement XR plus accessible que jamais.
Combiné aux outils XR existants de Unity, vous obtenez une pile de développement puissante et mature. Vous pouvez ainsi créer et déployer des applications XR qui fonctionnent sur plusieurs appareils.
Que vous ayez déjà développé en XR ou non, nous voulons vous aider à vous lancer.
Ce blog vous permettra de vous familiariser avec le développement Android XR et Unity. Nous nous concentrerons sur les étapes pratiques pour configurer votre environnement, comprendre l'écosystème de packages et commencer à créer.
À la fin de cet article, vous aurez une bonne compréhension des éléments suivants :
- L'écosystème de packages
- Les étapes de configuration essentielles
- Les modes de saisie
- La confidentialité et les autorisations
- Les calques de composition
Unity pour le développement Android XR
Vous pouvez choisir Unity pour sa compatibilité multiplate-forme, qui vous permet de créer une seule fois et de déployer sur Android XR et d'autres appareils XR.
Lorsque vous utilisez Unity, vous bénéficiez de son écosystème et de ses outils XR matures. Il dispose déjà de packages établis tels que XR Interaction Toolkit, le plug-in OpenXR, les calques de composition XR, XR Hands, une vaste boutique d'éléments remplie de composants et de modèles prêts pour la XR, ainsi que des outils de simulation et de test XR. Depuis la sortie d'Unity 6 en novembre dernier, vous bénéficiez également de l'amélioration des performances du pipeline de rendu universel (URP), d'une meilleure prise en charge des graphiques Vulkan et de profils de compilation améliorés.
Voici quelques exemples de projets pour vous donner une idée de ce qui peut être fait :
Configuration essentielle : les bases de votre développement
Exigences et installation d'Unity 6
Vous aurez besoin d'Unity 6 pour créer votre application, car les versions antérieures ne sont pas compatibles avec Android XR. Installez d'abord Unity Hub, puis Unity 6 avec le module Android Build Support en suivant ces étapes.
Profils de compilation Android XR : simplifier la configuration
Les profils de compilation Unity sont des éléments de projet qui stockent vos paramètres et configurations spécifiques à la plate-forme. Ainsi, au lieu de devoir configurer manuellement 15 à 20 paramètres différents dans plusieurs menus, vous pouvez utiliser un profil de compilation pour le faire automatiquement.
Vous pouvez créer vos propres profils de compilation, mais pour l'instant, nous vous recommandons d'utiliser le profil de compilation Android XR dédié que nous avons créé.
Vous pouvez sélectionner votre profil de compilation en sélectionnant File > Build Profile (Fichier > Profil de compilation) dans votre projet Unity. Pour obtenir des instructions complètes, consultez la page de workflow Développer pour Android XR.
Si vous apportez des modifications, vous pouvez créer un profil de compilation à partager avec votre équipe. Vous garantissez ainsi une expérience de compilation cohérente.
Après ces étapes, vous pouvez compiler et exécuter votre APK pour les appareils Android XR.
API graphiques : pourquoi Vulkan est important
Une fois votre projet Unity configuré avec un profil de compilation Android XR, nous vous recommandons de vous assurer que Vulkan est défini comme API graphique. Android XR est conçu comme une plate-forme Vulkan-first. En mars 2025, Google a annoncé que Vulkan était désormais l'API graphique officielle pour Android. Il s'agit d'une API graphique moderne de bas niveau qui aide les développeurs à maximiser les performances des GPU modernes et à déverrouiller des fonctionnalités avancées telles que le ray tracing et le multithreading pour des visuels de jeu réalistes et immersifs.
Ces normes offrent la meilleure compatibilité pour vos applications existantes et facilitent les problèmes et les coûts de portage. Elles permettent également d'activer des fonctionnalités Android XR avancées telles que URP Application Space Warp et le rendu fovéal.
Unity 6 gère Vulkan automatiquement. Ainsi, lorsque vous utilisez le profil de compilation Android XR, Unity configure Vulkan comme API graphique. Vous avez ainsi accès à toutes les fonctionnalités Android XR avancées sans aucune configuration manuelle.
Vous pouvez vérifier les paramètres de votre API graphique en accédant à "Edit" (Modifier) > "Project Settings" (Paramètres du projet) > "Player" (Lecteur) > "Android tab" (Onglet Android) > "Other settings" (Autres paramètres) > "Graphics APIs" (API graphiques).
Comprendre l'écosystème de packages
Vous pouvez utiliser deux packages différents pour Android XR dans Unity. L'un consiste à utiliser les extensions Android XR pour Unity, et l'autre à utiliser le package Unity OpenXR : Android XR.
Cela peut sembler identique, mais suivez-moi.
Le package Unity OpenXR : Android XR est le package Unity officiel pour la prise en charge d'Android XR. Il fournit la majorité des fonctionnalités Android XR, disponibles via les normes OpenXR. Il permet également l'intégration d'AR Foundation pour les fonctionnalités de réalité mixte. L'avantage principal de l'utilisation du package Unity OpenXR : Android XR est qu'il offre une API unifiée pour la prise en charge des appareils XR.
Les extensions Android XR pour Unity sont le package XR de Google, conçu spécifiquement pour le développement sur les appareils Android XR. Il complète le package Unity OpenXR avec des fonctionnalités supplémentaires telles que les modes de fusion de l'environnement, le maillage de la scène, le suivi des images et le suivi du corps. L'inconvénient est que vous ne pouvez développer que pour les appareils Android XR.
Le choix dépendra de vos besoins spécifiques, mais nous vous recommandons généralement d'opter pour Unity OpenXR : Android XR, car il vous offre beaucoup plus de flexibilité pour les appareils avec lesquels votre application sera compatible. Ensuite, en fonction des exigences de votre application, vous pouvez ajouter des extensions Android XR pour Unity.
Installer des packages
Pour ajouter un package, lorsque votre projet est ouvert dans Unity, sélectionnez "Window" (Fenêtre) > "Package Management" (Gestion des packages) > "Package Manager" (Gestionnaire de packages).
Vous pouvez installer ces packages à partir de l'onglet "Unity Registry" (Registre Unity) :
Vous pouvez installer le package Android XR pour Unity via GitHub en sélectionnant l'icône ➕, puis "Install package from git URL" (Installer le package à partir de l'URL Git), puis en saisissant "https://github.com/android/android-xr-unity-package.git".
Fonctionnalités OpenXR requises
Maintenant que les packages dont vous avez besoin sont installés, activons certaines fonctionnalités de base pour que notre projet fonctionne.
Vous pouvez activer le paramètre OpenXR pour Android : "Edit" (Modifier) -> "Project Settings" (Paramètres du projet) -> "XR Plugin Management" (Gestion des plug-ins XR) -> cliquez sur Android et activez OpenXR
Nous devons ensuite activer la prise en charge d'"Android XR support" (Prise en charge d'Android XR). Nous aborderons d'autres fonctionnalités OpenXR au fur et à mesure de nos besoins. Pour l'instant, nous devons simplement activer la prise en charge d'Android XR.
Entrée
Android XR prend en charge les entrées pour les mains, la voix, le suivi des yeux, le clavier et les manettes. Nous vous recommandons d'installer XR Interaction Toolkit et XR Hands, car ils contiennent les meilleurs prefabs pour commencer. En utilisant ces prefabs, vous disposerez de tout ce dont vous avez besoin pour prendre en charge les mains et les manettes dans votre application.
Une fois XR Hands et XR Interactive Toolkit installés, je vous recommande d'importer les éléments de démarrage et la démo d'interaction avec les mains. Vous devez ensuite activer les profils d'interaction avec les mains et de manette simple Khronos, puis activer les fonctionnalités de sous-système de suivi des mains et de suivi des mains Meta.
Vous pouvez modifier ces paramètres en accédant à "Edit" (Modifier) > "Project Settings" (Paramètres du projet) > "XR Plug-in Management" (Gestion des plug-ins XR) > "OpenXR"
Nous vous recommandons également le prefab d'Unity, XR Origin, qui représente la position et l'orientation de l'utilisateur dans l'espace XR. Il contient le rig de caméra et les composants de suivi nécessaires pour afficher votre expérience XR du bon point de vue.
Le moyen le plus simple d'ajouter ce prefab est de l'importer à partir de la démo d'intégration des mains que nous avons importée précédemment, que vous trouverez ici : "Hands Integration Toolkit" (Kit d'intégration des mains) > "Hand Interaction" (Interaction avec les mains) > "Prefabs" > "XR Origin"
Je vous recommande d'utiliser ce prefab plutôt que l'option "XR Origin" dans vos objets de jeu, car il utilise le gestionnaire de modalités d'entrée XR, qui bascule automatiquement entre les mains et les manettes des utilisateurs. Vous obtiendrez ainsi les meilleurs résultats pour passer des mains aux manettes.
Confidentialité et autorisations : gagner la confiance des utilisateurs
Quel que soit ce que vous créez, vous devrez obtenir les autorisations d’exécution des utilisateurs. En effet, la compréhension de la scène, le suivi des yeux, le suivi du visage et le suivi des mains donnent accès à des données qui peuvent être plus sensibles pour l'utilisateur.
Ces fonctionnalités fournissent des informations personnelles plus approfondies que les applications de bureau ou mobiles traditionnelles. Les autorisations d'exécution garantissent donc que vos utilisateurs ont un contrôle total sur les données qu'ils choisissent de partager. Ainsi, pour respecter les règles de sécurité et de confidentialité d'Android, Android XR dispose d'autorisations pour chacune de ces fonctionnalités.
Par exemple, si vous utilisez le package XR Hands pour des gestes personnalisés, vous devrez demander l'autorisation de suivi des mains (voir ci-dessous), car ce package doit suivre de nombreuses informations sur les mains de l'utilisateur. Cela inclut le suivi des poses des articulations des mains, ainsi que des vitesses angulaires et linéaires.
Remarque : Pour obtenir la liste complète des extensions nécessitant des autorisations, consultez les informations sur le site Web des développeurs XR.
const string k_Permission = "android.permission.HAND_TRACKING"; #if UNITY_ANDROID void Start() { if (!Permission.HasUserAuthorizedPermission(k_Permission)) { var callbacks = new PermissionCallbacks(); callbacks.PermissionDenied += OnPermissionDenied; callbacks.PermissionGranted += OnPermissionGranted; Permission.RequestUserPermission(k_Permission, callbacks); } } void OnPermissionDenied(string permission) { // handle denied permission } void OnPermissionGranted(string permission) { // handle granted permission } #endif // UNITY_ANDROID
Améliorer la qualité visuelle avec les calques de composition
Un calque de composition est la méthode recommandée pour afficher les éléments d'interface utilisateur. Ils permettent d'afficher des éléments d'une qualité bien supérieure à celle du pipeline de rendu standard d'Unity, car tout est rendu directement dans le compositeur de la plate-forme.
Par exemple, si vous affichez du texte, le rendu Unity standard est plus susceptible d'avoir un texte flou, des bords doux et des artefacts visuels. Avec les calques de composition, le texte sera plus clair, les contours plus nets et l'expérience globale sera meilleure.
En plus du texte, il affiche également des vidéos, des images et des éléments d'interface utilisateur d'une qualité bien supérieure. Pour ce faire, il utilise la prise en charge native des calques de compositeur du runtime.
Pour activer les calques de composition, ouvrez le gestionnaire de packages, sélectionnez "Unity Register" (Registre Unity), puis installez "XR Composition Layers" (Calques de composition XR).
Compiler et exécuter
Maintenant que vos packages OpenXR sont installés et que les fonctionnalités sont activées, vous pouvez configurer un prefab pour les mouvements de la main et de la tête, puis créer votre scène et la déployer directement sur votre casque pour la tester.
Et ensuite : développer vos compétences
Maintenant que votre environnement de développement Android XR est configuré et que vous comprenez les concepts clés, voici les étapes suivantes pour poursuivre votre parcours de développement XR :
Ressources essentielles pour poursuivre votre apprentissage :
- Documentation pour les développeurs Android XR : guides complets pour toutes les fonctionnalités Android XR
- Manuel de développement Unity XR - ressources officielles de développement XR d'Unity
Exemples de projets à explorer :
- Exemples Unity Android XR : exemples de projets officiels de Google présentant différentes fonctionnalités Android XR
- Exemples de XR Interaction Toolkit Unity : exemples complets d'interactions XR et de mécanismes de jeu
- Modèle VR Unity : point de départ complet pour les projets VR
- Modèle multijoueur VR : explorez les expériences XR sociales
Lire la suite
-
Tutoriels
Conscient que la consommation excessive de la batterie est une préoccupation majeure pour les utilisateurs d'Android, Google a pris des mesures importantes pour aider les développeurs à créer des applications plus économes en énergie.
Alice Yuan • 8 minutes de lecture
-
Tutoriels
Nous voulions vous fournir des exemples de fonctionnalités basées sur l'IA à l'aide de modèles sur l'appareil et dans le cloud, et vous inciter à créer des expériences agréables pour vos utilisateurs.
Thomas Ezan, Ivy Knight • 2 minutes de lecture
-
Tutoriels
Le guide de niveau de performances comporte cinq niveaux. Nous commencerons par le niveau 1, qui présente des outils de performances nécessitant un effort d'adoption minimal, et nous passerons au niveau 5, idéal pour les applications qui disposent des ressources nécessaires pour maintenir un framework de performances sur mesure.
Alice Yuan • 9 minutes de lecture
Restez informé
Recevez chaque semaine les dernières informations sur le développement Android dans votre boîte de réception.