Aller au contenu principal

Inverse3 et le curseur VerseGrip

Le pack « Inverse Unity » d’ Haply propose des composants de curseur spécialisés pour les périphériques « Inverse3 » et «VerseGrip», qui permettent un contrôle et une interaction précis au sein des environnements Unity. Ces composants, «Inverse3 Cursor» et «VerseGrip Cursor», ajustent dynamiquement la position et la rotation des objets de jeu en fonction des données fournies par les manettes correspondantes.

Aperçu​

Les composants de curseur font office de pont entre les périphériques physiques Haply et les objets de jeu virtuels dans Unity. Ils convertissent les données de position et de rotation des périphériques en mouvements et orientations des objets de jeu. Cette conversion permet aux utilisateurs d'interagir de manière intuitive avec l'environnement virtuel, leurs mouvements physiques étant reproduits par des réactions virtuelles.

Classe CursorBase​

La classe constitue le cœur des composants du curseur CursorBase, qui fournit les fonctionnalités de base permettant de Inverse3Cursor et VerseGripCursor les utiliser conjointement. Cela comprend la gestion de l'association des appareils, l'instanciation du modèle et le contrôle de la visibilité.

Propriétés et méthodes importantes​

  • Périphérique: associe le curseur au périphérique de contrôle et est défini automatiquement lors de l'exécution.
  • ModèlePrefab: Définit un élément préfabriqué pour le modèle de curseur, qui est automatiquement créé en tant qu'objet enfant de ModelParent est instanciée.
  • ModelParent: Définit la transformation parente du préfab de modèle instancié. Si ce paramètre n'est pas défini, la transformation du curseur est utilisée par défaut.
  • Modèle: Fait directement référence à un modèle de curseur déjà présent dans la scène. Si ce champ est coché, l'instanciation de ModelPrefab sauté.
  • HideControllerModel: contrôle la visibilité du modèle du curseur et permet de l'afficher ou de le masquer de manière dynamique en fonction des besoins du jeu.
  • Rayon: Indique le rayon du modèle du curseur, s'il s'agit d'une sphère. Il est calculé à partir des limites du maillage du modèle.
  • Douceur: PositionSmoothness et RotationSmoothness offrent des options permettant de fluidifier le déplacement et la rotation du curseur, améliorant ainsi l'expérience utilisateur.

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

Curseur

Le modèle de curseur standard créé à l'aide du Haptic Rig affiche des points colorés représentant les trois axes : « Forward » (bleu), « Up » (vert) et « Right » (rouge). Cela facilite la visualisation de l'orientation de l'appareil dans l'environnement virtuel. Lorsque le VerseGrip est calibré, « Forward » doit correspondre à la direction du pointeur et « Up » à la face supérieure.

Inverse3-Composant de curseur-​

Inverse3Cursor Il est spécialement conçu pour l'appareil Inverse3 et met à jour la position locale du curseur dans Unity afin qu'elle corresponde à la position physique de l'appareil.

L'attitude PositionSmoothness permet de régler la fluidité du déplacement du curseur. Cela améliore l'expérience utilisateur en ajustant la réactivité du curseur aux mouvements physiques.

Composant VerseGrip-Cursor​

VerseGripCursor étend les fonctionnalités au périphérique VerseGrip et met à jour la rotation du curseur dans Unity afin qu'elle reflète la rotation physique du périphérique.

L'attitude useDeviceLocalSpace permet de choisir entre l'orientation par rapport au monde et l'orientation par rapport à l'objet parent. Cela augmente la flexibilité de conception.

L'attitude RotationSmoothness contrôle la fluidité de la rotation du curseur et permet aux développeurs d'ajuster avec précision la réactivité du curseur aux changements d'orientation physique de VerseGrip.

Détails de mise en œuvre​

Lors de l'initialisation, les composants du curseur instancient l'élément spécifié ModelPrefab en tant qu'objet subordonné à ModelParent, à condition que Model n'est pas attribué. Cela permet d'assurer la représentation visuelle dans la scène. Ces composants se synchronisent avec les éléments correspondants Contrôleur de périphériques et adaptent en temps réel la position et la rotation du curseur aux mouvements physiques de l'appareil.

Ces deux composants peuvent être attribués au même GameObject afin de contrôler sa position et sa rotation, ou à différents GameObjects pour des cas d'utilisation distincts. Les développeurs disposent ainsi d'un outil polyvalent pour créer des expériences haptiques immersives dans Unity.