Aller au contenu

VRPN

Source Wikipédia : VRPN (Virtual-Reality Peripheral Network) est une bibliothèque libre fournissant une interface transparente entre une application de réalité virtuelle tournant sur une machine, et des dispositifs physiques (trackers, wand, haptic device) connectés à d'autres machines d'un réseau.

Utilisation dans VRmaze

Dans VRmaze, le VRPN est un composant de type script de comportement. Un composant VRPN est conçu pour recevoir les données provenant d'un serveur VRPN sur le réseau. Nous considérons deux types de données provenant d'un serveur VRPN :

  • Les données de tracking
  • Les données d'interaction

Dans VRmaze Sim, les données VRPN sont exploitées directement via des scripts qui s'occupent de la réception des données et leurs conséquences sur l'environnement 3D.

Tracking

Image title 2

Le script de comportement VRPN Tracker.

Dans VRPN il est possible d'obtenir la valeur d'un tracker, c'est-à-dire la position et l'orientation d'un objet physique exprimées dans le référentiel de tracking. Dans VRMaze, il est possible d'acquérir les données de tracking et de les affecter en tant que position et orientation à un objet virtuel, de manière à ce que l'objet virtuel (possiblement une caméra de rendu) voit sa position et son orientation affectée par le tracker. Pour ce faire, nous utilisons le script de comportement VRPN Tracker.

Ce script permet de sélectionner les propriétés affectées par le tracker et nécessite évidement de renseigner le nom et l'adresse du tracker. Il nécessite aussi le renseignement du type de coordonnées et du canal du tracker.

Type de coordonnées

Le type de coordonnées peut prendre deux formes : le référentiel courant, identique à celui utilisé par Unity, avec l'axe Y vers le haut. Le type de coordonnées Vicon utilise un système d'axes dans lequel l'axe Z est vers le haut. Sélectionnez le type de coordonnées en fonction de votre système de tracking.

Canal du tracker

Il est possible que le serveur VRPN envoie plusieurs informations de tracking à une même adresse. Pour choisir le bon jeu de données VRmaze offre la possibilité de choisir le canal de tracking.

Nom et adresse du tracker

Le nom et l'adresse du tracker dans VRmaze correspondent au nom et adresse que l'on trouve dans la documentation de VRPN sous la forme nomTracker@adresseTracker

Référentiel de coordonnées

VRmaze affectera les données de tracking dans le référentiel local de l'objet virtuel.

Périphérique

Image title 2

Le script de comportement VRPN Joystick Data.

VRPN gère non seulement les données de tracking, mais aussi les périphériques (disposant de boutons et autres joysticks). VRmaze Sim permet l'intégration et l'utilisation de tels périphériques sous forme d'un script de comportement récupérant l'ensemble des données d'interaction. Ces données sont utilisées nativement par VRmaze Sim pour, par exemple, gérer les interactions avec les panneaux d'outils ou le déplacement du sujet dans l'espace virtuel.

Tracking d'un joystick

Le script de comportement n'effectue pas le tracking de position, il faut donc, dans le cas d'un joystick traqué dans l'espace, ajouter un script de tracking.

Contrôle de la position dans l'espace virtuel

Image title 2

Le script de comportement Root Node Controler.

La volonté de déplacer un sujet dans l'espace virtuel réside en fait au déplacement du noeud Cave Root Node dans l'espace virtuel. VRmaze Sim propose un script de comportement qui permet de déplacer le nœud Cave Root Node dans l'espace en correspondance avec les informations recueillies par le script VRPN Joystick Data.

Ce script permet de configurer la vitesse de déplacement et d'orientation et dispose d'un système de déplacement rapide lorsque le sujet utilise le bouton intégré au joystick du périphérique. Il est aussi possible d'effectuer un déplacement sous forme d'impulsion dont les propriétés de forces sont modifiables.

Interaction avec les éléments 2D et 3D

Image title 2

Le script déclaratif `Cave UI input event controller`.

Par défaut, l'interaction dans l'espace 3D est assurée par le gestionnaire d'évènement VRPN Joystick Event Manager présent par défaut sur le système de caméra. Ce système n'assure pas l'interaction avec les éléments 2D.

Suivant un mode déclaratif, le fait d'ajouter un comportement Cave UI input event controller permettra d'utiliser le système de pointage et d'interaction au joystick VRPN sur les éléments 2D. Le script déclaratif utilise les données de tracking et les informations d'états des boutons du joystick pour fonctionner, il nécessite donc un script VRPN Tracker et un script VRPN Joystick Data au même niveau dans la structure hiérarchique du protocole.

Bouton d'interaction

Le script déclaratif Cave UI input event controller permet de configurer le bouton VRPN qui servira de bouton d'action pour la gestion des interfaces graphiques.

Graphes de comportement

Les graphes de comportement proposent quelques nodes permettant un accès aux données provenant d'un serveur VRPN sur le réseau ou sur la machine locale.

Image title 2

Les nodes d'acquisition VRPN.

Les nodes d'acquisition VRPN diposent de paramètres communs :

  • Adresse du serveur (nom de machine ou adresse IPv4)
  • Nom de l'objet tracké (chaîne de caractères)
  • Canal de communication (nombre entier)

Nodes VRPN

Les nodes VRPN inclus dans les graphes de comportements sont totalement indépendants des scripts relatifs à VRPN. Il n'est pas nécessaire de faire référence à un script VRPN tracker pour utiliser le node VRPN Tracker, qui dispose d'un accès direct au système de communication VRPN.

Plusieurs serveurs VRPN ?

Il est tout à fait possible d'utiliser plusieurs serveurs VRPN au sein d'un même graphe. Chaque node VRPN est indépendant des autres et aura son propre comportement de connexion.

VRPN Analog

En plus des paramètres communs aux nodes VRPN, le node VRPN Analog nécessite la saisie d'un second canal de communication. En effet, ce node propose un vecteur 2 en sortie permettant de gérer les joysticks ayant à deux axes. Il est tout à fait possible, en sortie, d'utiliser une seule valeur de canal.

Système de coordonnées

Le node VRPN Tracker dispose d'un paramètre supplémentaire permettant de choisir le système de coordonnées.

Facteur d’échelle

Il est possible de convertir un système d'unité d'un serveur VRPN en système métrique utilisé dans VRMaze. Pour cela, le node VRPN Tracker dispose d'une propriété de facteur d’échelle, par défaut à 1, qui permet de prendre la coordonnée de position et la multiplier par un coefficient.