Pico Neo3 VR Pro 开发新手入门有感(避坑与心得,新手学习必备)

  • 入门知识
  • Pico Neo3 Pro 开发流程
  • PICO PRO VR 传送指定区域,光圈特效
  • PICO PRO VR 环境配置
  • PICO PRO VR 场景简单漫游
  • 应用发布
  • Pico SDK
  • PICO PRO VR 多人游戏
  • 参考

入门知识

众所周知,VR并不是单个技术,是很多的技术的集合,包括很多的内容, 比方说Unity知识和C#,这个是基础。除此之外还有视觉方面的技术,比如贝叶斯网络和卡尔曼滤波等等。以及图形学也算是重中之重,如果想更上一层楼的话,3D重建等等的就不必多说。
此处就不过多赘述,单纯从VR开发的角度去看待。
VR开发自然是需要设备的,市面上的设备知名的比如Pico啊HTC VIVE啊还有Oculus。
在PC机领域HTC充当了大佬的角色,网络上有关于HTC的教程一抓一大把,开发相对来说还可以的。就是它是PC机的,拽着个线还得有定位器是不太方便的,不过现在也出了一体机,那就方便的多了,但是就是贵啊。
安卓一体机里我认为比较出彩的是Pico和Oculus。目前一个是Pico Neo3 一个是Oculus Quest2,一个是国内的字节一个是国外的脸书还是挺厉害的。
我个人对这两个设备不知可否。
上周收集资料做了个对比,可能有的数据不是很准确,有什么需要更正的地方还请各位大佬批评指正。(_

这些设备各有优缺点吧,根据自己的需求选择适合自己的才是最好的
因为我们的业务需要,所以选择了Pico Neo3 Pro作为开发设备。
Pico的官方文档说实话我看不太懂,当然这也和我本人的水平有关,没辙,还是得继续学习……
话不多说下面进入正题。

Pico Neo3 Pro 开发流程


有这么几个东西,头显是必须的,手柄当然也是,但是手套我平时用的着实是不多。。。

支持 DP 连接
可以通过定制的高速多媒体DP线通过虚拟现实耳机上的特殊 DP 接口将 Pico Neo3 Pro 或 Pico Neo3 Pro Eye 与 PC 或笔记本电脑连接。(这个得下载串流助手什么的,因为我电脑没有DP口只能作罢)
它支持接近 4K 的原始分辨率和 72Hz 或 90Hz 的刷新率,以从您的 PC 或笔记本电脑流式传输 VR 内容(这个还是不错的)。
6DoF光学定位系统
这个蛮不错的

PICO PRO VR 传送指定区域,光圈特效

获取到手柄输入
撞击点位置生成一个预制体

PICO PRO VR 环境配置

一、导入Pico SDK
Pico SDK下载地址:点击此处
把下载好的Pico SDK解压后,记住这个位置的这个文件。

在Unity中,打开Package Manager,点击左上角的加号“+”,选择从硬盘中添加。在弹出的选择框,把刚刚的package.json文件选中,然后点确定就可以了,等待导入。

导入成功后,找到XR Interaction ToolKit这个插件

XR 交互工具包的旧版本(0.9.4 预览版,可升级为新版本)自动集成到 Pico Unity 集成 SDK 中。

启用Pico SDK

点击菜单栏的edit -> project settings

点击XR Plugin-in Management
勾选Pico XR,这样,项目就可以在PicoXR上适配。如果在PC端进行同步调试需要勾选全部的 PicoXR选项

设置Minimum API Level

点击菜单栏 edit -> project settings -> player -> others Settings -> identification
将Minimum API Level设置为Android 8.1 (API 级别 27)
将目标 API 级别设置 为 自动(最高安装)。


设置这个是因为Pico SDK内置的aar依赖组件,最低支持的Android版本为Android 8.1,而Pico Neo 3本身其实是一个Android 10的ROM

在 配置下:

将脚本后端设置 为 IL2CPP。
将Target Architectures设置 为 ARM64 并取消选中 ARMv7


到此位置Pico的环境配置也就完成了。

PICO PRO VR 场景简单漫游

在旧版本XR中,先创建一个Room-Scale XR Rig对象。这个对象就会对应我们Pico头显的位置, 运行后我们的转头,移动等,都会反应到这个对象上。

XR更新后的选项为XR Origin(VR)
其中的脚本与对象都选择与Device-based相关。
UI交互则需要选择XR中的UI Canvas才可以通过VR进行交互。


XR Rig(XR Origin): 挂载用于场景管理和控制的组件和脚本,处理用户在 Unity 世界空间中的位置
Camera Offset:同步 HMD 的 6DoF (光学定位系统)数据,使相机和手控器在场景中移动。
Main Camera:XR 相​​机,用于捕捉虚拟世界并将其显示给玩家。
LeftHand(RightHand)Controller :左右手控制器

在XR Rig对象上挂载如下脚本


Locomotion System脚本是负责玩家到目标点的移动,用于对XR Rig对象的控制,此脚本只能对一个XR Rig对象负责。

Teleportation Provider脚本是负责将Locomotion System与目标进行绑定

PXR_Manager 是打包在 Pico Unity 集成 SDK 中的一个重要脚本。可以使用它来管理主要的 VR 功能,例如屏幕渐变、眼球追踪和内容保护

手控制器也是 XR 应用程序的重要组成部分。它们使用户能够与虚拟世界进行交互,从而增强身临其境的体验


可以在红色框的位置,定制枪、魔杖或拳击手套等各种形状的控制器模型

地面被点击后,会通过Teleportation Provider,找到下面的Locomotion System对象,然后Locomotion System又会找到对应的XR Origin对象
手控制器:挂载脚本
XR Controller:对手控制器的跟踪类型,输入方式,模型样式等进行设置
XR Ray Interactor:处理手柄射线与远距离目标交互逻辑,设置手柄射线的交互逻辑与类型(三种曲线:直线,弹丸曲线,贝塞尔曲线)
Line Renderrer:Unity线渲染器
XR Interactor Line Visual:手柄射线样式
场景漫游与传送:
Teleportation Area脚本:在场景中,对漫游场景绑定该脚本,实现任意区域传送

Teleportation Area脚本是负责区域传送,可以传送到地面的任意位置。(可设置传送层级)
(与之对应的是Teleportation Anchor脚本,锚点传送,只能传送到指定点位)
地面被点击后,会通过Teleportation Provider,找到下面的Locomotion System对象,然后Locomotion System又会找到对应的XR Rig对象

Teleportation Anchor脚本:锚点传送,指定点位

与上一个不同的是,Teleportation Anchor Transform是锚点位置,可以设置一个空物体作为其地面的子物体作为传送点位。
所有传送到此平面的玩家都会被固定在锚点的位置。

应用发布

将Pico Neo3用USB数据线连接电脑,并且开启Neo3的开发者模式。
开启开发者模式方法:
https://sdk.picovr.com/docs/FAQ/chapter_one.html
可使用Preview Tool工具(官网下载),进行实时预览。(PC端与Pico均需要同时打开Preview Tool工具应用)
Preview Tool下载地址:点这里

不过有一说一啊,这个Preview Tool工具不是很好用,无线连接取决于网络,我一般是只能第一次能连上,之后就连不上了。有线连接就没有成功过,一直在转圈圈,后来我把数据线插在了DP的口上,然后退出串流助手的应用,打开Preview Tool的应用,然后再点有线连接,居然可以成功连接,但是有一个弊端,不知道是不是我的设备的问题,我的设备里是没有画面的,电脑上的Game窗口一开始有画面是可以预览的,后来不知道为什么就有没有预览画面了,我就只能在Scene窗口去看效果,不是很方便。Oculus不知道怎么回事,据说是得有FB的账号,还得小蹄子,怪费事的,就拉到了。


方法一:点击菜单栏 File -> Build Settings,打开Build Settings弹窗
在Run Device中选择对应的Pico设备。
方法二:点击菜单栏 File -> Build and Run,首次发布需要设置文件保存路径。

Pico SDK


Pico Unity XR SDK:这里是链接
链接: link.

PICO PRO VR 多人游戏

这个不过多赘述了

多人游戏SDK:点这里

参考

本文章参考学习B站UP主:https://space.bilibili.com/15752216

以上框图均为本人整理分析制作,有需要转载的请联系我谢谢。
如果帮到了你还请点个赞,xiexie~

Pico Neo3 VR Pro 开发新手入门有感(避坑与心得,新手学习必备,瞬移射线传送,移动,射线传送光圈效果,传送指定区域)相关推荐

  1. python手机开发的软件_Python新手入门教程_在手机上就能学习编程的软件

    Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软件有哪些?毕竟时间宝贵啊!!哈哈哈!!! 这个问题,在悟空回答的 ...

  2. 计算机与交换机基础配置入门,新手入门篇:交换机配置窍门深入学习 -电脑资料...

    新手入门篇:交换机配置技巧深入学习,关于交换机配置技巧的问题,涉及到的东西比较多, 交换机配置技巧一直以来是非常神秘的,不仅对于一般用户,对于绝大多数网管人员来说也是如此,同时也是作为网管水平高低衡量 ...

  3. 苹果手机上运行python_Python新手入门教程_在手机上就能学习编程的软件

    Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软件有哪些?毕竟时间宝贵啊!!哈哈哈!!! 这个问题,在悟空回答的 ...

  4. python 手机编程termux_Python新手入门教程_在手机上就能学习编程的软件

    Python新手入门教程_在手机上就能学习编程的软件 很多小伙伴会问:我在学编程,想利用坐地铁坐公交吃饭间隙学编程,在手机上能学编程的软件有哪些?毕竟时间宝贵啊!!哈哈哈!!! 这个问题,在悟空回答的 ...

  5. kali子系统安装教程(包含避坑指南,新手必看!)

    #版权声明:图中含有知乎@王维同学字样的,是我在知乎的号,不是盗的文章!这篇文章比知乎更详细!! 1.开启安装Linux子系统需要的扩展 Win+Q搜索功能 勾选需要的扩展,Hyper-V.Windo ...

  6. jeecg-boot 入门-小白避坑篇

    目录 一.jeecg-boot 入门 二.jeecg-boot 框架知识点 2.0 jeecg-boot 主题色修改 2.1 jeecg数据库表-字段规范 2.2 j-dict-select-tag ...

  7. Pico Neo3使用Unity开发简明教程

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

  8. 自学python有哪些方向-Python新手入门应该注意的一些问题以及学习方向

    人们为何使用 Python? 在学习 Python 之前,还望新手们先看完本篇文章,写作不易,还请各位大佬赏脸 ,根据我自已在学 Python 的过程中,以及网上众多 Python 学习,爱好者评论中 ...

  9. 计算机代码新手入门教程,VJPAGE微简代码生成器新手快速入门教程

    VJPAGE微简代码生成器新手快速入门教程: 第一步:新建项目 打开主菜单,文件->新建项目,输入项目名称:"我的项目",选择Jquery作为默认框架.单击确定按钮 第二步: ...

  10. 计算机视觉新手入门,北大学霸推荐我这样学习

    任何一个会用Python的人,入门CV只需要一周:三天看一篇CV今年的paper,两天搞定Github上的源码,两天自己调参,加起来一共七天. 肯定有人骂我:"看一篇paper就能入门计算机 ...

最新文章

  1. Kubelet源码分析(一):启动流程分析
  2. 技术圈鄙视链形成的真实原因?
  3. java enum(枚举)使用详解 + 总结
  4. [渝粤教育] 湘潭大学 土力学 参考 资料
  5. 测试私有方法 重构_一个全栈工程师重构之路:中小公司 DevOps 落地实践
  6. 正在运行的程序和数据都是保存在计算机的,正在运行的程序和数据是暂在计算机的硬盘中吗?...
  7. mapreduce task与spark task对比
  8. 黑科技:Wi-Fi热点智能垃圾桶现身纽约
  9. PMP倒计时,整理项目管理中工具和技术
  10. vue element select 下拉加载更多
  11. 关于JAVA的优势——跨平台和健壮性
  12. 无限渗透实战(2)--绕过认证上校园网
  13. java 游标 查数据_Java中的大量数据查询
  14. R语言数学建模(2):how to build a graph
  15. 微信小程序实现简单的瀑布流式布局
  16. Bootloader的作用与实现
  17. python 保留浮点数为两位小数
  18. python脚本一键抓考试资料网答案
  19. MOOC - 数据库系统概论(基础篇)- 第二次考试
  20. 百度竞价推广策划方案

热门文章

  1. 最新29刷网课平台系统源码+带教程
  2. matlab状态空间程序,实验四用MATLAB求解状态空间模型
  3. 最新的win10精简版V2004
  4. 2022年PMP考试应该注意些什么?
  5. CentOS操作系统密码复杂度策略设置
  6. 高程(DEM) ASCII数据获取
  7. 【图像压缩】基于PCNN实现图像的压缩重建附matlab代码
  8. mike21换成计算机名称,MIKE 21
  9. 计算机程序试题答案,历年计算机软考程序设计模拟试题及答案
  10. Qt处理图片背景为透明色