关于Oculus SDK v47的使用研究

您所在的位置:网站首页 oculus设置教程 关于Oculus SDK v47的使用研究

关于Oculus SDK v47的使用研究

2023-01-22 22:38| 来源: 网络整理| 查看: 265

【前言】

先跟大家打个招呼哈~

我是从2022.11中旬开始接触U3d和VR开发的,截至至今仅有3个月的基础。个人的C#能力不是很强,只会一些基础概念和算法,能自己读懂一些代码并模仿写一些简单的脚本。所以本博主是真滴学习这个开发很艰难QAQ 因此这篇教程绝对也是对新手非常Friendly的~

我一直使用的设备是Quest2,整个串流和配置的过程我就不在这里细说(大家可以去C一下,有很多介绍)

之前我有用过一些主流的SDK,包括VRTK3和4,Steam VR,XR Interaction Toolkit,个人感觉虽然这些学习起来相对新手来说比较的容易,但是如果你非编程dalao应该也只能像我一样只能拿来做一些十分基础的交互。另外,对于刚上手的UU,我还是推荐你先从这些基础的SDK入手,毕竟直接上Oculus的难度??(没试过不好评价),这里我安利大家XR Interaction ToolKit(我喜欢叫它XRTK,字母少hh),它也是基于SteamVR的,但是它的功能综合了SteamVR还有VRTK,配置方面也很简单,而且OpenXR兼容了多平台,大家基本上不用太考究设备因素。不过这个SDK目前也还不稳定,一直有更新,博主使用的是它目前的最新版(2.3.0-pre.1),里面的那个Two-Handed Grab Move的功能一直没太搞懂什么很合适的使用场景,反正我用起来不是很丝滑

那么我学习Oculus SDK的原因其实是被它的手指追踪还有唇部模拟等一些列高级货给香到了!个人感觉这些功能掌握后,足以做出来一个十分惊艳的VR Game了(当然修行看个人),所以还在努力学习ing

我的学习方式是自己去官网看手册,然后结合它的包里的Sample Scenes来学习,我也同样推荐大家这个原汁原味的学习方式哈(因为博主实在是没找到有啥学习的参考教程,自力更生了),同时如果还觉得需要深入理解可以去油管上看一些教程(当然整个学习的过程需要科学上网,或许有些不便)

【基础配置讲解】 环境:

电脑OS:Win11

Unity编译器版本:2021.3.16

使用设备:Quest2

Oculus SDK版本:v47

参考资料:https://developer.oculus.com/documentation/unity/(官方文档)

关于Oculus环境搭建,麻烦自行C或去b站看看(太冗长了,不想讲)

下面是我整理的一个搭建流程: 【有关示例场景的研究】

还有一些相关拓展的讲解(写的不是很全哈,因为我也是捡我需要的功能重点写了一下😅)

【基础交互功能的设置】

对于基础交互这部分,官方手册有些地方讲解感人,有些则看起来十分的凌乱无厘头(感觉需要再更新一下内容)尤其是关于UI交互的那块,所以我自己结合着Sample写了一点基本的设置环节

另外我觉得当有多个Interactor存在的时候会出现一些管理上的凌乱,它是基于一个叫Interactor Group的组件来管理的(对于它如何管理的逻辑可以自己去看文档),不过使用起来不是很丝滑,总是会切换时候十分卡顿,而且当有Ray Interactor和其它Interactor同时存在时候尤为明显。

如果有dalao路过看到此处并且会设置的话,欢迎给予指导!!

【SampleFrame Work里关于远距离抓取和移动的功能研究】

这里我重点写了这两个功能是因为个人需要哈,其他Usage里的场景大家可以基于个人兴趣和需求自己去研究一下

这里我要另外说一下Locomotion的设置。在我来回反复调试了N此后,我发现只有是使用了HMD的输入方式才能丝滑的模拟我们的行走,如果勾选了Handler那个的话就是,战战兢兢,如临深渊,如履薄冰(这里委婉的引用一句古诗词来吐槽);而且我这边感觉它这个Teleportion的功能实在除了Teleport Node可以方便使用外,其他的都有点不如XRTK好用,我还得以后慢慢研究下😴

而且大家注意最好只保证每一个类别下勾选一个处理程序就可以了,这也是官方推荐的做法。虽然我尝试好奇的多选了几个试试,也没发生啥毛病。

多说一句,本博主当时还被OVRPlayerController困扰了一天,我自己在我的OVRCameraRig上配置的时候在勾选了Character Camera Constraint组件后一直报错说这个组件没有实例化(但我把Camera Rig给引用了呀,555实在是搞不懂噻😭)所以如果大家要用Locomotion的话,还是直接使用这个场景里的预制体吧!

远距离抓取这个其实也可以通过上面我在交互设置那块讲解的类似的形式去设置,具体的可以参考Sample Scenes里的Distance Grab的里的设置~

本篇文章里可能很多地方讲的不清晰哈,因为本人是按照自己学习的习惯,快速罗列了一些Key Point和Key Words,不适用于所有人,如果想要把功能完全的实现,还是要去看下手册并结合场景去学习,我这里仅供新手uu们参考一下~

补充说明一点就是Oculus的SDK更新换代很快,可能这篇教程在不久的将来就成了时代的眼泪,所以大家谨慎的学习哈哈哈

个人学习过程中最大的感受就是自己在一步步的成长了,而且发现了各种SDK中互通有无的逻辑点,比如Oculus SDK的很多地方和XRTK的逻辑很像。虽然要自己一步步啃,不过有所收获呢!如果有小伙伴也在学习这个领域或者相关的专业,我很愿意和你多多探讨交流!可私聊加V



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3