category
AI summary
tags
password
summary
date
icon
status
字数统计
type
slug
orgsrc
URL
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F53e682a1-1e67-42b8-9429-3a599aaf45ca%2FUntitled.png?table=block&id=de67cc10-e9d6-4d28-952a-7eb25f0fea85)
9 月 25 日 PICO 推出 2023 首届 XR 开发者挑战赛,希望通过比赛形式以促进 PICO MR/VR 内容生态繁荣以及拉动更多开发者关注 MR/VR 领域。参赛主题包括但不限于游戏、视频、运动、社交、生产力等领域,参赛要求只需要包括清晰阐明项目核心策略、清楚完整的设计、用户操作与体验流程、未来延展空间等,甚至可运行的程序 Demo 都不是必须的。
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fdf7c5d56-7e06-4344-9214-fa073c6231a6%2FUntitled.png?table=block&id=2e4996ea-b6a4-42e5-b1ca-6736bd5ef42d)
虽然可执行程序 Demo 不是必须的,但其实 PICO 已经提供了非常简单、容易上手的 SDK 和开发工具,本文就来演示如何利用 Unity 的 XRI(XR Interaction Toolkit)工具包快速搭建一个基于 PICO 4 视频透视(VST)的 MR 手势追踪交互项目。
PICO Unity Integration SDK
https://developer-cn.pico-interactive.com/document/unity/
要开发一款可以在 PICO 平台上运行的应用,你可以选择 Unity 、 Unreal 这两个主流的 3D 引擎,或者基于 OpenXR 的原生 SDK,当然我们选择最容易上手的 Unity,下载 PICO Unity Integration SDK(目前版本 v2.3.0):
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F74faac06-327f-465b-8a21-883e478dbf34%2FUntitled.png?table=block&id=2b1e82c7-218a-4a34-a194-6d68f91c27ff)
前期准备工作如下:
- 注册开发者账号,创建一个应用,以获取 APP ID;
- 在 PICO 设备上开启开发者模式,方法和 Android 手机一样;
- 安装 Unity 编辑器,并添加 Android Build Support 模块;
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F7e1ed57b-fe5f-4f8c-ae25-d85f1fe25adc%2FUntitled.png?table=block&id=b169f894-a45b-4f9b-89ea-7ba8fd468d6b)
创建一个空白 3D 项目后,从本地导入下载的 PICO Unity Integration SDK,在菜单栏的 PXR_SDK 中选择 Platform Settings,并填入上面创建应用的 APP ID:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fb5d07386-4bcb-4466-88ad-dde4bc72ac65%2FUntitled.png?table=block&id=507c49c0-4f14-47c0-a42d-681fdd5f2cd9)
我们可以从 Package Manager 中看到本地安装的 PICO SDK,它依赖于 XRI 2.0.0 版本,但可以在 XRI 中升级到最新版本(
v2.4.3
,已经是 Release 而不是 Preview 版本了):![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F8777578b-826e-4dbe-abec-d3c88dda1ecd%2FUntitled.png?table=block&id=30148cfd-48a5-4c9b-92cd-ab1b533c345b)
为了更好地使用 XRI 提供的样例资产,导入 Starter Assets 和 Hands Interaction Demo,同时还需要安装 XR Hands:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F0df7714f-3c8b-4c2f-88e8-7cec13e477fd%2FUntitled.png?table=block&id=b5b16de7-93ef-40fd-9bdc-c513c67340e7)
导入样例之后,可以
HandsDemoScene
拖入场景中,路径如下:![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F16b3f205-170e-434c-8d82-fcc9c9ebbfc8%2FUntitled.png?table=block&id=c438450e-98c7-4683-b1ca-030d51a5b891)
PXR_Manager
https://developer-cn.pico-interactive.com/document/unity/about-pxr-manager/
PICO SDK 中另一个重要部分是 PXR Manager,它集成并管理 PICO 的所有设备能力,包括我们需要的手势追踪、视频透视:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F7566b08e-c672-472a-9eb0-875feaac6438%2FUntitled.png?table=block&id=20dec5a3-e50d-45f8-bf67-cbb14a85638a)
在导入的
HandsDemoScene
中,为 Main Camera 对象添加 PXR_Manager 组件,并勾选 Hand Tracking 选项:![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F48ffc592-39a8-4545-a3a6-3fd3adc3c820%2FUntitled.png?table=block&id=2552e6be-a40b-4fd8-bc57-99d168362615)
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F06008796-e335-49ea-9bb8-54de5326977a%2FUntitled.png?table=block&id=3b6eebaa-29f2-4420-b356-f382e492b539)
连接 PICO 设备(已开启开发者选项),编译并运行当前的场景,就可以在设备中看到 VR 场景下的 XRI 样例中的手势交互组件了:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2F07c89999-0fa6-48c3-ba2c-52f0121922f3%2Fout2.gif?table=block&id=b63a50a2-52dd-4c88-af7c-238eb97da20f)
开启 VST
https://developer-cn.pico-interactive.com/document/unity/seethrough/
根据官方文档开启视频透视效果(以下步骤均在 Main Camera 对象操作):
- 在 PXR_Manager 中勾选 Video Seethrough;
- 设置 Main Camera 的 Clear Flags 选项为 Solid Color,Background 设置为 000000;
- 为 Main Camera 创建新的 C# 脚本组件如下:
![开启 VST 的 C# 脚本](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fe95c27d4-c197-4674-b0a0-70030a0a96e9%2FUntitled.png?table=block&id=8c1754dc-103c-4a99-82c0-b9b576719c82)
开启 VST 后的效果如下:
一些小问题
按照以上步骤就可以快速完成在 PICO 4 上的 MR + 手势/手柄交互启动项目了,但是目前还存在两个小问题:
- PICO SDK 的手势追踪似乎还不能和 XRI 的抓取(Grab)交互相兼容,可以用手柄的侧握键实现对 XR Grab Interactable 对象的远程和直接抓取操作,但手势不行;官方有提供 HandTracking 的 Demo 项目,但并不是基于 XRI 的。
- 不知道出于什么交互设计的考虑,系统将五指并拢朝前绑定为校准画面的手势(如下图),这跟很多自然手势操作存在冲突,比如下面这个滚动菜单的操作,已经触发校准开始读秒了……这一设计可以说是非常恼人了!
![系统级校准手势](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Ff6387b9d-5da4-45fd-8ce6-efeaef110754%2F1695737939681_edit_635999679485039.jpg?table=block&id=3dd03046-9b24-4528-9563-3340abea0147)
![手势操作的误判](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F3c35714a-89c3-4d33-ad58-389eb4cfea25%2Fc5182aa1-71b1-4a10-9b4d-7d88a14b7f99%2FUntitled.png?table=block&id=b30f95f1-e30f-4102-8c5b-635b51bc296d)
总结
总体来说,PICO 为开发者提供方便的 SDK 和详尽的文档,可以非常快速地进行 MR + 手势交互的 Unity 项目开发,并且也能够非常方便的在设备上进行测试,PICO 4 也提供了效果非常不错的彩色透视效果。
当然这次的 XR 挑战赛并不强制要求一定要有可运行的程序,如果你有 好的XR 应用创意和想法,也可以马上直接报名!
参考
- 作者:V2XR
- 链接:https://hackvision.pro/post/unity-xri-pico4-vst-starter-project
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。