Ce guide décrit comment ajouter le support du Tableau de bord Oculus aux applications Unity.
Rift Core 2.0 apporte des changements substantiels à Oculus Home et remplace le menu général par le Tableau de bord Oculus. Cette page décrit comment vous pouvez prendre en charge le Tableau de bord dans votre application Unity.
Dash réimplémente le menu général en tant que compositor layer VR. Visionnez la vidéo de présentation du Tableau de bord Oculus dans notre publication de blog Welcome to Rift Core 2.0 (Bienvenue dans Rift Core 2.0) pour avoir un aperçu de son fonctionnement.
À partir du runtime 1.22, lorsque les utilisateur·ices mettent une application en pause, ce n’est pas le menu général qui est rendu dans un salon vide, mais une des deux choses suivantes qui se produit :
Si votre application prend en charge le Tableau de bord, elle se met en pause et l’UI du menu Tableau de bord s’affiche au-dessus de votre application en pause.
Si votre application ne prend pas en charge le Tableau de bord, elle est mise en pause par le runtime et l’utilisateur·ice voir apparaître l’UI du menu Tableau de bord dans un salon vide, de la même manière que le menu général s’affichait auparavant.
Quand l’UI Tableau de bord est active, le runtime affiche les manettes suivies dans la scène pour permettre à l’utilisateur·ice d’interagir avec le menu.
Intégrer la prise en charge du Tableau de bord
Avec le Tableau de bord, nous avons introduit le concept d’input focus, c’est-à-dire le fait que l’utilisateur ou l’utilisatrice se concentre sur votre application ou ailleurs. L’ajout de la prise en charge du Tableau de bord à votre application implique de gérer correctement les moments où votre application est en cours d’exécution, mais où le focus de l’utilisateur·ice est ailleurs.
Pour vérifier si votre application a l’input focus, interrogez OVRManager.hasInputFocus à chaque image. Si votre application a le focus, hasInputFocus renvoie true. Si le focus de l’utilisateur·ice est ailleurs, comme quand l’utilisateur·ice ouvre le menu Tableau de bord ou supprime son visiocasque, hasInputFocus renvoie false.
Dans les applications ou les expériences à un·e seul·e joueur·se, vous pouvez mettre l’application en pause, mettre en sourdine la lecture audio et arrêter de rendre les manettes/mains suivies présentes dans la scène (le Tableau de bord utilisera un ensemble de mains séparé).
Les expériences multijoueur peuvent souhaiter gérer différemment la perte d’input focus. Vous devez masquer les mains et ignorer toute entrée alors que l’application n’a pas l’input focus, mais vous pouvez souhaiter continuer la lecture audio et le match en arrière-plan.
Pour prendre en charge correctement le Tableau de bord dans votre application, vous devez utiliser Oculus OVRPlugin version 1.19 ou ultérieure (voir les versions Unity prises en charge dans la section décrivant comment installer l’éditeur Unity du guide de démarrage pour plus d’informations). Nous vous recommandons d’utiliser une des versions de l’éditeur Unity qui inclut la prise en charge du Tableau de bord intégré. Ces versions permettent de configurer facilement l’application pour prendre en charge le Tableau de bord, et elles fournissent automatiquement des informations de profondeur qui permettent de dessiner l’UI Tableau de bord sur une scène sans conflit de profondeur avec le contenu de la scène.
La prise en charge du Tableau de bord est fournie dans les versions Unity suivantes :
Unity 2017.3b11 ou une version ultérieure
Unity 2018.x
Ajoutez la prise en charge du Tableau de bord dans l’éditeur Unity en cochant les cases suivantes :
Share Depth Buffer (Partager le tampon de profondeur) : les informations de profondeur permettent d’éviter les conflits de profondeur entre l’UI Tableau de bord rendue dans la scène et les objets de la scène, et permettent de tester la profondeur de la couche compositeur.
Dash Support (Prendre en charge le Tableau de bord) : cochez cette case pour configurer votre application afin de signaler au runtime Oculus que l’application est compatible avec le Tableau de bord. Ne cochez pas cette case dans les versions destinées à être soumises au Store tant que vous n’avez pas testé votre application avec le Tableau de bord et vérifié qu’elle fonctionne correctement.
La prise en charge du Tableau de bord est activée par défaut dans toutes les versions personnalisées d’Unity avec prise en charge du Tableau de bord ainsi que dans Unity 2017.3b11 et versions ultérieures, et les versions 2017.3f1-2. Elle est désactivée par défaut dans toutes les autres versions, et nous prévoyons de la désactiver par défaut dans la version 2017.3f3 et les versions ultérieures.
En plus de ces cases à cocher, vous pouvez également activer la prise en charge du Tableau de bord en lançant votre application avec le paramètre de lancement -oculus-focus-aware true.
Tableau de bord Oculus dans les exemples de démarrage Unity
Consultez l’exemple Input Focus dans les exemples de démarrage Unity pour obtenir un exemple de gestion typique de l’input focus dans une application.