XR_ANDROID_mouse_interaction OpenXR 扩展

名称字符串

XR_ANDROID_mouse_interaction

扩展程序类型

实例扩展

已注册的扩展号码

705

修订版本

1

扩展程序和版本依赖项

OpenXR 1.0

上次修改日期

2024-09-06

IP 状态

没有已知的 IP 版权主张。

创作贡献者

Sharayu Shenoy,Google

Chiara Coetzee,Google

Levana Chen,Google

Spencer Quin,Google

概览

此扩展程序提供了用于获取鼠标输入的 XrPath,并为用户鼠标个人资料定义了一种常用的操作姿势,包括鼠标设备和触控板设备。

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

鼠标互动时的动作姿势

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

所有对 /user/mouse 用户路径有效的互动配置文件(包括通过扩展程序启用的互动配置文件)都将支持 …/input/aim/pose 操作子路径。

瞄准姿势

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

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

瞄准姿势示例

位置

“瞄准”姿势的位置通常是用户的头部,即检测到鼠标移动时头部的位置。当鼠标移动时,系统会计算鼠标的瞄准姿势。系统会保留上次已知的瞄准位置,直到下次鼠标移动为止。

屏幕方向

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

当鼠标移动时,系统会计算鼠标的瞄准姿势。系统会保留上次已知的瞄准方向,直到下次移动鼠标为止。

-Z 方向是瞄准手势的前进方向,即瞄准光线所指的方向。

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

瞄准姿势示例

系统将支持使用主要点击和滚动进行深度移动。当正在执行向深度移动的操作时,相应位置会沿光线的正 Z 方向或负 Z 方向偏移,具体取决于滚动值是正值还是负值。系统会稳定用户头部周围球形区域内的深度运动。

鼠标设备的互动配置文件

鼠标互动配置文件专为使用鼠标设备或带按钮和滚动条的触控板设备提供鼠标输入的运行时而设计。这样,鼠标设备和触控板设备就可以向 OpenXR 操作系统提供常用的点击、滚动和操作姿势。

互动个人资料路径:

  • /interaction_profiles/android/mouse_interaction

适用于顶级用户路径:

  • /user/mouse

支持的组件路径:

  • …/input/aim/pose
  • …/input/select/click
  • …/input/secondary/click
  • …/input/tertiary/click
  • …/input/scroll/value

此互动个人资料支持本部分中介绍的操作姿势,以及以下两组操作输入。

点击操作

此互动资料支持 …/input/select/click、…/input/secondary/click 和 /input/tertiary/click 操作。

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

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

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

滚动操作

此互动资料支持 …/input/scroll/value 操作。

…/input/scroll/value 是一个 2D 输入组件,值介于 -1 到 1 之间,用于映射到向下滚动和向上滚动。

新的对象类型

新的标志类型

新的枚举常量

新枚举

新结构

新函数

问题

版本历史记录

  • 修订版 1,2024 年 8 月 29 日(Levana Chen)
    • 初始扩展程序说明