用途:在 Unity 中通过 Android Camera2 API 访问 Quest 3 / Quest 3S 头显正面的左右 RGB 摄像头,为计算机视觉与机器学习提供图像输入。该 API 与 Media Projection API 不同,后者用于呈现用户视角(含 UI);若目标是扩展对用户环境与动作的理解,应使用 Passthrough Camera API。
主要能力:图像捕获、摄像头元数据查询、多摄像头支持。典型场景包括识别特定物体的定制 ML/CV 模型、博物馆导览等 ML/CV 助手、任务完成情况反馈、以及利用光照或图像纹理改进设计效果。
前提条件:Horizon OS v74 或更高;Quest 3 或 Quest 3S(Quest Pro 及更早不支持);需 android.permission.CAMERA 或 horizonos.permission.HEADSET_CAMERA 权限(前者同时授予透传与虚拟形象摄像头,后者仅授予透传摄像头);必须启用 Passthrough 功能。
已知问题:新刷系统后首次安装使用 Camera API 的应用,RGB 通道可能翻转导致偏色,重启设备可修复;XR Simulator 不支持该 API;透传摄像头纹理为 1280×960 矩形区域,小于用户所见,v83 的 1280×1280 扩展了垂直视场但仍未覆盖全部透传视图;通过 Meta Quest Developer Hub 安装的应用不受家长对青少年账户的限制。
最佳实践:遵守开发者数据使用政策保护隐私;避免设备端高开销处理以保持高帧率;部署后用 metavr adb logcat --follow --tag Unity 验证帧流,集成前用 metavr docs search "passthrough camera access Unity" 检查 API 变更。
参考文档:references/principal-point-offset.md 讲解将摄像头图像正确投影到平面世界空间;references/detection-bounding-boxes.md 讲解为 ML 检测到的真实物体绘制精确 3D 包围盒。