輸入模擬服務 - MRTK2
使用 MRTK 的輸入模擬,您可以在 Unity 編輯器中測試各種類型的互動,而不需要建置和部署至裝置。 這可讓您在設計和開發程式中快速逐一查看您的想法。 使用鍵盤和滑鼠組合來控制模擬輸入。
輸入模擬服務會模擬 Unity 編輯器中可能無法使用的裝置和平台行為。 範例包含:
- HoloLens 或 VR 裝置頭部追蹤
- HoloLens 手勢
- HoloLens 2 清楚的手部追蹤
- HoloLens 2 眼球追蹤
- VR 裝置控制器
警告
使用 Unity 的 XR 全像>模擬模擬模式 = “Simulate in 編輯器” 時,這無法運作。 Unity 的編輯器內模擬會從 MRTK 的輸入模擬中取得控制權。 若要使用 MRTK 輸入模擬服務,您必須將 XR 全像模擬設定為模擬模式 = “None”
如何使用 MRTK 輸入模擬
輸入模擬預設會在隨附於 MRTK 的設定檔中啟用。 您可以按下 [ 播放] 按鈕,以使用輸入模擬支援來執行場景。
- 按 W、A、S、D、Q、E 鍵來移動相機。
- 按住 滑鼠右鍵 並移動滑鼠來四處查看。
- 若要啟動模擬手部,請按 空白鍵 (右) 或 左移鍵 (左手)
- 若要讓模擬手部保持在檢視中,請按 T 或 Y 鍵
- 若要旋轉模擬手部,請按住 Ctrl 鍵 並移動滑鼠
在編輯器輸入模擬速查表中
按下 HandInteractionExamples 場景中的 Left Ctrl + H ,以顯示含有輸入模擬控件的速查表。
啟用輸入模擬服務
在輸入系統數據提供者組態下,可以使用下列項目來設定輸入模擬服務。
- 類型 必須 是 Microsoft.MixedReality.Toolkit.Input > InputSimulationService。
- 支援的平臺 ( 預設) 包含所有 編輯器 平臺,因為服務會使用鍵盤和滑鼠輸入。
注意事項
輸入模擬服務可以用於其他平臺端點,例如獨立端點,方法是變更 支援的平臺 (的) 屬性以包含所需的目標。
相機控制件
輸入模擬服務可以模擬頭部移動。
旋轉相機
- 將滑鼠停留在檢視區編輯器視窗上。 如果按鈕按下無法運作,您可能需要按下視窗以提供輸入焦點。
- 按住 滑鼠外觀按鈕 (預設值:滑鼠右鍵) 。
- 在檢視區視窗中移動滑鼠以旋轉相機。
- 使用滾動輪繞著檢視方向捲動相機。
變更輸入模擬配置檔中的 滑鼠外觀速度 設定,即可設定相機旋轉速度。
或者,使用 [水平外觀垂直外觀]/ 軸將相機旋轉 (預設值:遊戲控制器右遊戲桿) 。
移動相機
使用 水平移動/垂直 軸將相機移 (預設值:WASD 鍵或遊戲控制器左遊戲桿) 。
您也可以在工具視窗中明確設定相機位置和旋轉角度。 您可以使用 [ 重設 ] 按鈕,將相機重設為預設值。
控制器模擬
輸入模擬支援模擬控制器裝置 (也就是運動控制器和手部) 。 這些虛擬控制器可以與任何支援一般控制器的物件互動,例如按鈕或可抓取的物件。
控制器模擬模式
在 輸入模擬工具視窗 中, [預設控制器模擬模式 ] 設定會在三個不同的輸入模型之間切換。 此預設模式也可以在輸入模擬配置檔中設定。
清楚的手部:使用接合位置數據模擬完全清楚的手部裝置。
模擬 HoloLens 2 互動模型。
您可以在此模式中模擬根據手部精確定位或使用觸控的互動。
手勢:使用空中點選和基本手勢模擬簡化的手部模型。
模擬 HoloLens 互動模型。
焦點是使用注視指標來控制。 空中點選手勢可用來與按鈕互動。
運動控制器:模擬與VR頭戴式裝置搭配使用的動作控制器,其運作方式類似於與手戴式手部的遠距互動。
使用控制器互動模型模擬 VR 頭戴式裝置。
觸發程式、抓取和功能表鍵是透過鍵盤和滑鼠輸入來模擬。
模擬控制器移動
按住左/右控制器作密鑰 (預設值:左控制器的左移位和右控制器的空間) 取得任一控制器的控制權。 按下作鍵時,控制器會出現在檢視區中。 釋放作金鑰之後,控制器會在簡短的 控制器隱藏逾時之後消失。
相對於 輸入模擬工具視窗 中的相機,或按 [切換 左/右控制器密鑰 ] (預設值,可以將控制器切換為開啟並凍結:左鍵為 T ,右) 為 Y 。 再次按下切換鍵,再次隱藏控制器。 若要作控制器,必須保留 左/右控制器作密鑰 。 按兩下 左/右控制器作金鑰 也可以開啟/關閉控制器。
滑鼠移動會移動檢視平面中的控制器。 控制器可以使用 滑鼠滾輪進一步或更接近相機。
若要使用滑鼠旋轉控制器,請將左/右控制器作密鑰 (左移或空格鍵) 和控制器旋轉按鈕 (預設值:左 Ctrl 按鈕) ,然後移動滑鼠以旋轉控制器。 變更輸入模擬配置檔中的 滑鼠控制器旋轉速度 設定,即可設定控制器旋轉速度。
所有手部放置也可以在 輸入模擬工具視窗中變更,包括將手部重設為預設值。
其他配置檔設定
- 控制器深度乘數 可控制滑鼠滾輪深度移動的敏感度。 較大的數位會加速控制器縮放。
- 預設控制器距離 是控制器與相機的初始距離。 按兩下 [重設 ] 按鈕控制器也會在此距離放置控制器。
- 控制器抖動量 會將隨機動作新增至控制器。 這項功能可用來模擬裝置上不正確的控制器追蹤,並確保互動能與雜訊輸入搭配運作良好。
手勢
您也可以模擬手勢,例如捏合、抓取、戳等。
使用 左/右控制器作按鍵 (左移 或 空 格鍵啟用手部控件)
作時,按住滑鼠按鈕以執行手勢。
每個滑鼠按鈕都可以對應,以使用 滑鼠左/中/右滑鼠手勢 設定,將手部形狀轉換成不同的手勢。 [ 默認手勢 ] 是未按下按鈕時的手部形狀。
注意事項
捏合手勢是目前唯一執行「選取」動作的手勢。
單手作
- 按住 左/右控制器作鍵 (左移 或 空格 鍵)
- 指向物件
- 按住滑鼠按鈕以捏合
- 使用滑鼠移動物件
- 放開滑鼠按鈕以停止互動
雙手作
若要同時使用兩隻手作對象,建議使用永續性手部模式。
- 按下切換鍵 (T/Y) 來切換兩隻手。
- 一次作一手:
- 保留 空間 以控制右手
- 將手移至您要抓取物件的位置
- 按 下滑鼠左鍵 以啟動 捏合 手勢。
- 釋放 空間 以停止控制右手。 手將會就地凍結,並鎖定在 捏合 手勢中,因為它不再受到作。
- 另一方面重複此程式,在第二個位置中抓取相同的物件。
- 現在,兩隻手都抓取相同的物件,您可以移動其中一個來執行雙手作。
GGV (注視、手勢和語音) 互動
根據預設,GGV 互動會在編輯器中啟用,而場景中沒有清楚表達的手部。
- 旋轉相機以將註視游標指向可互動的物件, (滑鼠右鍵)
- 按住 滑鼠左鍵 進行互動
- 再次旋轉相機以作物件
您可以切換輸入模擬設定檔內的 [ 啟用手動輸入 ] 選項來關閉此功能。
此外,您可以使用仿真的手來進行 GGV 互動
- 在輸入模擬配置檔中將手部模擬模式切換為手勢,以啟用 GGV 模擬
- 旋轉相機以將註視游標指向可互動的物件, (滑鼠右鍵)
- 保留 空間 以控制右手
- 按住 滑鼠左鍵 進行互動
- 使用滑鼠移動物件
- 放開滑鼠按鈕以停止互動
引發遙測事件
若要在輸入模擬中引發遙測事件,請在輸入模擬配置檔中設定手勢設定,讓其中一個執行 遙測開始 手勢,而另一個則執行 遙測結束 手勢。 [遙測開始] 手勢會顯示 [遙測指標],而 Teleport End gesure 則會完成遙測動作並移動使用者。
所產生遙測的 Y 位置取決於相機沿著 Y 軸的位移。 在編輯器中,這預設為 0,因此請使用 Q 和 E 鍵將其調整為適當的高度。
運動控制器互動
模擬動作控制器的作方式與手部的表達方式相同。 互動模型類似於明確手部的遠距互動,而觸發程式、抓取和功能表鍵分別對應至 滑鼠左鍵、 G 和 M 鍵。
眼球追蹤
您可以藉由檢查輸入模擬設定檔中的 [模擬眼球位置] 選項來啟用眼球追蹤模擬。 這不應該與 GGV 或運動控制器樣式互動搭配使用 (因此請確定 預設控制器模擬模式 已設定為 [ 手部介面 ]) 。
輸入模擬工具視窗
從 [Mixed Reality>Toolkit>公用程式>輸入模擬] 功能表啟用輸入模擬工具視窗。 此視窗可讓您存取播放模式期間的輸入模擬狀態。
選用) (檢視區按鈕
在 [指標預製專案] 下的輸入模擬設定檔中,可以指定編輯器內按鈕的預製專案來控制基本手 部放置。 這是選擇性的公用程式,可以在 輸入模擬工具視窗中存取相同的功能。
注意事項
檢視區指標預設為停用,因為它們目前有時可能會干擾 Unity UI 互動。 請參閱問題 #6106。 若要啟用,請將 InputSimulationIndicators 預製專案新增至 指標預製專案。
手部圖示顯示模擬手部的狀態:
-
手未追蹤。 按兩下以啟用手部。
-
會追蹤手部,但不會由使用者控制。 按兩下以隱藏手部。
-
手部會由用戶追蹤及控制。 按兩下以隱藏手部。
-
按兩下即可將手部重設為預設位置。