練習 - 將手部互動指令碼新增至物件
ObjectManipulator 指令碼支援「手部和運動控制器」輸入模型的「直接操作」特徵。 當指令碼附加至物件時,使用者可以使用手部來移動、縮放或旋轉物件。 在此練習中,您將建立兩個 Cube,並將必要的指令碼附加至這些 Cube,然後將 Cube 四處移動。
新增並調整第一個 Cube
在功能表列中,選取 [GameObject] > [3D 物件] > [Cube]。
Cube 的預設大小是一平方公尺,這對於我們的用途而言太大。 我們會將大小縮減為 20x20x20 公分。
選取 Cube,然後在 [偵測器] 中,將 Cube 的 [轉換/縮放] 值變更為下列各項:
X = 0.2、Y = 0.2、Z = 0.2
將 Cube 放置在場景中的預設位置 (0,0,0)。 這表示 Cube 與使用者的頭戴式裝置位於相同的位置,而且使用者在向後移動之前,將無法看到 Cube。 我們將變更 Cube 的位置值,使其位於較佳的位置以供檢視。
在 Inspector 中,將 Cube 的 [轉換/位置] 值變更為下列值:
X = -0.2,Y = 1.6,Z = 0.5
我們想要能夠看到立方體的三邊,因此也會變更立方體的旋轉。
注意
Cube 的高度設定為 1.6,以符合 MRTK XR Rig 上的 [相機位移] 高度,將其大致放在與視線等高的位置。
在 [偵測器] 中,將 Cube 的 [轉換/旋轉] 值變更為下列各項:
X = 9、Y = 14、Z = 0 f
提示
若要放大 Cube,請選取 Cube,並確定游標停留在 [場景] 視窗上,然後按 F 鍵。 您可以透過這種方式放大任何物件。
將指令碼新增至 Cube
為了讓物件有追蹤的手部「可抓取」,必須對其附加兩個元件:
- Collider 元件 (您在這裡不需要執行任何動作;Unity 的 Cube 預設已附加 Box Collider)
- Object Manipulator (指令碼) 元件
在仍選取 Cube 的情況下,選取 [偵測器] 視窗中的 [新增元件] 按鈕,然後搜尋並選取 [物件操作工具] 指令碼。
ObjectManipulator 指令碼會讓物件可以使用一或兩隻手移動、調整和旋轉。 當您新增物件操作工具指令碼時,也會自動新增條件約束管理員指令碼,因為物件操作工具指令碼對其具有相依性。
更新 Cube 的材質
為了達到效能的目的,建議使用 MRTK 材質,而不是預設 Unity 材質。
- 在仍選取 Cube 之後,請在網格轉譯器元件上尋找 [材質] 區段。
- 將預設材質取代為位於 [MRTK 標準資產][材質] 底下的 MRTK_Standard_White 材質。 您可以將材質從 [專案] 窗格拖放到 [材質] 區段中。
新增第二個 Cube
在 [階層] 中,以滑鼠右鍵按一下 Cube,然後選取 [複製]。 隨即出現重複的 Cube,名稱為 Cube (1)。
以滑鼠右鍵按一下原始 Cube,選取 [重新命名],然後將 Cube 命名為 Near Cube。
以滑鼠右鍵按一下複製的 Cube,選取 [重新命名],然後將 Cube 命名為 Far Cube。
目前,看起來像是 [場景] 檢視中只有一個 Cube。 這是因為 Near Cube 和 Far Cube 位於相同的位置。 讓我們變更 Far Cube 的位置和旋轉。
在仍選取 [Far Cube] 的情況下,將其 [轉換] 元件中的值變更為下列各項:
位置:X = 0.6, Y = 1.6, Z = 1.1
旋轉:X = 27、Y = 0、Z = 0
相機現在應該會在左側看到 Near Cube,而 Far Cube 在右側稍微遠一點的位置。 若要確認這一點,請在 [階層] 中選取 [主要相機] (在 [MRTK XR Rig][相機位移] 下方),然後在 [場景] 視窗中查看 [主要相機] 視窗。
提示
如果您想要讓 [場景] 視窗中的檢視看起來更像相機所看到的景象,請在 [場景] 視窗中來回捲動。 您可能必須將相機的 Clear Flags 設定為 Skybox (如果這不是預設值)。
在播放模式中抓取並移動 Cube
選取 [播放] 按鈕。 當專案開始播放時,檢視會切換至 [遊戲] 視窗。
注意
開始玩之前,請確認 [專案設定]>[MRTK3] 底下已設定有效的設定檔。
選取 [遊戲] 視窗右上角的 [三點] 按鈕,然後選取 [最大化]。
按空格鍵讓模擬的右手出現在檢視中。
將模擬的手往 Near Cube 移動,直到其觸碰立方體的側邊或底部為止。
按滑鼠左鍵 (這會讓手部「抓取」Cube),然後將 Cube 拖曳到場景周圍。
為了抓取並移動 Far Cube,我們將使用附加至模擬手部的遠指標。
您可以視需要再次按空格鍵,讓模擬的右手出現。 請注意從手部食指尾端延伸的遠指標。
將手往 Far Cube 移動,直到您可以看到立方體上的指標尖端為止。 您可能需要在迴圈動作中來回移動手部數次,讓指標尖端出現在 Cube 上。
按滑鼠左鍵 (這會關閉手部,並採用我們稱之為捏合手勢的動作),然後將 Cube 拖曳到場景周圍。
Unity 編輯器中的輸入模擬
您可以使用 Unity 編輯器內輸入模擬功能來測試全像攝影物件行為。
變更場景中的檢視
- 若要將相機向前/向左/向後/向右移動,請按 W/A/S/D 鍵。
- 若要垂直移動相機,請按 Q 和 E 鍵。
- 若要旋轉相機,請按滑鼠右鍵,然後拖曳。
模擬手部輸入
- 若要啟用模擬右手,請按住空格鍵。 若要移除手部,請放開空格鍵。
- 若要啟動模擬左手,請按住左 Shift 鍵。 若要移除手部,請放開左 Shift 鍵。
- 若要在場景周圍移動任一隻手,請移動滑鼠。
- 若要將手部向前或向後移動,請旋轉滑鼠滾輪。
- 若要模擬捏合手勢,請按滑鼠左鍵。
- 若要旋轉手部,請按住空格鍵 + CTRL 鍵 (右手) 或左 Shift 鍵 + CTRL 鍵 (左手),然後移動滑鼠。
持續啟用手部
若要啟用手部並將其保留在螢幕上,而不用繼續按住按鍵,請按 T (左手) 或按 Y (右手)。 若要移除手部,請再次按這些按鍵。
在 Unity 中建置您的應用程式
選取 [三點] 按鈕,然後取消核取 [最大化],將 [播放] 視窗最小化。
在功能表列中,選取 [檔案] > [建置設定...]。
在 [建置設定] 對話方塊中,選取 [新增開啟的場景] 按鈕,將您目前的場景新增至 [建置中的場景] 清單。
選取 [組建] 按鈕。
在 [建置通用 Windows 平台] 視窗中,瀏覽至您要儲存建置的資料夾,或建立新的資料夾並瀏覽至該資料夾,然後選取 [取資料夾] 按鈕以啟動建置程序。
隨即出現進度列,讓您知道建置進行的狀況。
(選用) 建置和部署應用程式
注意
建置和測試 HoloLens 2 並非必要項目。 或者,如果您沒有裝置,也可以在 HoloLens 2 Emulator 上進行測試。 您可以在 HoloLens.com 購買裝置。
當建置程序完成時,Windows 檔案總管隨即開啟,並顯示建置資料夾。 瀏覽該資料夾,按兩下解決方案的檔案即可在 Visual Studio 中開啟該檔案。
設定 Visual Studio 以便用於 HoloLens,請選取 [Master] 或 [Release] 設定,以及 [ARM64] 架構:
提示
如果您部署至 HoloLens (第 1 代),則請選取 [x86] 架構。
注意
如果您在 Visual Studio 中未看到 [裝置] 顯示為目標選項,則可能需要將解決方案的啟始專案從 IL2CPP 專案變更為 UWP 專案。 在 [方案總管] 中,以滑鼠右鍵按一下 [您的專案名稱] (Universal Windows),然後選取 [設定為啟始專案]。
重要
建置至您的裝置之前,裝置必須處於開發人員模式,並與開發電腦配對;請參閱啟用開發人員模式。
選取部署目標下拉式功能表,然後執行下列其中一項動作:
- 如果您要透過 Wi-Fi 進行建置及部署,請選取 [遠端電腦]。
- 如果您要透過 USB 進行建置及部署,請選取 [裝置]。
設定遠端連線:在功能表列上,選取 [專案和屬性]>。
在專案的 [屬性頁] 視窗中,選取 [設定屬性] > [偵錯]。
選取 [要啟動的偵錯工具] 下拉式功能表,然後選取 [遠端電腦] (若尚未選取)。
重要
建議您手動輸入您的 IP 位址,而不要依賴「自動偵測」功能。 若要尋找您的 IP 位址,請在 HoloLens 上,移至 [設定] > [更新和安全性] > [適用於開發人員]。 IP 位址會列在 [乙太網路] 下的視窗底部。
在 [機器名稱] 欄位中,輸入裝置的 IP 位址。
將 [驗證模式] 設定為 [通用 (未加密的通訊協定)]。
將 HoloLens 連線至您的電腦,然後在 Visual Studio 中執行下列其中一項:
- 若要部署至您的 HoloLens,然後在不連結 Visual Studio 偵錯工具的情況下自動啟動應用程式,請選取 [偵錯] > [啟動但不偵錯]。
- 若要在不自動啟動應用程式的情況下部署 HoloLens,請選取 [建置] > [部署解決方案]。
將裝置配對
第一次從 PC 將應用程式部署至 HoloLens 時,系統將會提示您輸入 PIN 碼。 若要建立 PIN 碼:
- 在 HoloLens 中,移至 [設定] > [更新和安全性] > [適用於開發人員]。
- 選取 [配對]。這會顯示 HoloLens 中的 PIN 碼。
- 在 Visual Studio 的對話方塊中輸入 PIN 碼。
- 在配對完成後,選取 HoloLens 中的 [完成]。
您的電腦現在已與 HoloLens 配對,您可以自動部署應用程式。 針對用來將應用程式部署至 HoloLens 的每個 PC,重複這些步驟。
在 HoloLens 上執行您的應用程式
在應用程式完成建置之後,請在 HoloLens 的 [開始] 功能表中,尋找應用程式的應用程式圖格,然後加以選取。
應用程式啟動之後,請觸達 Near Cube,然後將其抓取並拖曳。
使用遠指標來抓取 Far Cube,然後加以拖曳。
提示
HoloLens 能讓您比在 Unity 中測試應用程式時獲得更多彈性。 您可以實際四處移動並使用 Near Cube 上的遠指標,或使用手部觸達並抓取 Far Cube!
提示
您也可以部署至 HoloLens Emulator,或建立應用程式套件以進行側載。
您可能會注意到應用程式中的診斷分析工具。 您可以使用「切換診斷」語音命令將其開啟或關閉。 建議您在開發期間儘量讓分析工具保持可見,以了解應用程式的變更如何對效能產生影響。 例如,您可以監視您的應用程式,以確保畫面播放速率至少為 60 FPS。