Inverse3 Avec le curseur VerseGrip
Haply Le pack Inverse Unity propose des composants de curseur spécialement conçus pour les périphériques Inverse3 et VerseGrip, permettant un contrôle et une interaction précis dans l'environnement Unity. Ces deux composants, à savoir « Inverse3 Cursor » et « VerseGrip Cursor »,sont conçuspour ajuster dynamiquement la position et la rotation des objets de jeu en fonction des données fournies par les manettes correspondantes.
Présentation générale
Le composant « Cursor » sert de pont entre l'appareil physique Haply et les objets de jeu virtuels dans Unity, en convertissant les données de position et de rotation de l'appareil en déplacements et orientations des objets de jeu. Cette conversion permet aux utilisateurs d'interagir de manière intuitive avec l'environnement virtuel, en transposant leurs mouvements physiques grâce à un retour virtuel.
Classe CursorBase
Le cœur du composant « curseur » est CursorBase classe, qui fournit Inverse3Cursor et VerseGripCursor Fonctionnalités de base du partage.
Elles comprennent la gestion des associations d'appareils, l'instanciation des modèles et le contrôle de la visibilité.
Propriétés et méthodes principales
- Périphérique: associe le curseur à son périphérique de contrôle et le configure automatiquement lors de l'exécution.
- ModèlePrefab: Spécifie le « préfabriqué » (Prefab) utilisé par le modèle de curseur ; ce préfabriqué sera automatiquement utilisé comme
ModelParentinstancier les sous-objets. - ModelParent: définit la transformation (Transform) parent du prérendu du modèle instancié. Si ce paramètre n'est pas défini, la transformation par défaut est celle du curseur.
- Modèle: Réutiliser le modèle de curseur existant dans la scène. Si cette option est activée, l'étape est ignorée.
ModelPrefabson instanciation. - HideControllerModel: permet de contrôler la visibilité du modèle du curseur ; celui-ci peut être affiché ou masqué de manière dynamique en fonction des besoins du jeu.
- Rayon: si le modèle du curseur est une sphère, cette valeur correspond à son rayon, calculé à partir du parallélépipède englobant le maillage du modèle.
- Douceur:
PositionSmoothnessetRotationSmoothnessDes options permettant d'adoucir le déplacement et la rotation du curseur sont proposées afin d'améliorer l'expérience utilisateur.
Remarque : il est essentiel de référencer correctement le modèle de curseur dans le composant Cursor, sous peine de provoquer un comportement inattendu.

Le modèle de curseur par défaut créé via Haptic Rig comporte des points de couleur représentant les trois axes :« Forward »(bleu),« Up »(vert) et « Right »(rouge). Cette conception permet d'observer de manière intuitive l'orientation de l'appareil dans un environnement virtuel. Pourun VerseGrip calibré, l'axe «Forward » doit être aligné avec la direction d'orientation, et l'axe« Up » avec la face supérieure.
Inverse3 Composant « Cursor »
Inverse3Cursor Spécialement conçu pour les appareils « Inverse3 », ce module met à jour la position locale du curseur dans Unity afin de refléter la position physique réelle de l'appareil.
PositionSmoothness Ce paramètre permet de régler la fluidité du déplacement du curseur, afin d'améliorer l'expérience utilisateur en contrôlant la vitesse à laquelle le curseur réagit aux mouvements physiques.
Composant « VerseGrip Cursor »
VerseGripCursor Étendre cette fonctionnalité aux appareils VerseGrip afin de mettre à jour la rotation du curseur dans Unity pour qu'elle reflète la rotation physique réelle de l'appareil.
useDeviceLocalSpace Ce paramètre permet de choisir l'alignement du curseur entre les coordonnées mondiales et l'orientation de l'objet parent, ce qui renforce la flexibilité de la conception.
RotationSmoothness Définit le niveau de fluidité de la rotation du curseur, ce qui permet aux développeurs d'ajuster avec précision la vitesse de réponse du curseur aux changements d'orientation du VerseGrip physique.
Détails de mise en œuvre
Lors de l'initialisation, si aucun espace n'a été alloué Model, le composant « curseur » affichera la valeur spécifiée ModelPrefab en tant que ModelParent instancier les sous-objets afin de garantir leur affichage dans la scène.
Ces composants interagissent avec leurs Contrôleur d'équipement Synchroniser et ajuster en temps réel la position et l'orientation du curseur afin de suivre les mouvements physiques de l'appareil.
Ces deux composants peuvent être associés à un même GameObject afin de contrôler simultanément sa position et sa rotation, ou être associés séparément à différents objets pour s'adapter à divers cas d'utilisation, offrant ainsi aux développeurs une boîte à outils polyvalente pour créer des expériences tactiles immersives dans Unity.