Skip to main content
Version : 2.2.0

Curseurs Inverse3 et VerseGrip

Le Haply Inverse Unity Package introduit des composants de curseur spécialisés pour les dispositifs Inverse3 et VerseGrip, permettant un contrôle et une interaction précis dans les environnements Unity. Ces composants, Inverse3 Cursor et VerseGrip Cursor, sont conçus pour ajuster dynamiquement la position et la rotation des objets du jeu en fonction des données fournies par les contrôleurs de périphériques correspondants.

Vue d'ensemble

Les composants du curseur servent de pont entre les appareils physiques Haply et les objets virtuels du jeu dans Unity, traduisant les données de position et de rotation des appareils en mouvements et orientations des objets du jeu. Cette traduction permet aux utilisateurs d'interagir avec l'environnement virtuel de manière intuitive, en reproduisant leurs mouvements physiques par des réponses virtuelles.

Classe de base CursorBehaviour

Au cœur des composants du curseur se trouve le CursorBehaviour qui fournit les fonctionnalités de base partagées par les deux classes Inverse3Cursor et VerseGripCursor. Il s'agit notamment de gérer l'association des appareils, l'instanciation du modèle et le contrôle de la visibilité.

Propriétés et méthodes clés

  • Dispositif: Relie le curseur à son dispositif de contrôle, automatiquement défini au moment de l'exécution.
  • ModèlePrefab: Spécifie un préfabriqué pour le modèle de curseur qui est automatiquement instancié en tant qu'enfant du modèle de curseur. ModelParent.
  • ModelParent: Définit la transformation parentale pour le préfabriqué de modèle instancié. Si elle n'est pas définie, elle prend par défaut la transformation du curseur.
  • Modèle: Fait directement référence à un modèle de curseur existant dans la scène. S'il est défini, il contourne l'instanciation de ModelPrefab.
  • HideControllerModel: Contrôle la visibilité du modèle de curseur, ce qui permet d'effectuer des opérations dynamiques d'affichage et de masquage en fonction des exigences du jeu.
  • Radius: Représente le rayon du modèle du curseur s'il s'agit d'une sphère, calculé à partir des limites du maillage du modèle.

Remarque : il est essentiel de référencer correctement le modèle de curseur dans le composant curseur afin d'éviter tout comportement inattendu.

curseurs

Le modèle de curseur par défaut, créé avec Haptic Rig, comporte des points de couleur pour représenter les trois axes : Avant (bleu), Vers le haut (vert) et Vers la droite (rouge). Ce modèle permet de visualiser l'orientation de l'appareil dans l'environnement virtuel. Pour un VerseGrip calibré, l'avant doit être aligné avec la direction de pointage, et le haut avec la face supérieure.

Composant curseur Inverse3

Inverse3Cursor s'adresse spécifiquement à l'appareil Inverse3, en mettant à jour la position locale du curseur dans Unity pour refléter la position physique de l'appareil.

Les PositionSmoothness permet de régler la fluidité du mouvement du curseur, ce qui améliore l'expérience de l'utilisateur en contrôlant la réactivité du curseur aux mouvements physiques.

Composant du curseur VerseGrip

VerseGripCursor étend la fonctionnalité au dispositif VerseGrip, en mettant à jour la rotation du curseur dans Unity pour refléter la rotation physique du dispositif.

Les useDeviceLocalSpace permet de choisir l'orientation du curseur entre l'orientation du monde ou celle de l'objet parent, ce qui accroît la flexibilité de la conception.

Les RotationSmoothness contrôle la fluidité de la rotation du curseur, ce qui permet aux développeurs d'affiner la réactivité du curseur aux changements d'orientation physiques de VerseGrip.

Détails de la mise en œuvre

Lors de l'initialisation, les composants du curseur instancient le fichier ModelPrefab en tant qu'enfant de ModelParent si Model n'est pas affecté, ce qui garantit une représentation visuelle dans la scène. Ces composants se synchronisent avec leurs Contrôleurs de périphériquesqui ajuste la position et la rotation du curseur en temps réel en fonction des mouvements physiques de l'appareil.

Les deux composants peuvent être attachés au même objet de jeu pour contrôler sa position et sa rotation ou à des objets distincts pour des cas d'utilisation différents, offrant aux développeurs un ensemble d'outils polyvalents pour créer des expériences haptiques immersives dans Unity.