4.使場景成為互動式場景

在上一個教學課程中,您已新增 ARSession、Pawn 和遊戲模式,來完成適用於國際象棋應用程式的混合實境設定。 本節著重於使用開放原始碼混合實境工具組 UX 工具外掛程式,其提供讓場景成為互動式場景的工具。 在本節結束時,您的棋子將透過使用者輸入而移動。

目標

  • 安裝 Mixed Reality UX 工具外掛程式
  • 將手部互動動作項目新增至您的指尖
  • 建立操作工具並將其新增到場景中的物件
  • 使用輸入模擬來驗證專案

下載混合實境 UX 工具外掛程式

開始使用使用者輸入之前,您必須將 Mixed Reality UX 工具外掛程式新增至專案。 若要深入瞭解 UX 工具,您可以在 GitHub 上查看專案。

  1. 開啟 Epic 遊戲啟動器。 流覽至 Unreal Engine Marketplace,並搜尋 「Mixed Reality UX 工具」。 將外掛程式安裝到您的引擎。

Unreal Marketplace

  1. 回到 Unreal 編輯器,移至 [項目設定>外掛程式],然後搜尋 “Mixed Reality UX 工具”。 請確定外掛程式已啟用,並在出現提示時重新啟動編輯器。

啟用 Mixed Reality UX 工具外掛程式

  1. UXTools 外掛程式具有具有元件子資料夾的 Content 資料夾,包括 ButtonsXR SimulationPointers,以及具有其他程式碼的 C++ 類別資料夾。

注意

如果您沒有在內容瀏覽器中看到 [UXTools 內容] 區段,請參閱 [檢視選項顯示引擎內容] 和 [檢視選項>>] [顯示外掛程式內容]。

顯示引擎內容

如需其他外掛程式文件,可以從混合實境 UX 工具 GitHub 存放庫取得。

安裝外掛程式後,您就可以開始使用程式所提供的工具,從手部互動動作項目開始。

繁衍手部互動動作項目

與 UX 元素的手動互動是搭配手動互動動作項目來執行,此動作項目會建立及驅動指標和視覺效果,以進行遠近距離互動。

  • 近距離互動 - 在食指與拇指之間捏合元素或用指尖點戳。
  • 遠距離互動 - 將虛擬手發出的光線指向某個元素,並同時按下食指和拇指。

在我們的案例中,將手部互動動作項目新增至 MRPawn 將會:

  • 新增游標至 Pawn 食指的指尖。
  • 提供以關節連接的手部輸入事件,可透過 Pawn 操作。
  • 允許透過從虛擬手掌延伸的手部光線,進行遠距離互動輸入事件。

建議您先閱讀手部互動的文件,再繼續進行。

一旦準備好,就開啟 MRPawn 藍圖,然後移至 [事件圖形]。

  1. Event BeginPlay 拖曳並放開執行釘選,以放置新的節點。

    • 選取 [從類別繁衍動作項目]、按一下 [類別] 釘選旁的下拉式清單,然後搜尋 [Uxt 手部互動動作項目]。
  2. 繁衍第二個 [Uxt 手部互動動作項目],這次會將 [手部] 設定為 [右手]。 當事件開始時,會在每個手部上繁衍 Uxt 手部互動動作項目。

您的 [事件圖形] 應該符合下列螢幕擷取畫面:

繁衍 UXT 手部互動動作項目

這兩個 Uxt 手部互動動作項目都需要擁有者和初始轉換位置。 在此情況下,初始轉換並不重要,因為UX工具會在看到手部互動動作專案時立即跳到虛擬手部。 不過,SpawnActor 函式需要轉換輸入來避免編譯器錯誤,因此您將使用預設值。

  1. 從其中一個 [繁衍轉換] 釘選拖曳並放開釘選,以放置新的節點。

    • 搜尋 [進行轉換] 節點,然後將 [傳回值] 拖曳至另一手的 [繁衍轉換],讓兩個 SpawnActor 節點連線。
  2. 選取兩個 SpawnActor 節點底端的向下箭頭,以顯示 [擁有者] 釘選。

    • 從其中一個擁有者釘選拖曳釘選,然後放開以放置新的節點。
    • 搜尋本身,然後選取取得本身的參考變數。
    • 本身物件參考節點與另一個手部互動動作項目的擁有者釘選之間建立連結。
  3. 最後,應對兩個手部互動動作項目都核取 [在抓取目標上顯示近處的游標] 方塊。 當您的食指靠近時,抓取目標上應該會出現游標,讓您能夠看出手指與目標的相對位置。

    • 編譯儲存,然後返回主視窗。

確定連線符合下列螢幕擷取畫面,但是您可以隨意拖曳節點,讓您的藍圖更容易閱讀。

完成 UXT 手部互動動作項目設定

您可以在 UX 工具文件中找到關於手動互動動作項目的詳細資訊。

現在,專案中的虛擬手部有一種方式可以選取物件,但仍然無法進行操作。 測試應用程式前的最後一項工作是將操作工具元件新增至場景中的動作項目。

附加操作工具

操作工具是一種元件,可回應以關節連接的手部輸入,而且可以抓取、旋轉和轉譯。 將操作工具的轉換套用至動作項目轉換可允許直接動作項目操作。

  1. 開啟 [棋盤] 藍圖、按一下 [新增元件],然後在 [元件] 面板中搜尋 [Uxt 一般操作工具]。

新增一般操作工具

  1. 展開 [詳細資料] 面板中的 [一般操作工具] 區段。 您可以從這裡設定單手或雙手操作、旋轉模式和其他等等。 請隨意選取您想要的任何模式,然後 [編譯] 及 [儲存] 棋盤。

設定模式

  1. 針對 WhiteKing 動作項目重複上述步驟。

若要深入了解混合實境 UX 工具外掛程式中提供的操作工具元件,請參閱文件

測試場景

好消息! 您已經準備好使用新的虛擬手部和使用者輸入來測試應用程式。 按下主視窗中的 [播放],您會看到兩個網狀手部,以及從每一個手掌延伸的光線。 您可以控制手部及其互動,如下所示:

  • 按住左 Alt 鍵,以控制左手,按住左 Shift 鍵,以控制右手
  • 移動您的滑鼠來移動手部,並使用您的滑鼠滾輪來捲動,將手部向前向後移動。
  • 使用滑鼠左鍵捏合,使用滑鼠中間按鈕撥開

注意

如果您將多個頭戴式裝置插入電腦,輸入模擬可能無法正常運作。 如有問題,請嘗試拔掉其他頭戴式裝置。

檢視區中的模擬手部

試著使用模擬的手部來拾起、移動和放置白棋國王,並操作棋盤! 實驗遠近距離互動 - 請注意,當您的手夠靠近可以直接抓取棋盤和國王時,食指指尖上的手指游標會取代手部光線。

若要深入了解 MRTK UX 工具外掛程式中所提供的模擬手部功能,請參閱文件

既然您的虛擬手部可以與物件互動,您就可以繼續進行下一個教學課程,並新增使用者介面和事件。

下一節:5. 新增按鈕並重設棋子位置