a1054302616 发表于 2023-3-26 09:24

Unity做VR全平台游戏开发(五)——认识UnityXR与OpenXR ...

做VR开发,经常在耳边听到的词有,Open VR、Open XR、Unity XR。
可能大部分人做的时候都是云里雾里,反正按照固定的操作能实现功能就好了,管那么多干什么呢?
这里就来给大家介绍一下相关的基础概念。
一、什么是XR

XR 是一个统称,包括以下类型的应用程序:

[*]虚拟现实 (VR):这种应用程序模拟一个用户周围完全不同的环境。
[*]混合现实 (MR):这种应用程序将其自身的环境与用户的现实环境相结合,并允许彼此交互。
[*]增强现实 (AR):这种应用程序在现实世界的数字视图上将内容分层。
二、Open VR

提到Open VR,那么就必须提到Steam VR,因为Open VR正是SteamVR的底层技术。
OpenVR最初是由Valve公司(Steam的母公司)于2015年提出的,旨在为多个虚拟现实(VR)头戴式设备提供一个统一的软件开发平台。这个平台提供了一组API(应用程序编程接口),使开发人员能够访问不同VR设备的传感器和控制器,并能够管理和响应用户输入。
在OpenVR发布之前,VR开发通常需要为不同的VR设备编写不同的代码和使用不同的开发工具。这种方式使得VR开发变得复杂和困难,同时也限制了VR应用程序和游戏的可用性和互操作性。
OpenVR的发布为VR开发带来了重大的改变,使得开发人员可以使用相同的代码和工具来创建可在多个VR设备上运行的应用程序和游戏,从而促进了VR产业的发展。


但是随着VR设备与平台越来越多,Open VR已经不能再很好的满足需求,对于跨平台的支持有点欠缺,这个时候Open XR就诞生了。
Valve 也从SteamVR客户端1.16开始,对OpenXR标准进行了全面的支持。
三、Open XR

随着越来越多的VR/AR硬件设备推向市场,每个硬件平台的标准又不一样,这对于内容开发者来说,做多平台的兼容是一个非常痛苦的事情;而硬件厂商们也希望能有更多的内容能入驻自家平台。
硬件商、平台方、引擎供应商、内容制作团队们,在这种繁琐碎片化的工作方式中耗费了大量无用的精力。


于是在2017年,由Khronos Group发起,联合多家行业头部公司一起制定了一个开放标准Open XR。
该标准的目标是为开发人员提供一个简化的方式来创建跨平台VR和AR应用程序和游戏,这些应用程序和游戏可以在支持OpenXR的各种设备上运行。


OpenXR 1.0 规范于 2019 年 7 月 29 日发布,随后各大公司纷纷加入,具有里程碑的意义。
在这之后,硬件厂商则主要负责适配Open XR标准,而内容创作者们,则只需要将精力更聚焦与应用程序的研发,不用再操心底层适配的问题,大大促进了VR和AR技术的发展。



基本上,所有业内公司都在遵循这一标准

四、Unity XR

上面说了那么多,那么又和Unity有什么关系呢?
unity XR又是个什么?
Unity XR是Unity从2019.3版本开始通过整合各家平台实现XR的具体模块和特性,提出的一个统一的API和工具集,也称之为Unity XR框架,支持了各家的XR并保持扩展。


简单的说,就是可以通过Unity XR来管理各家的XR SDK,并结合游戏实际应用,做了一些通用的系统功能,方便开发者们做跨平台开发。
Unity为支持Open XR也做了相应的Open XR Plugin,作为Open XR的一个插件。
所以目前很多VR/AR平台对于Unity分两个SDK,一个是兼容Unity XR的,另外一个是Unity Open XR的。



比如Pico的


所以,有些平台的SDK,即可以通过平台提供的Unity XR去适配,也可以勾选Open XR Plugin去适配。
我们开发者,只需要勾上对应的平台,按照统一的插件API进行开发即可。
<hr/>另外,对于上述Unity XR技术栈中的开发者技术工具部分:
比如:Unity XR Interaction Toolkit
这并不是开发必须的,只是Untiy提供给我们的一个使用案例,我们完全可以参照着做自己的。
五、导入Unity XR

在Unity项目里Window->Package Manager 导入XR Plugin Management






实际上到这里已经完成了Unity里的XR基础配置支持了,只是还没有一个案例Demo可以来体验而已。
<hr/>至于如何运行起来我们的第一个VR Demo?
我将在下一期,用Unity XR Interaction Toolkit(官方提供的案例)来做演示。
<hr/>如果觉得对您有帮助的话,麻烦点个赞或者点个关注呗!也好让笔者有动力更新下去。
上一篇:

NoiseFloor 发表于 2023-3-26 09:28

感谢分享!!!

zifa2003293 发表于 2023-3-26 09:36

看了很多就您写的最明白[爱]

yukamu 发表于 2023-3-26 09:43

感谢认可

HuldaGnodim 发表于 2023-3-26 09:47

感谢分享哇!!加油加油!!!![酷]
页: [1]
查看完整版本: Unity做VR全平台游戏开发(五)——认识UnityXR与OpenXR ...