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的版本,最左边是最新的,越往左,越不推荐,版本太旧。
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 开发者
Picopassport.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
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丨从 PicoVR Unity SDK 迁移至 Unity XR SDK