适用于 Unity 的 Google Cardboard 快速入门

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

本指南介绍了如何使用适用于 Unity 的适用于 Unity 的 Google Cardboard XR 插件来打造自己的虚拟实境 (VR) 体验。

您可以使用 Cardboard SDK 将智能手机转变成 VR 平台。智能手机可以呈现立体呈现的 3D 场景、跟踪头部移动并做出反应,还能通过检测用户何时按观看者按钮来与应用互动。

首先,您将使用 HelloHelloboard 演示版,该演示游戏演示了 Cardboard SDK 的核心功能。在游戏中,用户可以环游虚拟世界来查找和收集物品。该指南介绍了如何执行以下操作:

  • 设置您的开发环境
  • 下载并构建演示版应用
  • 扫描 Cardboard 观看器的二维码以保存其参数
  • 跟踪用户的头部动作
  • 为每只眼睛设置正确的失真值,以渲染立体图像
  • 开启和关闭 VR 模式

设置您的开发环境

软件要求:

导入 SDK 并创建新项目

请按照以下步骤导入 Unity SDK 并创建一个新项目。

  1. 打开 Unity 并创建新的 3D 项目。
  2. 在 Unity 中,依次转到 Window > Package Manager
  3. 点击 +,然后选择 Add package from git 网址
  4. https://github.com/googlevr/cardboard-xr-plugin.git 粘贴到文本输入字段中。
    应将软件包添加到已安装的软件包。
  5. 转到适用于 Unity 的 Google Cardboard XR 插件软件包。在示例部分中,选择导入到项目中
    示例资源应加载到 Assets/Samples/Google Cardboard/<version>/Hello Cardboard
  6. 转到 Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes,选择 Add Open Scenes,然后选择 HelloCardboard 以打开示例场景。

配置 Android 项目设置

依次转到 File &gt Build Settings

  1. 选择 Android,然后选择切换平台
  2. 选择 Add Open Scenes,然后选择 HelloCardboard

Player Settings

分辨率和呈现方式

依次转到 Project Settings > Player > Resolution and Presentation

  1. 默认方向设为横向横向
  2. 停用经过优化的帧同步

其他设置

依次转到 Project Settings > Player > Other Settings

  1. Graphics API 中选择 OpenGLES2OpenGLES3Vulkan 或它们的任意组合。
  2. 最低 API 级别中选择 Android 7.0 'Nougat' (API level 24) 或更高版本。
  3. 目标 API 级别中选择 API level 31 或更高版本。
  4. Scripting Backend 中选择 IL2CPP
  5. 目标架构中选择 ARMv7 和/或 ARM64,以选择所需的架构。
  6. 互联网访问中选择 Require
  7. 软件包名称下指定您的公司域名。
  8. 如果选择 Vulkan 作为 Graphics API
    • 取消选中 Vulkan 设置中的在渲染过程中应用显示屏旋转复选框。
    • 如果 Unity 版本为 2021.2 或更高版本,请选择纹理压缩格式中的 ETC2

发布设置

依次转到 Project Settings &gt Player &Publishing Settings

  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 插件管理设置

依次转到 Project Settings(项目设置)和 XR Plug-in Management(XR 插件管理)。

  1. 插件提供程序下选择 Cardboard XR Plugin

构建您的项目

依次转到 File &gt Build Settings

  1. 选择 Build,或选择设备并选择 Build and Run

配置 iOS 项目设置

依次转到 File &gt Build Settings

  1. 选择 iOS,然后选择切换平台
  2. 选择 Add Open Scenes,然后选择 HelloCardboard

Player Settings

分辨率和呈现方式

依次转到 Project Settings > Player > Resolution and Presentation

  1. 默认方向设为横向横向

其他设置

依次转到 Project Settings > Player > Other Settings

  1. 相机使用说明中,输入 Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
  2. 目标 iOS 最低版本中,输入 12.0
  3. 软件包名称下指定您的公司域名。

XR 插件管理设置

依次转到 Project Settings(项目设置)和 XR Plug-in Management(XR 插件管理)。

  1. 插件提供程序下选择 Cardboard XR Plugin

构建您的项目

依次转到 File &gt Build Settings

  1. 选择 BuildBuild and Run

正在重新居中

Cardboard SDK 可让您使用 Recenter() 将头部智能设备中心居中。

使用示例应用,按照以下步骤试一试:

  1. 将设备移到您想要重新居中的位置(用作新的前瞻性姿势)。
  2. 让 Cardboard 设备的触发器保持活动状态至少 3 秒钟。
  3. 释放触发器。
  4. 现在,初始姿势朝向相机所指的方向。

开启和关闭 VR 模式

借助 Unity XR 插件管理 API,您可以为适用于 Unity 的 Google Cardboard XR 插件启用或停用 VR 模式。您可以在 Unity 的最终用户文档中找到最终用户文档和用法示例。

HelloCardboard 示例中的 VrMode 场景显示了上述 API 的基本用法。在此场景中,只需点按“退出”图标 即可关闭 VR 模式,只需点按屏幕上的任意位置即可重新开启。您可以查看 VrModeController.cs,详细了解其执行方式。

后续步骤