XR_ANDROID_mouse_interaction OpenXR 扩展

名称字符串

XR_ANDROID_mouse_interaction

扩展类型

实例扩展

注册扩展编号

705

修订版

1

扩展和版本依赖项

OpenXR 1.0

上次修改日期

2025-01-21

IP 状态

无已知 IP 声明。

贡献者

Sharayu Shenoy,Google

Chiara Coetzee,Google

Levana Chen,Google

Spencer Quin,Google

概览

此扩展提供一个 XrPath 用于获取鼠标输入,并为用户鼠标配置文件定义一个常用操作姿态,包括鼠标设备和触控板设备。

此扩展还引入了一种新的交互配置文件,专为鼠标设备设计,用于通过 OpenXR 操作系统进行输入。

鼠标交互的操作姿态

以下操作姿态(即“瞄准”)启用 3D 指针射线,无论追踪输入是由鼠标设备还是触控板设备提供。

…/input/aim/pose 操作子路径将支持所有适用于用户路径 /user/mouse交互配置文件,包括通过扩展启用的交互配置文件。

瞄准姿态

…/input/aim/pose 旨在通过鼠标指针在 3D 空间中与对象进行交互。例如,使用虚拟激光指示器瞄准墙上的虚拟按钮是一种适合“瞄准”姿态的交互。

这是 标准姿态标识符 中定义的相同“瞄准”姿态。每个追踪控制器配置文件都已支持此姿态。

Example aim pose

位置

“瞄准”姿态的位置通常是用户的头部,即检测到鼠标移动时头部的相同位置。鼠标的瞄准姿态在检测到鼠标移动时计算。最后已知的瞄准位置将保留到下一次鼠标移动。

方向

“瞄准”姿态的方向可能用于渲染 3D 指针射线,以与虚拟对象交互,例如,点击墙上的菜单按钮。

鼠标的瞄准姿态在检测到鼠标移动时计算。最后已知的瞄准方向将保留到下一次鼠标移动。

-Z 方向是瞄准手势的前进方向,即瞄准射线指向的位置。

鼠标的相对 X,Y 移动用于计算鼠标沿用户头部周围球体的相对移动。

Example aim pose

深度移动将通过主点击和滚动来支持。当进行深度移动操作时,位置会根据正负滚动值沿射线方向在正或负 Z 方向上偏离头部位置。系统将稳定用户头部周围球体内的深度移动。

鼠标设备的交互配置文件

鼠标交互配置文件旨在用于提供鼠标输入(使用带按钮和滚动的鼠标设备或触控板设备)的运行时。这允许鼠标设备和触控板设备向 OpenXR 操作系统提供常用点击、滚动和操作姿态。

交互配置文件路径

  • /interaction_profiles/android/mouse_interaction_android

适用于顶级用户路径

  • /user/mouse

支持的组件路径

  • …/input/aim/pose
  • …/input/select/click
  • …/input/secondary_android/click
  • …/input/tertiary_android/click
  • …/input/scroll_android/value

此交互配置文件支持本节中描述的操作姿态,以及以下两组操作输入。

点击操作

此交互配置文件支持 …/input/select/click、…/input/secondary_android/click 和 /input/tertiary_android/click 操作。

…/input/select/click 是一个布尔输入,其中值 XR_TRUE 表示鼠标或触控板上的主按钮被按下。

…/input/secondary_android/click 是一个布尔输入,其中值 XR_TRUE 表示鼠标或触控板上的辅助按钮被按下。

…/input/tertiary_android/click 是一个布尔输入,其中值 XR_TRUE 表示鼠标滚轮或第三个按钮被按下。

滚动操作

此交互配置文件支持 …/input/scroll_android/value 操作。

…/input/scroll_android/value 是一个 1D 输入组件,值范围从 -1 到 1,用于映射向下滚动和向上滚动。

新对象类型

新标志类型

新枚举常量

新枚举

新结构体

新函数

问题

版本历史

  • 修订版 1,2024-08-29 (Levana Chen)
    • 初始扩展描述

OpenXR™ 和 OpenXR 徽标是 The Khronos Group Inc. 拥有的商标,并在中国、欧盟、日本和英国注册为商标。