# **在 Unity 開發 HTC Vive Focus 3 的專案** 首先要安裝官方提供的 SDK (不分PC 或 Android) 一開始先按照官方教學做就可以了 https://developer.vive.com/resources/openxr/unity/tutorials/how-to-install-vive-openxr-plugin/ 若想要基本的鏡頭、控制器功能,只要做到框起來的步驟就行了  完全按照教學做的情況下 (除非官方有更新教學內容) 會遇到以下問題: * Editor 執行時控制器無反應,需要 Build 才會正常運作 * 某些 Shader 的材質顯示在單眼 * 控制器的 Line 無法與 UI 正常互動 會出現這些問題是因為官方教學對於**開發與測試**的角度來說,還不夠完整 --- ## 某些情況下,控制器無反應的問題 這個問題比較複雜,但以下方法應該能使控制器在所有狀況下都能正常運作 Editor 執行時控制器無反應是因為教學會讓你將平台設定成 Android,在串流時,Unity 端正吃到 PC 端的 Input,所以才會沒有反應。個人建議 PC 跟 Android 都要設定好,目前開發一般的功能時其實不會產生甚麼衝突。 先進到 Project Setting 的 XR Plug-in Management 確認  Android 端的 OpenXR  PC 端的 OpenXR  然後進到 Project Settings OpenXR  Android 端的 Interaction Profiles  PC 端的 Interaction Profiles  --- 還有一點要注意,有時候使用 Unity Input System 的 Input Action,自己以 Listen 的方式所偵測到的按鍵輸入,很可能在 Build 進 Android 後無反應,建議可以從 XR Interaction Toolkit 自帶的 XRI Default Input Actions 裡面抓取  或是自定義 Input Actions 後自己手動選擇 Binding Path  如此一來,不論你的狀況是用 Unity Editor 執行、不論平台為 PC 或 Android、Build 成 exe或將 apk 安裝在頭戴式裝置上,都能夠使控制器正常運作。 --- 除此之外,在串流時 PC 一定是透過 Vive Business 開啟 SteamVR,所以為了方便開發可以進到 Project Settings,在 XR Plug-in Management 打開 OpenXR(PC) 裡面的 Play Mode OpenXR RunTime,選擇適合的開啟工具 (SteamVR)  --- ## 特定材質僅顯示在單眼 通常是有特別寫過 Shader 的情況下才會發生,這個問題比較簡單,只要去 Project Settings 裡的 Render Mode 設定成 Multi-pass 就好了 (PC 跟 Android 都要)  --- ## 控制器的 Line 無法與 UI 正常互動 UI 的 Canvas 應該會自帶一個 Graphic Raycaster,但根據以往的經驗,其實不太需要這個腳本,只要手動加入 XR Interaction ToolKit 包含的 Tracked Device Graphic Raycaster 就可以與 UI 正常的互動了 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up