Pico Neo3使用Unity开发简明教程

Posted 鱼儿-1226

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pico Neo3使用Unity开发简明教程相关的知识,希望对你有一定的参考价值。

前言

项目开发需要,最近开始整Pico VR,Pico被字节收编了,入局元宇宙,估计会有不错的应用和发展。简单使用了下,与Quest2对比,最大便利自然是网络环境。其他的,就不说了。这里重点是开发流程。

1.软件环境要求

Unity2019.4.0及以上版本

(注:当Graphics APIs选择Vulkan的时候,Unity版本需要使用2020.3.13及以上)

2.下载SDK

SDK - Pico Developer Platform

注意SDK的版本,最左边是最新的,越往左,越不推荐,版本太旧。

3.新建一个3D项目

切换为安卓平台,注意下载安卓对应的模块和工具包(NDK,JDK,SDK)

4.导入SDK

打开Window > PackageManager 左上角,添加Add package from disk 从磁盘加载包:

定位到刚下载的SDK位置,打开json

等待导入完成。

5.项目选项配置:

打开Edit > Project Settings,再XR Plug-in Mangement勾选PicoXR

设置Quality,关闭垂直同步。

设置PlayerSetting 的Minium API Level 为 26

6.测试基础场景:

Hierarchy 右键 > XR > Room Scale XR Rig

选中 XR Rig 添加PXR_Manager脚本

7.注册pico 开发者

Pico​passport.picovr.com/register/telreg?service=https://developer.pico-interactive.com

登录后,管理中心创建一个应用,提交审核,内容避免随便写,不然审核会通过不了。

通过审核后,就可以拿到一个App id。

8.打包测试

到眼镜端,设置,通用,点击6次软件版本号,菜单多出一个开发选项,勾选开发USB调试,USB配置为传输文件。

>无图< 眼镜端就懒得截图了。

Pico 连接到电脑,在设置中,可以读取到当前硬件:

Unity端打开PXR_SDK > Platform settings

填入app id

直接build and run

FAQ:

1.试玩接口验证错误(61001)

回到第8步,去掉User Entitlement Check的勾选。重新打包运行。

2.能否使用VRTK

不能直接使用VRTK官方的包,但是Pico官方自己整理了一份,可以直接用:

https://github.com/picoxr/VRTK-Support

3.如何提升画面品质

可以通过使用URP来提升。

Ref

Unity XR SDK 0.1 文档

Unity - Manual: XR

Pico开发者平台

Pico Neo 3教程丨SDK 进阶功能

哈喽大家好,你的橙哥突然出现~

本系列博客地址:传送门



一、场景切换渐变效果

SDK提供场景切换渐变效果,开启该选项,便可开启渐变功能。



设置渐变效果:
当勾选该选项时,SDK会自动给 Camera 添加 PXR_ScreenFade 脚本。

  • FadeTime:持续时间(时间单位为秒)
  • FadeColor:渐变的颜色




二、Tracking Origin:关于摄像头位置

SDK提供设置“追踪原点类型”的功能,默认为Floor模式。

  • 当设置为Floor模式时,将根据设备检测到地面的高度来计算追踪原点(该模式需要设备支持地面检测功能(e.g. Neo 3))。
  • 当设置为Device模式时,为通常理解的Eye模式,不会将根据设备检测到地面的高度来计算追踪原点。
  • 当设置为Tracking Reference模式时,为通常理解的Stage模式,校准的时候不会重置场景正方向。

建议:

  • Device:适合坐姿体验的应用
  • Floor:适合站立式体验的应用
  • Tracking Reference:适合想要用户在体验期间保持固定空间和方位的场景,但是并非绝对。

Camera Y Offset: 是当选择Device的时候会在Camera的Y方向增加的偏移量。当选择Floor或者Tracking Reference的时候此offset值无效。




三、设置屏幕刷新率

SDK提供配置屏幕刷新率的功能,通过设置Display Refresh Rates相关选项来进行配置,配置方式如下:

  • Default:系统默认
  • RefreshRate72:刷新率上限72hz
  • RefreshRate90:刷新率上限90hz
  • RefreshRate120:刷新率上限120hz




四、眼球追踪

Pico Neo3 Pro设备支持眼球追踪,眼球追踪可以追踪眼球注视位置,配合注视点渲染可以优化渲染性能。勾选Eye Tracking即可。




五、注视点渲染

1、如何设置注视点渲染

注视点渲染(Foveation Rendering)可以优化VR场景的渲染,该技术通过为视野中心提供全分辨率(无损),降低周边视野(人眼焦点区域之外)分辨率的方式来达到优化渲染的目的。

静态注视点渲染(FFR)是指将视野焦点固定在视口中心位置,实现从中心向周围逐渐降低清晰度的效果。开启和配置“Foveated Rendering”选项如下图所示。

动态注视点渲染(DFR)是指视野焦点会随着视线移动,除了开启和配置“Foveated Rendering”选项,还需配合 Neo3 Pro系列(支持EyeTracking的设备)实现。

在Foveation Level中,选择非None的等级,即可实现注视点渲染功能,无需开发者额外的编码。




2、注视点渲染效果展示

  • Low级别,放大10倍后右下角截图:图像稍微模糊



  • Med级别,放大10倍后右下角截图 :图像有些模糊



  • High级别,放大10倍后右下角截图 :图像更模糊了




六、MultiView:单摄像机渲染

SDK基于Unity的SinglePass的原生功能,开发了MultiView功能。即用一个摄像机实现立体渲染。

这比使用两个摄像机减少一半的DrawCall和遮罩剔除,对复杂的场景帧率提升明显。

但是SinglePass模式不支持屏幕后处理。该选项针对所有场景,全局生效。




七、快速编译工具

该工具利用gradle缓存来加快构建过程。

它在编译时通过使用gradle的缓存仅更新编译的增量。它不会重新编译没有更改的文件,因此与Unity的编译相比,将编译和部署时间减少了10%到50%,而最终的.apk文件和Unity编译生成的完全一样。

但是,要发布最终的.apk,必须使用Unity的编译功能。

注意: 目前,该功能仅支持在windows系统下的Unity编辑器开发使用。

要使用此功能,请按照以下步骤进行:

  • 打开Build Settings,选中你想要打包的场景。
  • 点击菜单栏中的PXR_SDK->Build Tool->Build And Run。













如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡

以上是关于Pico Neo3使用Unity开发简明教程的主要内容,如果未能解决你的问题,请参考以下文章

Pico neo3最新版SDK导入Unity详细教程(包含眼动)

Pico Neo 3丨SDK的下载与快速入门

配置Pico App ID

Pico Neo 3丨从 PicoVR Unity SDK 迁移至 Unity XR SDK

Pico Neo 3教程丨开发者工具:实时监控工具(Metrics Tool)

Pico Neo 3教程丨开发者工具:实时预览工具(Preview Tool)