# PICO 4 Ultra VR游戏开发完全指南


> 本文详细记录了基于 Unity 引擎进行 PICO 4 Ultra VR 游戏开发的完整流程，重点总结了环境配置、SDK 导入、核心功能实现、常见问题排查与解决方案，旨在帮助开发者高效完成 VR 项目开发与发布。

---

# 一、 环境配置与 SDK 导入

## 1. 获取开发资源

- 从 PICO 开发者官网下载最新版 **PICO Unity Integration SDK**
- 在 Unity 中通过 `Assets > Import Package > Custom Package...` 导入 SDK 包

## 2. 核心项目设置

| 设置项                    | 要求                          | 路径                                               |
| :------------------------ | :---------------------------- | :------------------------------------------------- |
| **Minimum API Level**     | Android 10.0 (API level 29) + | Player Settings > Other Settings                   |
| **Scripting Backend**     | IL2CPP                        | Player Settings > Other Settings                   |
| **Target Architectures**  | ARM64                         | Player Settings > Other Settings                   |
| **Active Input Handling** | Input System Package (New)    | Player Settings > Configuration                    |
| **XR Plug-in Management** | 启用 PICO                     | Project Settings > XR Plug-in Management > Android |

## 3. 一键配置

导入 SDK 后弹出的 **PICO Unity Setup Tool** 窗口，直接点击 **`Apply All`** 完成自动配置，重启 Unity 生效。

## 4. PICO 4 Ultra 更新

我们需要在 SDK 包中点击左侧 **`Toolkit`** 包，并选择左侧 **`样本`** 折叠卡，导入最新的 **`Starter Assets`**

---

# 二、 场景搭建与视角处理

## 1. 场景设置

- **删除**场景中默认的 `Main Camera` 对象
- 使用 PICO 官方预制体 **`XR Interaction Setup`**（推荐）或 XR Interaction Toolkit 的 **`XR Origin`**

## 2. 核心组件解析

| 组件                    | 功能说明                         | 所在路径             |
| :---------------------- | :------------------------------- | :------------------- |
| **XR Origin (XR Rig)**  | VR 玩家根对象，管理所有追踪设备  | 场景根层级           |
| **Camera Offset**       | 调整玩家虚拟身高（Y 坐标）       | XR Origin 子对象     |
| **Main Camera**         | 头显视角，由设备自动驱动         | Camera Offset 子对象 |
| **Tracked Pose Driver** | 关键组件，将头显数据应用至摄像机 | Main Camera 组件     |

## 3. ⚠️ 常见问题：视角无法跟随头显转动

**现象**：只能用手柄控制移动和转向，头部转动无效。

**解决方案**：

1.  **设备连接检查**：
    - 头显内开启 **开发者模式** 和 **USB 调试**
    - 连接电脑时选择“传输文件”
    - 电脑端使用 `adb devices` 命令验证连接
2.  **组件验证**：确保 `Main Camera` 上有 `Tracked Pose Driver` 组件且配置正确
3.  **权限问题**：Unity 编辑器切勿以管理员身份运行
4.  **驱动不兼容**：使用 PICO 官方预制体 **`XR Interaction Setup`**

---

# 三、 输入设备绑定与交互

## 1. 手柄模型绑定

- PICO 专用手柄预制体路径：`Packages/PICO Integration/Assets/Resources/Prefabs/Controllers/`
- 将 **`PICOControllerLeft`** 和 **`PICOControllerRight`** 预制体分别赋值给：
  - `XR Origin/LeftHand Controller` 的 `Model Prefab` 属性
  - `XR Origin/RightHand Controller` 的 `Model Prefab` 属性

## 2. 交互逻辑实现（XR Interaction Toolkit）

| 组件                     | 功能           | 添加对象                   |
| :----------------------- | :------------- | :------------------------- |
| **XR Grab Interactable** | 使物体可被抓取 | 骰子、棋子等交互物         |
| **XR Ray Interactor**    | 从手柄发射射线 | Left/Right Hand Controller |
| **XR Socket Interactor** | 创建精准插槽   | 目标放置位置               |

---

# 四、 UI 系统适配

## 1. Canvas 设置

- 将 UI `Canvas` 的 **`Render Mode`** 从 `Screen Space - Overlay` 改为 **`World Space`**
- 像操作 3D 物体一样调整其位置、旋转和缩放

## 2. 交互改造

- 为每个可交互 UI 元素（Button、Slider 等）**单独添加** `Box Collider` 组件
- **必须勾选** `Box Collider` 的 **`Is Trigger`** 属性
- 将 `EventSystem` 上的 `Standalone Input Module` 替换为 **`XR UI Input Module`**

---

# 五、 构建与部署

## 1. 构建设置

- 打开 `File > Build Settings`，选择 **Android** 平台
- 在 **`Run Device`** 下拉菜单中选择已连接的 PICO 设备

## 2. 开始构建

- 点击 **`Build And Run`** 进行自动编译并安装至头显
- **备选方案**：点击 **`Build`** 生成 APK，通过 `adb install` 或手动安装

## 3. ⚠️ 构建常见问题

**问题 1：Active Input Handling is set to Both**

- **解决**：在 `Player Settings > Configuration` 中，将输入处理改为 **`Input System Package (New)`** only

**问题 2：No Android devices connected**

- **解决**：检查设备 USB 连接、驱动及头显内的 USB 调试开关

---

# 六、 性能优化与体验建议

- **性能**：维持高帧率（72/90Hz）是核心。使用 Unity Profiler 分析，优化 Draw Call（静态合批），应用 LOD，烘焙光照
- **舒适性**：移动方式优先选择 **瞬移 (`Teleportation`)**，减少晕动症
- **沉浸感**：为交互添加手柄震动反馈，使用空间音频

---

# 总结

通过以上系统化的流程，开发者可以高效完成 PICO 4 Ultra 的 VR 游戏开发，规避常见陷阱，并打造出体验优秀的沉浸式应用。关键在于确保基础环境配置正确，善用官方预制体与 XR Interaction Toolkit 组件，并遵循 VR 设计的特定规范（如 UI 适配、移动方式选择）。

