Chaîne de nom
XR_ANDROID_mouse_interaction
Type d'extension
Extension d'instance
Numéro d'extension enregistré
705
Révision
1
Dépendances d'extension et de version
Date de dernière modification
2024-09-06
État de l'adresse IP
Aucune revendication d'adresse IP connue.
Contributeurs
Sharayu Shenoy, Google
Chiara Coetzee, Google
Levana Chen, Google
Spencer Quin, Google
Présentation
Cette extension fournit un XrPath
pour obtenir une entrée de la souris et définit une pose d'action couramment utilisée pour les profils de souris utilisateur, y compris les périphériques de souris et les périphériques de pavé tactile.
Cette extension introduit également un nouveau profil d'interaction spécialement conçu pour les périphériques de souris via le système d'action OpenXR.
Posture d'action pour les interactions avec la souris
La pose d'action suivante (c'est-à-dire "viser") active un rayon de pointeur 3D, que les entrées de suivi soient fournies par une souris ou un pavé tactile.
Le sous-chemin d'action …/input/aim/pose sera compatible avec tous les profils d'interaction valides pour le chemin d'utilisateur /user/mouse, y compris les profils d'interaction activés via des extensions.
Pose de tir
…/input/aim/pose est conçu pour interagir avec des objets à l'aide d'un pointeur de souris dans l'espace 3D. Par exemple, utiliser un pointeur laser virtuel pour viser un bouton virtuel sur le mur est une interaction adaptée à la pose "viser".
Il s'agit de la même position "visée" définie dans les identifiants de position standards. Chaque profil de contrôleur suivi est déjà compatible avec cette position.
Position
La position de la pose "visée" correspond généralement à la tête de l'utilisateur, c'est-à-dire à la même position de la tête lorsqu'un mouvement de souris est détecté. La position de visée de la souris est calculée lorsqu'elle bouge. La dernière position de visée connue est conservée jusqu'au prochain mouvement de la souris.
Orientation
L'orientation de la pose "visée" peut être utilisée pour afficher un rayon de pointeur 3D afin d'interagir avec un objet virtuel, par exemple en cliquant sur un bouton de menu sur le mur.
La position de visée de la souris est calculée lorsqu'elle est déplacée. La dernière orientation de visée connue est conservée jusqu'au prochain mouvement de la souris.
La direction -Z correspond à la direction avant du geste de visée, c'est-à-dire vers l'endroit où le rayon de visée pointe.
Le mouvement relatif X,Y de la souris est utilisé pour calculer le mouvement relatif de la souris le long d'une sphère autour de la tête de l'utilisateur.
Le mouvement en profondeur sera pris en charge à l'aide du clic principal et du défilement. Lorsqu'une action de mouvement en profondeur est en cours, la position est décalée par rapport à la position de la tête dans la direction Z positive ou négative le long du rayon, en fonction de la valeur de défilement positive ou négative. Le système stabilise le mouvement de profondeur dans la sphère autour de la tête de l'utilisateur.
Profil d'interaction pour les souris
Le profil d'interaction avec la souris est conçu pour les environnements d'exécution qui fournissent des entrées de souris à l'aide de souris ou de pavés tactiles avec des boutons et une molette. Cela permet aux dispositifs de souris et de pavé tactile de fournir des clics, des défilements et des poses d'action couramment utilisés au système d'action OpenXR.
Chemin d'accès au profil d'interaction:
- /interaction_profiles/android/mouse_interaction
Valide pour le chemin d'accès de l'utilisateur de niveau supérieur:
- /user/mouse
Chemins de composants compatibles:
- …/input/aim/pose
- …/saisie/sélection/clic
- …/input/secondary/click
- …/input/tertiary/click
- …/input/scroll/value
Ce profil d'interaction est compatible avec la posture d'action décrite dans cette section, ainsi qu'avec les deux groupes d'entrées d'action suivants.
Action de clic
Ce profil d'interaction est compatible avec les actions …/input/select/click, …/input/secondary/click et /input/tertiary/click.
…/input/select/click est une entrée booléenne, où la valeur XR_TRUE
indique que le bouton principal de la souris ou du pavé tactile est enfoncé.
…/input/secondary/click est une entrée booléenne, où la valeur XR_TRUE
indique que le bouton secondaire de la souris ou du pavé tactile est enfoncé.
…/input/tertiary/click est une entrée booléenne, où la valeur XR_TRUE
indique que la molette de la souris ou le bouton tertiaire est enfoncé.
Action de défilement
Ce profil d'interaction est compatible avec les actions …/input/scroll/value.
…/input/scroll/value est un composant d'entrée 2D qui varie de -1 à 1 pour mapper le défilement vers le bas et vers le haut.
Nouveaux types d'objets
Nouveaux types d'indicateurs
Nouvelles constantes d'énumération
Nouvelles énumérations
Nouvelles structures
Nouvelles fonctions
Problèmes
Historique des versions
- Révision 1, 29/08/2024 (Levana Chen)
- Description initiale de l'extension