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 les données des capteurs à haute fréquence, ces composants permettent un contrôle précis et réactif dans l'environnement virtuel. Leurs fonctionnalités sont parfaitement harmonisé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 pack Unity « Haply Inverse », qui permet aux développeurs de créer des applications de réalité virtuelle 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 de l'univers du jeu, afin d'assurer des interactions authentiques et captivantes.

Contrôleur Inverse3​

Le composant « Inverse3 Controller » est indispensable pour associer un périphérique Inverse3 à son objet de jeu correspondant. Il utilise des données de capteurs à haute fréquence pour reproduire 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 deInverse3​

  • Événement « Device State Changed » : au cœur du contrôleur «Inverse3 », 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 mettre en œuvre des commandes en temps réel.

  • Récupération de la position et de la vitesse : Propose des biens immobiliers tels que CursorPosition, CursorVelocity, CursorLocalPosition et CursorLocalVelocity pour accéder à l'état actuel du périphérique, ce qui est essentiel 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 telles que SetCursorForce et SetCursorPosition pour manipuler directement le périphérique, ce qui permet aux développeurs d'appliquer des forces ou de définir des positions, enrichissant ainsi les interactions virtuelles.

Vue Inspector d'Inverse3​

Éditeur du contrôleur Inverse3

  • Dispositif : Sélectionne un périphérique précis. Cliquez 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 Dispositif.
  • Latéralité: Filtre les périphériques en fonction de leur latéralité (gauche ou droite).
  • Curseur: Il s'agit de l'objet Inverse3Cursor, qui se déplace en synchronisation avec les mises à jour de position du périphérique.
  • Body: Se connecte à Inverse3Body, qui représente l'orientation physique du corps du périphérique.
  • Conversion des coordonnées: définit la manière dont la position du curseur et l'orientation du corps du périphérique sont transformées dans l'univers du jeu, afin de garantir des correspondances précises et personnalisables.
  • Données du curseur: affiche la position du curseur dans l'univers du jeu.
  • Données du périphérique: affiche les données d'entrée et de sortie du périphérique en temps réel.
  • Evénements : É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.
    • Prêt: Indique que le périphérique est prêt à être utilisé.
    • ControlModeChanged: Indique les changements de 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

Gadgets Inverse3​

Fournit des indicateurs visuels de la position de l'appareil et de la distance maximale pouvant être atteinte par le curseur, avec un code couleur en fonction de la latéralité.

  • La couleur bleue indique les périphériques destinés à la main gauche.
  • La couleur rouge indique les périphériques destinés à la main droite.
  • Les deux couleurs s'affichent pour les périphériques dont la latéralité n'est pas définie, jusqu'à ce qu'elle soit déterminée lors de l'exécution.

Gizmos Inverse3 -gauche et droite

Contrôleur VerseGrip​

Tout comme le composant « Inverse3 Controller », le composant « VerseGrip Controller » associe un périphérique VerseGrip à un objet de jeu correspondant. Ce composant est indispensable pour tirer parti des fonctionnalités d'entrée propres au VerseGrip.

Principales fonctionnalités et API de VerseGrip​

  • Événement « Device State Changed » : signale les changements d'orientation et d'état des boutons de l'appareil, ce qui permet aux applications interactives de réagir rapidement aux actions de l'utilisateur et à l'orientation de l'appareil.

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

  • État d'affectation : Surveille son état de connexion aux autres appareils et signale les changements via des é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électionnez un appareil précis. Cliquez sur <refresh device list> lance le client en mode Éditeur et actualise toutes les listes déroulantes Appareil.
  • Curseur: lié à l'objet « VerseGripCursor », qui pivote en fonction des mises à jour d'orientation de l'appareil.
  • Conversion des coordonnées: définit la manière dont l'orientation de l'appareil est convertie dans l'univers du jeu, pour des correspondances précises et personnalisables.
  • Données du curseur : affiche la rotation du curseur dans l'univers du jeu.
  • Données de l'appareil : affiche l'orientation locale de l'appareil, l'état des boutons et l'état de connexion.
  • Événements : Déclenche des événements Unity sur le thread principal afin de gérer les interactions avec la scène ou l'interface.
    • Prêt: indique 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 fixé à l'Inverse3.
    • Détaché: indique que l'appareil est détaché de l'Inverse3

versegrip-controller-runtime