HurricaneVR 教學HurricaneVR 是一套支援 Unity 的虛擬實境遊戲開發工具,協助您快速製作更真實的 VR 手部物理互動功能,讓玩家可以體驗握持物體的重量,實現高品質的物理碰撞、物件抓握、投擲、開門、攀爬、抽屜等物理互動。另提供玩家移動操作、多種武器與直覺式操作的背包系統,支援市售主流虛擬實境裝置,包括 Oculus Rift、Oculus Quest、HTC Vive、Valve Index 等。 HurricaneVR 官方文件 [ 連結 ]
HurricaneVR 主要功能製作 VR 靈活且真實的手部動作,可替換自行製作的手模型。 整合 SteamVR 手指追蹤功能 / 支援 OpenXR 的新輸入系統。 Unity 編輯器自動姿勢即時更新,可讓您快速創建姿勢。 支援 Final IK / VRIK 插件,在場景放置完整身體模型。 提供可設定穿刺困難度與摩擦力的物件穿刺功能 。 HexaBody VR Player Controller / Final IK / VRIK
HurricaneVR 技術展示先開啟 Asset Store 資源商店搜尋 Hurricane VR 下載並匯入專案。 按下 Project Setup 專案設定視窗的 Setup Layers, Setup Physics Settings, Setup Collision Matrix 按鈕完成設定。 本教學使用 Hurricane VR 製作 Meta Quest 遊戲,開啟專案設定安裝 XR Plugin 資源製作 VR 互動功能。
HurricaneVR 範例初次使用 HurricaneVR 建議先試玩範例場景,開啟 [ HurricaneVR > Samples > Scenes ] 資料夾的 Examples 場景。 玩家可進行基本移動、瞬間移動、物件抓握、攀爬樓梯、開門、抽屜、按鈕、扳手、保險櫃的互動操作。 武器方面提供 M4A1 突擊步槍、散彈槍、手槍、弓箭、太刀。 使用號碼鎖的門禁系統 直覺化操作的背包系統,玩家手握控制器移到背後,即可將武器放入背包或取出使用。 Hurricane VR 範例場景需要 TextMesh Pro 資源,出現 TMP Importer 對話框時請選擇匯入專案。 HurricaneVR 1.x 版本的範例場景,文字顯示有點問題,解決方法是任選一個文字,調整大小後再按 Ctrl+Z 還原即可修正。 HurricaneVR 2.x 版本的範例場景,文字顯示的問題已經修正。若需要在 VR 遊戲加入文字,建議使用 TextMesh Pro 製作。 本教學提供使用 HurricaneVR 範例場景製作的 APK 檔,支援 Oculus Quest 2 裝置,請 按此下載 。 將 HurricaneVR 製作的遊戲安裝到 Oculus Quest 頭戴式顯示器執行的步驟請參閱 SideQuest 教學 。
製作 HurricaneVR 遊戲場景開啟 [ HurricaneVR > Framework > Integrations > Oculus ] 資料夾的 OculusScene 專用場景,另存新場景。 遊戲場景將 Oculus XRRig Variant 預製物件是玩家角色,按下 Play 測試應該可以正常操控,稍後再製作場景中的互動物件。
互動功能 - 抓握物件抓握是 VR 互動的基本功能,若物件的任何位置皆可抓握,可以使用以下的方法。 建立一個物件並套用 Rigidbody 剛體元件,若物件缺少剛體元件,將可抓握但無法移動。
為了方便測試 VR 互動操作,可將 Oculus Quest 與電腦連接並開啟 Oculus Link 功能,即可在 Unity 編輯器使用實機操作。
實際上抓握不同的物件時,手的姿勢應該是不相同的,例如持槍時手應該握著槍柄而食指在扳機的位置。 接著說明另一種設定抓握的方法,執行 [ Tools > HurricaneVR > Posing ] 開啟 HVR Posing 工具視窗。 使用 HurricaneVR 提供的長劍武器,搜尋 Sword.FBX 模型,將長劍放在原點位置。 按下 Setup 按鈕將會出現設定項目,而選取的物件將會建立 GrabPoints 與 Grab Point 子物件,用於設定抓握的位置。 勾選 Preview 開啟預覽用的手部模型。 預設的左右手放置位置、旋轉角度、手指姿勢需要調整,使用手部模型上方的控制器,移動,點一下切換至旋轉模式。 勾選 Auto Pose 開啟自動偵測物件調整姿勢,通常需要再進行手動微調。 手部姿勢調整完成後,按下 HVR Posing 視窗 Poses 下面的 Save 按鈕,可儲存手部姿勢供稍後使用。 如果物件需要擁有多個抓握處,可以再按下 GrabPoints 下方的 Add 按鈕。
HVR Posable Grab Point 腳本可用於調整抓握位置的偏移,Hand Poser 需套用擁有 HVR Hand Poser 腳本的物件。 Line Grab 可在兩點之間的任意位置進行抓握(例如球棒、球桿等物件),勾選Is Line Grab 然後設定 LineStart、LineEnd 座標,即可在兩點座標的直線上任意位置進行抓握。
互動功能 - 刺穿物件上加入HVR Stabber腳本,需要設置 Tip、Base、Stabbing Collider,按下 Add Transforms 能自動生成 Tip 和 Base 物件。
將 Stabbing Colliders 項目展開並將修改 Size 數值,調整所需要的穿刺碰撞區。 ~ 點選 Ignore Object、Child Colliders 來忽視物件下其他的碰撞器。 ~ 可刺穿的物件套用 HVR Stabbable 腳本(若穿刺物件為 Stab Anything 則不需要),按下 Settings 右側圓鈕選擇穿刺的難易度。
互動功能 - 瞬間移動玩家可以選擇實際移動,或使用瞬間移動功能。 選取玩家物件下的 PlayerController 子物件,可設定瞬間移動。
互動功能 - 抽屜製作抽屜的步驟,套用 Rigidbody 剛體元件、HVR Grabbable 腳本元件、HVR Physics Drawer 腳本元件。
控制燈光亮度使用開關控制燈光的亮度,控制腳本的程式碼:
|