快速入門導覽課程:Google OpenGL 專用 Unity

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

本指南說明如何透過 Unity 的 Unity 專用 Google OpenGL XR 外掛程式,自行建立虛擬實境 (VR) 體驗。

你可以使用 OpenGL SDK 將智慧型手機變成 VR 平台。智慧型手機可以顯示 3D 情境與立體成像的算繪、追蹤頭部動作並回應頭部動作,以及偵測使用者何時按下檢視器按鈕,來與應用程式互動。

首先,請使用 HelloCardboard 示範遊戲,示範 Wear SDK 的核心功能。在遊戲中,使用者會探索虛擬世界,以便尋找和收集物件。其中說明如何:

  • 設定開發環境
  • 下載並建構試用版應用程式
  • 掃描 VR 檢視器的 QR 圖碼來儲存參數
  • 追蹤使用者的頭部動作
  • 為每隻眼睛設定正確的變形問題,藉此算繪立體圖片
  • 開啟及關閉 VR 模式

設定開發環境

軟體相關規定:

匯入 SDK 並建立新專案

請按照下列步驟匯入 Unity SDK 並建立新專案。

  1. 開啟 Unity 並建立新的 3D 專案。
  2. 在 Unity 中,前往「Window」 > Package Manager
  3. 按一下「+」,然後選取「從 Git 網址新增套件」
  4. https://github.com/googlevr/cardboard-xr-plugin.git 貼到文字輸入欄位中。
    套件應新增至已安裝的套件。
  5. 前往 Unity 專用的 Google Wear XR 外掛程式套件。在「Samples」(範例) 區段中,選擇「Import to Project」(匯入專案)
    範例素材資源應載入 Assets/Samples/Google Cardboard/<version>/Hello Cardboard
  6. 前往 Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes,選取 [新增開放場景],然後選擇 [HelloCardboard] 以開啟範例情境。

設定 Android 專案設定

前往「File」>「Build Settings」

  1. 選取「Android」,然後選擇「切換平台」
  2. 選取 [新增開放式場景],然後選擇 [HelloCardboard]

播放器設定

解析度和簡報

前往「專案設定」>「播放器」>「解析度和簡報」

  1. 將「預設方向」「橫向」設定 設為「橫向」「橫向」或「橫向」
  2. 停用最佳化影格使用速度

其他設定

前往「專案設定」>「播放器」>「其他設定」

  1. 選擇 OpenGLES2OpenGLES3Vulkan,或使用 Graphics API 中的任意組合。
  2. 在「Minimum API Level」部分中,選取 Android 7.0 'Nougat' (API level 24) 或以上。
  3. 「目標 API 級別」中選取 API level 31 或以上版本。
  4. 指令碼後端中選取 IL2CPP
  5. 在「目標架構」中選擇 ARMv7ARM64,或同時選取這兩個架構。
  6. 在「Internet Access」(網際網路存取權) 中選取 Require
  7. 在「Package Name」(套件名稱) 下方指定貴公司網域。
  8. 如果 Vulkan 選為 Graphics API
    • 取消勾選「Vulkan Settings」(Vulkan 設定) 中的「算繪旋轉時套用螢幕旋轉」核取方塊。
    • 如果 Unity 為 2021.2 以上版本,請在「紋理壓縮格式」中選取 ETC2

發布設定

前往「專案設定」>「播放器」>「發布設定」。

  1. 在「Build」部分中,選取 Custom Main Gradle TemplateCustom Gradle Properties Template
  2. Assets/Plugins/Android/mainTemplate.gradle 的依附元件區段中新增以下這行:

      implementation 'androidx.appcompat:appcompat:1.4.2'
      implementation 'com.google.android.gms:play-services-vision:20.1.3'
      implementation 'com.google.android.material:material:1.6.1'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. Assets/Plugins/Android/gradleTemplate.properties 中加入下列程式碼:

      android.enableJetifier=true
      android.useAndroidX=true
    

XR 外掛程式管理設定

前往「專案設定」>「XR 外掛程式管理」

  1. 在「外掛程式供應商」下方選取 [Cardboard XR Plugin]。

建置您的專案

前往「File」>「Build Settings」

  1. 選取「建構」,或是選擇裝置並選取「建構並執行」。

設定 iOS 專案設定

前往「File」>「Build Settings」

  1. 選取「iOS」,然後選擇「切換平台」
  2. 選取 [新增開放式場景],然後選擇 [HelloCardboard]

播放器設定

解析度和簡報

前往「專案設定」>「播放器」>「解析度和簡報」

  1. 將「預設方向」「橫向」設定 設為「橫向」「橫向」或「橫向」

其他設定

前往「專案設定」>「播放器」>「其他設定」

  1. 在「Camera Usage 說明」中,輸入 Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
  2. 在「Target 最低 iOS 版本」中,寫入 12.0
  3. 在「Package Name」(套件名稱) 下方指定貴公司網域。

XR 外掛程式管理設定

前往「專案設定」>「XR 外掛程式管理」

  1. 在「外掛程式供應商」下方選取 [Cardboard XR Plugin]。

建置您的專案

前往「File」>「Build Settings」

  1. 選取「Build」或「Build and Run」

置中

Cardboard SDK 可讓您使用 Recenter() 將頭部追蹤器重新置中。

您可以按照下列步驟使用範例應用程式:

  1. 將裝置移至最近的位置 (做為新頭部的姿勢)。
  2. 維持開啟 OpenGL 裝置至少 3 秒的觸發條件。
  3. 放開觸發條件。
  4. 初始姿勢現在在相機所朝向的方向。

開啟及關閉 VR 模式

Unity XR Plugin Management API 可讓您開啟或關閉 Unity 適用的 Google Wear XR 外掛程式的 VR 模式。如需相關的使用者說明文件和使用範例,請前往 Unity' 的使用者說明文件

HelloCardboard 範例中的「VrMode」情境顯示了上述 API 的基本用法。在這個情境中,只要輕觸「結束」圖示 即可關閉 VR 模式。只要輕觸螢幕任一處就能重新開啟 VR 模式。請參閱 VrModeController.cs 以瞭解詳情。

後續步驟