Unity Script 語法範例教學 - 跟隨 VR 玩家的 UI 選單

本教學製作一個跟隨 VR 玩家移動轉向的遊戲選單,類似 Meta Quest 2 虛擬實境顯示器的大廳選單。

以下步驟搭配 HurricaneVR v2.x 外掛程式製作,建立一個新空白場景,加入讓玩家角色移動的地板。

開啟 [ HurricaneVR > TechDemo > Prefabs ] 資料夾,將 TechDemoXRRig 拖曳到原點或適當位置。

這是 VR 玩家角色的預製物件,注意!HurricaneVR 提供的玩家預製物件可能因版本而有不同的名稱。

關閉或刪除場景中預設的 Main Camera 攝影機避免出現錯誤。

選取場景中的 TechDemoXRRig > PlayerController > FloorOffset > CameraScale > Camera 攝影機,若需後製效果可加在此物件。

為了讓 UI 跟隨玩家視線,在攝影機加上一個 Cube 方塊並命名為 "Target" ,縮小後移到玩家前方位置,玩家移動或轉頭將帶動它。

開始製作 UI  注意!此場景的玩家角色自帶 Canvas 若新增 UI 將會變成玩家的子物件,為了避免此情況:

新增 Canvas 畫布,並參考以下設定:

Pos X / Pos Y = 0

Width = 600 / Height = 300(建立透過 VR 實際體驗後調整到適當大小)

Scale = 0.01 / 0.01 / 0.01

Render Mode = World Space

 

接著在此 Canvas 畫布下建立 Panel 面板,按需求修改外觀。

新增一個 UIController.cs 腳本,功能是讓 UI 跟隨 VR 玩家的視線移動,程式碼如下:

將 UIController.cs 腳本套用到 Canvas 畫布,透過 Inspector 設定參數:

Target = VR 玩家角色攝影機的 Target 方塊物件(稍後可將物件隱藏)。

Lerp Speed = 0.05 設定 UI 跟隨玩家的移動速度。建議體驗並適當調整。

建置遊戲並側載到 Oculus Quest 2 或 Vive Focus 3 進行測試。