Aller au contenu principal

Contrôleurs Inverse3 et VerseGrip

Contrôleur Inverse3 et VerseGrip​

Les contrôleurs Inverse3 et VerseGrip sont conçus pour intégrer leurs périphériques physiques respectifs aux objets de jeu Unity, grâce au Device Mapper. En exploitant des données de capteurs à haute fréquence, ces composants permettent un contrôle précis et réactif dans l'environnement virtuel. Leurs fonctionnalités sont harmonieusement alignées, tant sur le plan de la logique que des capacités, afin d'offrir une expérience utilisateur unifiée.

Ces contrôleurs constituent la pierre angulaire du package Unity Haply Inverse, qui permet aux développeurs de créer des applications de RV immersives et interactives en tirant parti des capacités avancées du matériel de Haply. Ils gèrent avec aisance la conversion entre les coordonnées locales des périphériques et les paramètres spatiaux du monde de jeu, afin d'assurer des interactions authentiques et engageantes.

Contrôleur Inverse3​

Le composant Inverse3 Controller est essentiel pour associer un périphérique Inverse3 à son objet de jeu correspondant. Il utilise des données de capteurs à haute fréquence pour refléter avec précision les mouvements physiques du périphérique dans l'espace virtuel. Ses principales fonctionnalités sont les suivantes :

Principales fonctionnalités et API d'Inverse3​

  • Événement Device State Changed : Cœur du Inverse3 Controller, cet événement est déclenché à chaque trame haptique et fournit des mises à jour en temps réel de la position et de la vitesse du curseur. Il est essentiel pour les applications qui doivent suivre en continu l'état du périphérique ou implémenter des commandes en temps réel.

  • Récupération de la position et de la vitesse : Offre des propriétés comme CursorPosition, CursorVelocity, CursorLocalPosition et CursorLocalVelocity pour accéder à l'état actuel du périphérique, ce qui est crucial pour faire correspondre avec précision les mouvements physiques aux espaces virtuels.

  • Contrôle de la force et de la position : Fournit des méthodes comme SetCursorForce et SetCursorPosition pour manipuler directement le périphérique, permettant aux développeurs d'appliquer des forces ou de définir des positions, ce qui enrichit les interactions virtuelles.

Vue Inspector d'Inverse3​

Éditeur du contrôleur Inverse3

  • Device : Sélectionne un périphérique précis. Cliquer sur <refresh device list> utilise le Device Mapper pour récupérer les périphériques en mode Éditeur et met à jour toutes les listes déroulantes Device.
  • Handedness : Filtre les périphériques selon leur configuration de main (gauche ou droite).
  • Cursor : Lie l'objet Inverse3Cursor, qui se déplace en synchronisation avec les mises à jour de position du périphérique.
  • Body : Se connecte au Inverse3Body, qui représente l'orientation physique du corps du périphérique.
  • Coordinate Conversion : Définit la manière dont la position du curseur et l'orientation du corps du périphérique sont transformées dans le monde de jeu, afin de garantir des correspondances précises et personnalisables.
  • Cursor Data : Affiche la position du curseur dans le monde de jeu.
  • Device Data : Affiche les données d'entrée et de sortie en temps réel du périphérique.
  • Events : Événements Unity déclenchés sur le thread principal, qui facilitent les interactions avec la scène ou les mises à jour de l'interface.
    • Ready : Signale que le périphérique est prêt à être utilisé.
    • ControlModeChanged : Indique les changements du mode de contrôle du périphérique (par exemple, contrôle en force ou en position).
    • PowerSupplyStatusChanged : Signale les changements d'état de l'alimentation du périphérique.

Exécution du contrôleur Inverse3

Gizmos Inverse3​

Fournit des indicateurs visuels de la position du périphérique et de la distance maximale atteignable par le curseur, avec un code de couleurs selon la latéralité.

  • Le bleu indique les périphériques pour la main gauche.
  • Le rouge indique les périphériques pour la main droite.
  • Les deux couleurs sont affichées pour les périphériques dont la latéralité n'est pas assignée, jusqu'à ce qu'elle soit déterminée à l'exécution.

Gizmos Inverse3 gauche et droite

Contrôleur VerseGrip​

Comme le composant Inverse3 Controller, le VerseGrip Controller assigne un périphérique VerseGrip à un objet de jeu lié. Ce composant est essentiel pour exploiter les fonctionnalités d'entrée propres au VerseGrip.

Principales fonctionnalités et API du VerseGrip​

  • Événement Device State Changed : Signale les changements d'orientation et d'état des boutons du périphérique, ce qui permet aux applications interactives de réagir rapidement aux entrées de l'utilisateur et à l'orientation du périphérique.

  • Interaction avec les boutons : Offre des méthodes pour détecter les interactions avec les boutons (GetButton, GetButtonDown, GetButtonUp), ce qui permet d'acheminer les mécanismes d'entrée vers le thread haptique.

  • État d'attachement : Surveille son état d'attachement aux autres appareils et signale les changements par les événements Attached et Detached. Utile pour les applications qui dépendent de la configuration physique de l'appareil.

Vue de l'inspecteur VerseGrip​

versegrip-controller-editor

  • Appareil : Sélectionne un appareil précis. Cliquer sur <refresh device list> active le client en mode Éditeur et actualise toutes les listes déroulantes Appareil.
  • Curseur : Lie à l'objet VerseGripCursor, qui pivote selon les mises à jour d'orientation de l'appareil.
  • Conversion de coordonnées : Définit la façon dont l'orientation de l'appareil est transformée dans le monde du jeu, pour des correspondances précises et personnalisables.
  • Données du curseur : Affiche la rotation du curseur dans le monde du jeu.
  • Données de l'appareil : Affiche la rotation locale de l'appareil, l'état des boutons et l'état d'attachement.
  • Événements : Déclenche des événements Unity sur le thread principal afin de prendre en charge les interactions avec la scène ou l'interface.
    • Prêt : Signale que l'appareil est prêt à être utilisé.
    • Bouton enfoncé : Se déclenche lorsqu'un bouton est enfoncé.
    • Bouton relâché : Se déclenche lorsqu'un bouton est relâché.
    • Attaché : Indique que l'appareil est attaché à l'Inverse3.
    • Détaché : Indique que l'appareil est détaché de l'Inverse3

versegrip-controller-runtime