Comment ajouter la prise en charge de la RV à votre projet Universal Render Pipeline ?

L'un des avantages du développement de titres Unity basés sur l'Universal Render Pipeline (URP) est qu'ils sont pris en charge sur une grande variété de plates-formes avec des modifications minimes des paramètres de rendu. Votre projet peut être exécuté sur n'importe quelle plateforme, des appareils mobiles aux consoles, en passant par les PC et même la RV.
Pour ceux qui n'ont jamais développé pour la RV, il peut être décourageant de savoir par où commencer. Que vous débutiez votre projet ou que vous ayez un projet URP existant que vous avez publié sur d'autres plateformes, nous allons passer en revue les étapes pour ajouter la prise en charge de la RV afin qu'il puisse fonctionner sur plusieurs plateformes de RV avec un minimum d'effort.
Tous les projets VR Unity ont besoin de l'outil de gestion des plug-ins XR. Ce paquet permet de configurer facilement votre projet pour les plateformes VR que vous souhaitez développer, de Meta Quest et Magic Leap à PlayStation®VR2 (PS VR2).
La boîte à outils XR Interaction (XRI) est un autre outil utile. Ce pack réduit votre temps de configuration en fournissant des préfabriqués qui mettent en œuvre des options de mouvement courantes dans la plupart des titres VR, telles que la téléportation, les virages instantanés, et bien plus encore. Pour en savoir plus sur les options offertes par le paquet XRI, consultez ce blog.
Pour ajouter ces paquets à votre projet, ouvrez le menu Fenêtre et cliquez sur Gestionnaire de paquets. Dans la fenêtre du Gestionnaire de paquets, cliquez sur "Paquets" : Dans le projet" pour développer les options, puis cliquez sur l'option "Unity Registry" pour que le gestionnaire de paquets répertorie tous les paquets disponibles.
Unity prend en charge un grand nombre de paquets, alors tapez "xr" dans la barre de recherche de la fenêtre du gestionnaire de paquets pour filtrer la liste afin que seuls les paquets spécifiques à XR soient affichés. Ensuite, cliquez sur le paquet XR Plug-in Management, puis sur le bouton Installer pour l'ajouter à votre projet. Suivez la même procédure pour ajouter le paquet XRI Toolkit.

Ensuite, ajoutons les Sample Assets fournis par l'équipe XRI pour vous aider à démarrer. Cliquez sur le package XR Interaction Toolkit dans le gestionnaire de packages, puis sur l'onglet Samples dans le panneau de détails du package. Ensuite, cliquez sur le bouton Importer en regard de Starter Assets pour ajouter des éléments qui simplifieront la configuration des comportements VR et des actions d'entrée.

Une fois ces paquets installés, vous êtes plus qu'à mi-chemin du développement pour la RV.
Ensuite, vous devez spécifier les plateformes de RV que vous souhaitez cibler. Pour ce faire, ouvrez les paramètres de votre projet et cliquez sur l'onglet XR Plug-in Management (inclus lors de l'installation du logiciel) pour afficher la liste des fournisseurs de plug-ins disponibles que vous pouvez sélectionner pour votre projet. Les fournisseurs de plug-ins sont un autre nom pour les plateformes de RV. Sélectionnez une option, comme Oculus ou Open XR, et Unity installera le(s) paquet(s) spécifique(s) à cette plateforme.

Certaines plateformes XR utilisent la cible de construction Windows, Mac et Linux dans les paramètres de construction, mais d'autres s'exécutent sur des cibles différentes. Par exemple, la construction pour PS VR2 nécessite de changer la cible de construction pour PlayStation®5 (PS5), tandis que d'autres nécessitent de passer à Android ou iOS. Assurez-vous de passer à la bonne cible de compilation pendant que vous développez afin de pouvoir détecter rapidement les erreurs et les avertissements importants. N'oubliez pas que pour développer des jeux pour la PS5, vous devez vous enregistrer en tant que développeur PlayStation.
Chaque plug-in XR fournit des contrôles de validation pour s'assurer que votre projet est correctement configuré pour être construit pour XR. Pour les trouver, allez dans la fenêtre Paramètres du projet, puis cliquez sur l'onglet Validation du projet sous l'onglet Gestion des plug-ins XR pour voir s'il y a des avertissements ou des erreurs à régler. La plupart des contrôles comportent un bouton "Réparer" qui permet de résoudre le problème.

Après avoir sélectionné les fournisseurs de plug-ins appropriés, vous êtes maintenant prêt à commencer à construire pour la ou les plateformes de RV de votre choix. Cependant, vous devez toujours associer les commandes de la RV à votre personnage de joueur existant. C'est là que les "Starter Assets" fournis par le XRI Toolkit entrent en jeu.
Dans la fenêtre de projet, accédez au dossier Samples/XR Interaction Toolkit/2.3.2/Starter Assets/Prefabs, puis faites glisser le préfabriqué Complete XR Origin Set Up dans votre scène. Ce préfabriqué est livré préchargé avec tous les composants dont vous avez besoin pour configurer l'entrée VR pour le contrôleur de votre lecteur.
Le Prefab comporte un Prefab XR Origin imbriqué qui gère la plupart des configurations de contrôleurs VR. Il possède deux objets de jeu qui représentent les mains gauche et droite du joueur, ainsi qu'une caméra principale imbriquée dans un objet de jeu de décalage de caméra qui gère le déplacement de la caméra selon que le joueur est en mode assis ou debout. Étant donné que le préfabriqué Complete XR Origin Set Up inclut sa propre caméra principale, si vous avez déjà un objet Main Camera dans votre scène, veillez à le désactiver afin d'éviter que plusieurs caméras n'essaient de rendre la vue principale de votre joueur en même temps.

Le XRI Toolkit est également accompagné d'une carte d'entrée qui associe les actions aux commandes courantes de la RV. Ces commandes sont standard sur la plupart des plateformes VR, il n'y a donc pas besoin de codage supplémentaire pour s'assurer que votre entrée est reconnue sur une variété de plateformes, y compris Meta Quest, Magic Leap, et PS VR2. Veillez à copier et à coller tous les scripts importants pour le suivi de l'état du jeu depuis votre contrôleur de joueur d'origine vers le Complete XR Origin Set Up Prefab nouvellement ajouté. N'hésitez pas à renommer le préfabriqué en quelque chose de plus facile à retenir, comme VR FPS Controller.

Le XR Origin GameObject comprend de nombreux composants qui peuvent être assez déroutants au début. Considérez le composant XR Origin du préfabriqué XR Origin comme le pilote de tous les autres composants XRI. Sans elle, la locomotion XR ne fonctionne pas. Les autres composants sont des fournisseurs qui permettent à la locomotion XR spécifique d'être possible. Ces fournisseurs correspondent à un type différent de locomotion VR, de la téléportation aux virages rapides en passant par la saisie de surfaces à deux mains et la traction, et bien d'autres choses encore.
Pour savoir comment modifier les valeurs de locomotion du préfabriqué XR Origin à votre convenance, lisez la documentation. Mais pour débuter, l'utilisation des valeurs par défaut devrait suffire.
Bien entendu, toutes les plateformes VR ne sont pas créées de la même manière, et il est essentiel de garder à l'esprit les spécifications matérielles de votre plateforme cible, en particulier lorsque les titres VR doivent atteindre une fréquence constante de 60, 90 ou 120 images par seconde pour minimiser le mal des transports. Vous pouvez y parvenir en réduisant la résolution maximale de vos yeux, en modifiant les options d'anticrénelage de votre caméra principale, en réduisant le nombre de lumières dynamiques au profit de lumières cuites, en réduisant la quantité de transparences alpha utilisées dans vos objets de jeu et en modifiant les valeurs LOD des objets de jeu afin qu'ils ne rendent une version à géométrie plus élevée que lorsque le joueur se trouve près d'eux. Pour plus de suggestions, lisez notre guide sur l'optimisation des performances graphiques.
La bonne nouvelle, c'est qu'il est très facile de passer d'un paramètre de qualité à l'autre en fonction du niveau de qualité que vous avez spécifié pour chaque plateforme. Dans l'onglet Qualité de la fenêtre Paramètres du projet, vous pouvez créer et personnaliser des niveaux de qualité qui définissent des paramètres uniques de rendu, d'anticrénelage, de LOD et d'éclairage pour vous aider à tirer le meilleur parti de chaque plateforme. En savoir plus sur le réglage des paramètres de qualité.
Maintenant que votre projet est configuré pour cibler la ou les plateformes VR de votre choix, il est temps de tester la plateforme XR nouvellement ajoutée à votre projet. Deux méthodes sont recommandées pour les tests VR : utiliser le simulateur de périphérique XR de la boîte à outils XRI pour tester la configuration dans l'éditeur ou créer le lecteur et l'exécuter sur le périphérique.
Il existe un outil pratique dans Unity appelé XR Device Simulator, qui vous permet de simuler des contrôles XR à l'intérieur de la vue Game de l'éditeur lorsque vous êtes en mode Play. Vous pouvez gagner du temps en testant vos paramètres de locomotion sans construire votre projet. Pour ajouter le XR Device Simulator à votre projet, ouvrez la fenêtre Package Manager, revenez au package XRI Toolkit, cliquez sur l'onglet Samples et, sous Sample Assets, cliquez sur le bouton Import à côté de XR Device Simulator.

Une fois installé, ouvrez la fenêtre Project Settings et cliquez sur l'onglet XRI Toolkit. Dans cet onglet, activez la case à cocher "Use XR Device Simulator in scenes" (Utiliser le simulateur de périphérique XR dans les scènes) pour ajouter le simulateur de périphérique XR au moment de l'exécution lorsque vous passez en mode lecture. Vous pouvez également faire glisser et déposer le préfabriqué XR Device Simulator de la fenêtre de projet directement dans votre scène.

Désormais, lorsque vous entrerez en mode Play dans l'éditeur, vous pourrez utiliser les commandes WASD et la souris pour déplacer votre XR Rig et appuyer sur la touche Tab pour basculer entre le déplacement de toutes les commandes, de la main gauche ou de la main droite uniquement. Il ne s'agit pas d'une correspondance 1:1 avec l'entrée VR réelle, mais cela vous aidera à tester si vos paramètres de locomotion fonctionnent comme prévu dès le départ.
N'oubliez pas qu'avant de construire votre projet, vous devez soit désactiver la case à cocher "Use XR Device Simulator in scenes" dans la fenêtre XRI Toolkit Project Settings, soit désactiver/supprimer le XR Device Simulator de votre scène. Sinon, vos commandes VR ne fonctionneront pas correctement sur l'appareil. En effet, le simulateur de dispositif XR simule l'entrée VR à partir d'une souris et d'un clavier ou d'un contrôleur de jeu et ignore l'entrée provenant de contrôleurs VR réels.

La deuxième méthode pour tester votre XR Rig consiste simplement à le construire et à l'exécuter sur votre plateforme cible. La configuration de chaque périphérique XR pour l'exécution des builds Unity est unique, alors lisez la documentation sur la façon de les connecter à votre machine de développement pour obtenir les informations les plus récentes. Une fois votre appareil connecté, choisissez Build and Run dans la fenêtre Build Settings (Paramètres de construction) pour créer la construction pour votre plate-forme cible et la charger sur l'appareil.
Une fois la compilation exécutée sur l'appareil, vous pouvez tester les entrées vous-même et voir ce qui fonctionne et ce qui ne fonctionne pas. La seule limite est d'attendre la fin de la construction et d'avoir un appareil disponible pour tester.
Grâce à ces étapes et à quelques ajustements mineurs des paramètres de rendu par fovéation, j'ai pu faire fonctionner la scène du jardin japonais du nouveau modèle URP sur le PS VR2, qui a été présenté à la GDC 2023.
J'espère que ce guide rapide vous aidera à ajouter la prise en charge de la RV à votre projet. Si vous avez des doutes sur une partie de la configuration de la RV, vous pouvez consulter le guide Unity de configuration de votre projet pour la RV pour plus d'informations.
Les équipes XR et URP travaillent d'arrache-pied pour simplifier au maximum le développement pour de multiples plateformes. Veuillez partager vos commentaires sur Universal Render Pipeline dans le forum URP et vos commentaires sur XR dans le forum XR. Surveillez les prochains blogs techniques des développeurs Unity dans le cadre de lasérie permanente Tech from the Trenches.
