Aller au contenu principal

Inverse3 et le contrôleur VerseGrip

Les contrôleurs « Inverse3 » et « VerseGrip » sont conçus pour relier de manière transparente leurs périphériques physiques respectifs aux GameObjects dans Unity. Cette connexion s'effectue via le « Device Mapper ». Grâce à 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 parfaitement harmonisées, tant au niveau de la logique que des capacités, garantissant ainsi une expérience utilisateur homogène.

Ces contrôleurs constituent la base du pack Inverse Unity d’ Haply . Ils permettent 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 d’ Haply . Ils assurent une conversion précise entre les coordonnées locales des appareils et les paramètres spatiaux de l’univers du jeu, garantissant ainsi des interactions authentiques et captivantes.

Inverse3-Contrôleur​

Le composant « Inverse3-Controller » est essentiel pour associer un périphérique « Inverse3 » au GameObject 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. Parmi ses principales fonctionnalités, on trouve :

Fonctionnalités clés et API de Inverse3​

  • Événement « État de l'appareil modifié » : cet événement, qui est au cœur du contrôleur «Inverse3 », est déclenché à chaque trame haptique et fournit des mises à jour en temps réel sur la position et la vitesse du curseur. Il est indispensable pour les applications nécessitant un suivi continu de l'état de l'appareil ou pour la mise en œuvre de commandes de contrôle en temps réel.

  • Récupération de la position et de la vitesse: Offre des fonctionnalités telles que CursorPosition, CursorVelocity, CursorLocalPosition et CursorLocalVelocity pour accéder à l'état actuel de l'appareil. Elles sont essentielles pour reproduire avec précision les mouvements physiques dans des espaces virtuels.

  • Commande de force et de position: Propose des méthodes telles que SetCursorForce et SetCursorPosition pour le contrôle direct de l'appareil. Les développeurs peuvent ainsi appliquer des forces ou définir des positions, et améliorer ainsi les interactions virtuelles.

Vue de l'inspecteur depuis Inverse3​

Inverse3-Contrôleur dans l'éditeur

  • Dispositif: Sélectionnez un appareil spécifique. Cliquez sur <refresh device list> utilise le Device Mapper pour récupérer les périphériques en mode éditeur et met à jour tous les Dispositif-Menus déroulants-.
  • Latéralité: filtre les appareils en fonction de leur configuration de latéralité.
  • Curseur: associé à l'objet Inverse3Cursor, qui se déplace de manière synchrone avec les mises à jour de position de l'appareil.
  • Body: Se lie à l'Inverse3Body, qui représente l'orientation physique de l'appareil dans l'espace.
  • Conversion des coordonnées: définit la manière dont la position du curseur et l'orientation de l'appareil sont transposées dans l'univers du jeu. Cela garantit des correspondances précises et personnalisables.
  • Données du curseur : affiche la position du curseur dans l'univers du jeu.
  • Données de l'appareil : affiche en temps réel les données d'entrée et de sortie de l'appareil.
  • Événements: Les événements Unity sont déclenchés dans le thread principal et permettent les interactions avec les scènes ou les mises à jour de l'interface utilisateur.
    • Prêt: indique que l'appareil est prêt à fonctionner.
    • ControlModeChanged: Indique les changements de mode de commande de l'appareil (par exemple, commande de force ou de position).
    • PowerSupplyStatusChanged: signale les changements d'état de l'alimentation électrique de l'appareil.

Inverse3-Contrôleur à l'exécution

Gizmos de Inverse3​

Fournit des indications visuelles sur la position de l'appareil et la distance maximale pouvant être atteinte par le curseur. Le code couleur dépend de la main dominante.

  • La couleur bleue indique les appareils destinés aux gauchers.
  • La lettre « R » désigne les appareils destinés aux droitiers.
  • Pour les appareils dont l'orientation n'est pas définie, les deux couleurs s'affichent jusqu'à ce qu'elle soit déterminée lors de l'exécution.

Inverse3 à gauche et à droite

VerseGrip-Controller​

À l'instar du contrôleur « Inverse3 », le contrôleur VerseGrip associe un périphérique VerseGrip à un GameObject lié. Ce composant est indispensable pour tirer parti des fonctionnalités d'entrée uniques de VerseGrip.

Fonctionnalités clés et API de VerseGrip​

  • Événement « Changement d'état de l'appareil » : signale les modifications d'orientation de l'appareil et d'état des touches. Cette fonctionnalité facilite le développement d'applications interactives en fournissant un retour d'information en temps réel sur les actions de l'utilisateur et l'orientation de l'appareil.

  • Interaction avec les touches: Propose des méthodes permettant de détecter les interactions avec les touches (GetButton, GetButtonDown, GetButtonUp) et permet ainsi d'utiliser des mécanismes de saisie dans le fil haptique.

  • État de la connexion: Surveille l'état de sa connexion avec d'autres appareils et le signale via les événements Attached et Detached. Cela s'avère utile pour les applications qui dépendent de la configuration physique de l'appareil.

Vue « Inspecteur » de VerseGrip​

VerseGrip-Controller dans l'éditeur

  • Dispositif: Sélectionnez un appareil spécifique. Cliquez sur <refresh device list> active le client en mode éditeur et met à jour tous les Dispositif-Menus déroulants-.
  • Curseur: associé à 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 transposée dans l'univers du jeu. Cela garantit des correspondances précises et personnalisables.
  • Données du curseur : affiche l'orientation du curseur dans l'univers du jeu.
  • Données de l'appareil : affiche l'orientation locale de l'appareil, l'état des touches et l'état de la connexion.
  • Événements: Déclenche des événements Unity dans le thread principal afin de prendre en charge les interactions avec les scènes ou l'interface utilisateur.
    • Prêt: indique que l'appareil est prêt à fonctionner.
    • Touche enfoncée: se déclenche lorsqu'une touche est enfoncée.
    • Relâchement de touche: se déclenche lorsqu'une touche est relâchée.
    • Connecté: indique lorsque l'appareil est connecté à l'Inverse3 .
    • Déconnecté: indique quand l'appareil est déconnecté de l'Inverse3

Contrôleur VerseGrip en temps réel