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 空間中的滑鼠游標與物件互動。舉例來說,使用虛擬雷射筆瞄準牆上的虛擬按鈕,就是適合「瞄準」姿勢的互動。

這與標準姿勢 ID 中定義的「aim」姿勢相同。每個追蹤的控制器設定檔都支援這個姿勢。

瞄準姿勢範例

定位

「瞄準」姿勢的位置通常是使用者的頭部,也就是偵測到滑鼠移動時的頭部位置。當滑鼠移動時,系統會計算滑鼠的瞄準姿勢。系統會保留最後已知的瞄準位置,直到下次滑鼠移動為止。

影片方向

「瞄準」姿勢的方向可能用於算繪 3D 指標光線,以便與虛擬物件互動,例如按下牆上的選單按鈕。

當滑鼠移動時,系統會計算滑鼠的瞄準姿勢。系統會保留上次已知的瞄準方向,直到下次滑鼠移動為止。

-Z 方向是瞄準手勢的前進方向,也就是瞄準光線指向的位置。

滑鼠的相對 X、Y 移動會用於計算滑鼠沿著使用者頭部周圍的球面移動的相對移動。

瞄準姿勢範例

系統會支援使用主要點擊和捲動功能的深度移動。當深度移動動作正在處理時,位置會從頭部位置偏移,沿著光線朝正或負 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-08-29 (Levana Chen)
    • 初始擴充功能說明