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