本指南將說明如何使用 Unity 專用 Google Cardboard XR 外掛程式,為 Unity 建立自己的虛擬實境 (VR) 體驗。
您可以使用 Cardboard SDK 將手機轉換為 VR 平台。智慧型手機可透過立體渲染技術顯示 3D 場景、追蹤並回應頭部動作,並在偵測到使用者按下檢視器按鈕時與應用程式互動。
如要開始使用,您將使用 HelloCardboard,這是一個示範遊戲,可展示 Cardboard SDK 的核心功能。在遊戲中,使用者會在虛擬世界中四處尋找並收集物品。說明如何執行下列操作:
- 設定開發環境
- 下載並建構試用版應用程式
- 掃描 Cardboard 觀影盒的 QR code,儲存其參數
- 追蹤使用者的頭部動作
- 為每隻眼睛設定正確的扭曲,以算繪立體圖像
- 開啟或關閉 VR 模式
設定開發環境
軟體需求:
- Unity 2021.3.44f1 以上版本
- 請務必在安裝期間加入 Android 和 iOS 建構支援。
- 請務必安裝 44f1 以上版本的修補程式。
- 您必須安裝 Git,且
git
執行檔必須位於PATH
環境變數中。詳情請參閱 Unity 的套件管理器 Git 支援說明文件。
匯入 SDK 並建立新專案
請按照下列步驟匯入 Unity SDK 並建立新專案。
- 開啟 Unity,並建立新的 3D 專案。
- 在 Unity 中,依序前往「Window」 >「Package Manager」。
- 按一下 +,然後選取「Add package from git URL」。
- 將
https://github.com/googlevr/cardboard-xr-plugin.git
貼到文字輸入欄位。
套件應新增至已安裝的套件。 - 前往 適用於 Unity 的 Google Cardboard XR 外掛程式套件。在「Samples」部分,選擇「Import into Project」。
範例素材資源應載入至Assets/Samples/Google Cardboard/<version>/Hello Cardboard
。
設定 HelloCardboard 情境
- 前往
Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes
,選取「Add Open Scenes」,然後選擇「HelloCardboard」,開啟範例場景。 - 開啟「圖層」選單,然後選取「編輯圖層...」。
- 定義名為「Interactive」的新圖層。
- 按一下「Treasure」遊戲物件,開啟「Inspector」視窗。將其圖層設為「Interactive」。如果畫面上顯示彈出式視窗,詢問您是否要將圖層設為所有子項物件的互動式,請按一下「是,變更子項」。
- 依序按一下「Player」>「Camera」>「CardboardReticlePointer」遊戲物件,開啟「Inspector」視窗。在「Carboard reticle pointer」指標指令碼中,選取「Interactive」做為「Reticle Interaction Layer Mask」。
設定 Android 專案設定
依序前往「File」 >「Build Settings」。
- 選取「Android」,然後選擇「Switch Platform」。
- 選取「Add Open Scenes」,然後選擇「HelloCardboard」。
播放器設定
解析度和呈現方式
依序前往「Project Settings」 >「Player」 >「Resolution and Presentation」。
- 將「預設方向」設為「橫向左」或「橫向右」。
- 停用「最佳化影格使用速度」。
其他設定
依序前往「Project Settings」 >「Player」 >「Other Settings」。
- 在圖形 API 中選擇
OpenGLES2
、OpenGLES3
或Vulkan
,或任意組合。 - 在「Minimum API Level」中選取
Android 8.0 'Oreo' (API level 26)
以上版本。 - 在「Target API Level」中選取
API level 33
以上版本。 - 在「Scripting Backend」中選取
IL2CPP
。 - 在「Target Architectures」中選擇
ARMv7
、ARM64
或兩者,即可選取所需的架構。 - 在「網路存取」中選取
Require
。 - 在「Active Input Handling」中選取
Input System Package (New)
。 - 在「Package Name」下方指定貴公司的網域。
- 如果您選取
Vulkan
做為 圖形 API:- 在「Vulkan 設定」中,取消勾選「在算繪時套用畫面旋轉設定」核取方塊。
- 如果 Unity 版本為 2021.2 以上,請在「紋理壓縮格式」中選取
ETC2
。
- 如果 Unity 版本為 2023.1 以上,請在「Application Entry Point」中選取
Activity
並清除GameActivity
。
發布設定
依序前往「Project Settings」 >「Player」 >「Publishing Settings」。
- 在「Build」部分,選取
Custom Main Gradle Template
和Custom Gradle Properties Template
。 在
Assets/Plugins/Android/mainTemplate.gradle
的依附元件部分中加入下列行:implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.gms:play-services-vision:20.1.3' implementation 'com.google.android.material:material:1.12.0' implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
在
Assets/Plugins/Android/gradleTemplate.properties
中新增下列指令行:android.enableJetifier=true android.useAndroidX=true
XR 外掛程式管理設定
依序前往「Project Settings」 >「XR Plug-in Management」。
- 選取「外掛程式供應商」下方的
Cardboard XR Plugin
。
建構您的專案
依序前往「File」 >「Build Settings」。
- 選取「Build」,或選擇裝置並選取「Build and Run」。
設定 iOS 專案
依序前往「File」 >「Build Settings」。
- 選取「iOS」,然後選擇「Switch Platform」。
- 選取「Add Open Scenes」,然後選擇「HelloCardboard」。
播放器設定
解析度和呈現方式
依序前往「Project Settings」 >「Player」 >「Resolution and Presentation」。
- 將「預設方向」設為「橫向左」或「橫向右」。
其他設定
依序前往「Project Settings」 >「Player」 >「Other Settings」。
- 在「相機使用說明」中,輸入
Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
。 - 在「Target minimum iOS Version」中,輸入
12.0
。 - 在「Package Name」下方指定貴公司的網域。
XR 外掛程式管理設定
依序前往「Project Settings」 >「XR Plug-in Management」。
- 選取「外掛程式供應商」下方的
Cardboard XR Plugin
。
建構您的專案
依序前往「File」 >「Build Settings」。
- 選取「Build」或「Build and Run」。
重新置中
Cardboard SDK 可讓您使用 Recenter()
重新調整頭部追蹤器。
如要使用範例應用程式試用這項功能,請按照下列步驟操作:
- 將裝置移至要重新調整的位置 (用作新的正面頭部姿勢)。
- 按住 Cardboard 裝置的扳機至少三秒鐘。
- 放開扳機。
- 初始姿勢現在位於相機指向的方向。
開啟及關閉 VR 模式
Unity XR 外掛程式管理 API 可讓您為 適用於 Unity 的 Google Cardboard XR 外掛程式開啟或關閉 VR 模式。您可以在 Unity 的使用者說明文件中,查看使用者說明文件和使用範例。
HelloCardboard 範例中的 VrMode 場景會顯示上述 API 的基本用法。在這個情境中,只要輕觸「退出」圖示 ,即可關閉 VR 模式,只要輕觸螢幕上的任何位置,即可再次開啟。如要進一步瞭解執行方式,請查看 VrModeController.cs。
後續步驟
- 詳閱 Cardboard 品牌宣傳指南。