# 安裝 Pico XR SDK :::info 2022/10/10 此 SDK 已更名為 PICO Unity Integration SDK ::: :::danger **重要!!** 實驗室 pico 的 PUI 版本是 4.X.X,如果你使用新版 PICO SDK 會遇到黑屏/閃退問題。 **請使用舊版 SDK (v.2.1.2 以下)。** ![image](https://hackmd.io/_uploads/HkrX1QoHp.png) ::: :::warning 此 SDK 支援 Unity 版本: - 2019.4 - 2020.3 - 2021.3 如果你不是使用這些版本,很可能會導致錯誤。 關於如何將實驗室舊專案升級版本請見 [升級 Unity 引擎版本](/Vdw7uwrOSxGLSiuze7rXPA) ::: ## 下載 Pico XR SDK - ~~SDK 下載: https://developer.pico-interactive.com/sdk/index~~ - 實驗室使用版本 v.2.1.1: http://140.115.54.26:4000/110522166/PICO_Unity_Integration_SDK - 官方 Github: https://github.com/picoxr/support - 官方文檔:https://developer.pico-interactive.com/docs/cn/12050/225280/ - 官方文檔(2.5):https://pdocor.pico-interactive.com/reference/unity/xr/2.05/index.html - Unity XR 官方說明 https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.0/manual/general-setup.html ## 安裝 Pico XR SDK 下載後解壓縮到專案資料夾,**不在 Assets/ 底下的地方** (依習慣放根目錄或是 Package/ 下) :::warning <!-- :warning: 不要直接解壓到專案裡面,後面會報錯 --> :warning: 待會設定好後那個*路徑*就**相當於專案的一部分**,也就是之後你去更改那個路徑的內容,或是不小心刪到,專案就會炸給你看。 ::: 打開專案,打開 Windows > Package Manager,按左上角的 +,選 Add package from disk ![](https://i.imgur.com/eOJtW7j.png) 跳出檔案選擇視窗,到剛才的*路徑*,找到裡面的 `package.json` 並選擇 ![](https://i.imgur.com/lxTACKH.png) ## 安裝 UnityEngine.XR 在 Package Manager 中,切換左上 Package 來源到 Unity Registry,在右上搜尋框找 `XR`,找到 XR Plugin Management 與 XR Interaction Toolkit,安裝他們 ![](https://i.imgur.com/Hgyo3mP.png) XR Interaction Toolkit 底下的兩個 Samples 也都安裝 (Starter Assets 與 XR Device Emulator) ![](https://i.imgur.com/vdR41fh.png) ## 環境設置 :::success 左邊 BOKU NO PICO 內有附上我的 XR 物件包,你可以直接拿去用,可以用的話就能跳過這一節了 ::: :::info 跳過這一步的話,你在下一步建立 Rig 時要手動把左右手 Controller 選項填上去 ::: 到 Edit > Project Settings 裡面的 Preset Manager > Add Default Preset 新增 XR Controller (Action-based),照著下面的圖填參數 ![](https://i.imgur.com/7JEkvbW.png) 同樣 Project Settings > XR Plugin Management,幫 PicoXR ==(新版改名 PICO)== 打勾勾 ![](https://i.imgur.com/E1Ftmh8.png) ## 建立 Rig :::success 使用我的 XR 物件包可以跳過這一節:直接使用底下 `[PicoXRRig]` 即可 本章節是從政哲的筆記複製貼上的,謝啦 ::: * 在場景 Hierarcy 右鍵 > XR > XR Origin (new Action-based) ==(new: XR > Device-Based > XR Origin(VR))== * XR Origin 新增 Input Action Manager 部件 * Action Assets 新增 XRI Default Input Acitons * 可以調整一下 Camera Y Offset,我這邊是太高了 ![](https://i.imgur.com/FW6nLPv.png) * XR Origin 底下的 LeftHandController 和 RightHandController * 底下新增一個空物件,代表虛擬手把的位置 * (選裝)底下另外新增一個空物件,代表人物模型手的位置 * XR Controller 部件 > Model 新增 Pico 的手把模型(Package > PicoXR Plugin > Assets > Resources > Prefabs 裡面) * Model Parent 加上剛剛代表虛擬手把位置的空物件 ![](https://i.imgur.com/8iM5Ael.png) * XR Ray Interator 部件底下調整 Raycast Configuration(很重要!Max Raycast Distance 決定你雷射能互動的距離!) ![](https://i.imgur.com/WSVxaL6.png) * (選裝)XR Origin 底下的 MainCamera 新增 Head Tracker 空物件代表人物模型頭的位置 * XR Origin 新增 XR Interaction Manager * 最後把它做成 Prefab,全部照做應該長這樣 ![](https://i.imgur.com/qvDFdxx.png) ## Troubleshoot :::info #### build 專案時遇到 `Execution failed for task ‘:processReleaseResources’` (見 Pico VR SDK 文件) 1. 更改 manifest (`android:requestLegacyExternalStorage`) 2. 嘗試更新 Android SDK 版本 (Preference > External Tools) ::: ###### References 政哲的探路筆記 https://hackmd.io/qUwntB_gRQi_eAl0DWYNFw