Pico

作者:追风剑情 发布于:2022-7-20 17:14 分类:Unity3d

11111.png

33333.jpg

Pico官网
Pico设备参数
[下载] Pico Unity Integration SDK
[官方英文开发文档] Pico Unity Integration SDK
[官方中文开发文档] Pico Unity Integration SDK
[GitHub] Pico SDK Demos
[Unity手册] Unity XR SDK
XR Interaction Toolkit 2.1 开发手册
[GitHub] XR Interaction Toolkit Examples
Pico Unity XR SDK 文档
PicoVR Unity SDK 文档

什么是 Pico Unity Integration SDK?

Pico Unity Integration SDK(以下简称SDK)提供了丰富的XR能力,如渲染、输入、跟踪、混合现实捕捉等,您可以使用这些功能开发在Pico VR头显上运行的XR应用程序,构建您独特的XR宇宙,从而给人们带来身临其境的体验。

结合开发者平台易用的支付和统计系统,以及专业的技术支持服务,我们希望帮助您以简单高效的方式构建您的 XR 之旅。

在使用 SDK 之前,建议您阅读 Unity XR 文档以了解相关信息。

准备开发环境

官方推荐使用 Windows 10 操作系统作为开发环境。因为一些工具,如预览工具(Preview Tool),需要运行在 Windows 10 上。

推荐配置如下
 ● CPU: Intel i5-4590 / AMD Ryzen 5 1500X or higher
 ● Graphics card: NVIDIA GTX 1060 / AMD Radeon RX 480
 ● RAM: 8 GB or higher
 ● Port: USB 3.0

下载 Windows 10

Java Development Kit(JDK)版本必须是 1.8.0 or later。
下载 JDK

Pico Unity Integration SDK 支持的早期版本为 Unity 2019.4 LTS,如果您想使用更多的功能,官方推荐 Unity 2020.3 LTS 和 Unity 2021.3 LTS 版本。如果想使用Vulkan,需要使用 Unity 2020.3.13 或之后的版本。

在 Pico 中开启“开发者”模式。

导入 Pico Unity Integration SDK

1. 下载 Pico Unity Integration SDK
2. 解压 Pico Unity Integration SDK-2.0.x.zip,并找到 package.json 文件
3. 在 Unity Editor 中 [Window]->Package Manager->点+号->Add package from disk...
4. 选择 package.json 文件导入到工程中
5. 在使用Pico SDK API前,需要引入命名空间 using Unity.XR.PXR;

11111.png

导入 package.json 完成后会自动弹出PXR SDK设置面板,如果不需要版权保护,直接去掉 “2.启动应用程序进行授权检查” 的勾选。
22222.png

Unity Editor 参数设置

1. 在 Project Settings->XR Plug-in Management 中勾选上 PicoXR

3333.png

2. 切换到 Android 平台。

3. Other Settings

44444.png

Minimum API Level: Android 8.1 'Oreo' (API level 27)
Target API Level: Automatic (highest installed)
Scripting Backend: IL2CPP
Target Architectures: ARM64

AndroidManifest.xml

如果想自定义AndroidManifest.xml文件,需要在其中插入
<meta-data android:name="pvr.app.type" android:value="vr" />

升级 XR Interaction Toolkit

在 Package Manager 的 Unity Registry 列表中找到 XR Interaction Toolkit,然后升级到最新版本。
55555.png

点击[Yes],升级输入系统。
6666.png

点击[I Made a backup, Go Ahead],升级交互系统。
777777.png

导入官方示例
8888.png

XR Interaction Toolkit 手册

设置输入系统

警告   在新的输入系统中,KeyCode.JoystickButton0 将报告错误。

切换输入系统
[Edit]->Project Settings->Player->Other Settings->Configuration->Active Input Handing*,选择 BothInput Manager (Old)
11111.png

安装预览工具(Preview Tool)

安装了 Preview Tool 后,才能在 Unity Editor 中播放运行。

所需环境
OS: Windows 10, Windows 11. For the graphics card:
 ○ Minimum:NVIDIA GeForce GTX 970 or AMD Radeon R9 290
 ○ Recommended:NVIDIA GeForce GTX 1060,AMD Radeon RX 480, or better
显卡必须支持 H265 (HEVC) or H264 video coding.

SDK version: Pico Unity Integration SDK 2.0.4 or later

Device: 当前, Preview Tool 仅支持 Neo 3 系列设备, 包括 Neo 3 Pro 和 Neo 3 Pro Eye。

下载 Preview Tool

11111.png

将 PreviewTool_0402.apk 安装到 Pico VR Headset 中。PreviewTool_0402_Release.7z 里放的是 PC 端。双击 PreviewTool.exe 与 Pico VR Headset 建立连接。
22222.png

为PC开启XR功能
3333.png

确保PreviewTool.exe与Pico VR Headset处于连接状态中,就可以在Unity Editor中直接运行VR场景了。

创建一个基础的 XR Scene

1. 创建一个 Plane,设置Transform, Position(0, 0, 0);Scale(10, 1, 10)

2. 删除场景中的默认Camera,创建 XR Camera

1111.png

2222.png

添加 PXR_Manager 组件

向 XR Origin 对象上添加 PXR_Manager 组件。
3333.png

Tracking Origin Mode
设置初始化输入设备时要使用的跟踪原点模式。
 ○ No Specified: 使用输入设备的默认跟踪原点模式。
 ○ Device: 将跟踪原点模式设置为相对于第一个已知位置。
 ○ Floor: 输入设备将相对于地板上的位置进行跟踪。

Camera Y Offset
摄像机相对地面的高度。

添加 Input Action Manager 组件

向 XR Origin 对象上添加 Input Action Manager 组件。
2222.png

添加手柄控制器模型

展开 OR Origin,选中 LeftHand Controller,点击 Preset,选择 XRI Default Left Controller
4444.png

注意   如果 XRI Default Left Controller 没有显示在 Select Preset 窗口中,请检查是否完成了 XR Interaction Toolkit 升级步骤。

在 Package->Pico Integration->Assets->Resources->Prefabs 下找到手柄的模型预制体。除了直接使用官方的手柄模型,也可以使用自己的模型预制体。将prefab拖到 XR Controller (Action-based) 组件的 Model Prefab 变量上。
1111.png

用相同的方式配置 RightHand Controller。

Build & Install APK

1. 需要在 Pico VR Headset 中开启 "开发者" 模式。
[设置]->[通用]->[关于本机]->连续点击"软件版本号",直到左侧列表出现“开发者”选项。进入[开发者],开启 "USB调试开关"。

Pico截屏图片保存位置 内部共享存储空间\Pictures\Screenshots

Pico企业版与消费版的区别

如何分辨企业版设备与消费者版设备?

Pico企业版:开发者安装的应用将显示在应用列表中。
Pico消费版:开发者安装的应用将显示在未知来源中,并且无法显示启动图标和应用名称。
从应用商店下载的应用都会显示在应用列表中。

222222.png

1111.png

333333.png


判断手柄是否已连接

//引入Pico SDK
using Unity.XR.PXR;
//判断右手手柄是否已连接
bool rightControllerConnected = PXR_Input.IsControllerConnected(PXR_Input.Controller.RightController);  

maifest.json

注意:如果项目位置变了,一定要同步改下Unity工程下的 Packages\manifest.json 文件中的 "com.unity.xr.picoxr" 路径。这条路径要指向当前 "PICO UnityXR Integration SDK v207" 文件夹位置。
例如: "com.unity.xr.picoxr": "file:D:/Dev/AllData/Pico/PICO UnityXR Integration SDK v207"

标签: Unity3d

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号