查看原文
其他

VR/AR峰会实录:Unity大中华区总监张黎明-Unity在XR方向的积累与技术布局|全球XR智库

东西文娱 东西文娱 2023-10-16


 Unity大中华区总监 张黎明

|全球XR智库|
全球XR智库为天风全球前瞻产业研究院、东西文娱联合发起,持续全面跟踪XR产业发展。

|内容预告|
以下纪要来自「虚拟想象,现实变量」系列会议现场。明日预告「影核」


索取全部会议纪要,见文末


Unity在14年最早和Oculus进行合作,在Oculus刚刚发布一两年的时间,是当时第一家对OculusVR硬件提供支持的商业引擎。


随后VR/AR的硬件像雨后春笋一样开始出现,我们也是在第一时间开始支持国外、国内的各种VR硬件。


15年提供了对索尼的PSVR的硬件支持,随后就逐渐开始支持HoloLens等等,一直到2019年,有了一个比较大的变化,在这个时间线上是到了2019年是截止,因为在2019年之前我们做的工作是把VR硬件的SDK直接内置到Unity的引擎里面,提供我们原生的支持。


但是经过这么多年开发的工作之后,发现VR硬件的种类实在太多,如果对每个硬件都提供支持,把所有的SDK都集成到引擎里面,工作量非常大,而且会让Unity的引擎变得非常臃肿,所以在2019年提出了一个XR  SDK的框架。


2019年发布了全新的架构,它的目的一方面是面向Unity的开发者,为开发者提供统一的XR开发的API。另一方面面向所有的硬件厂商,让所有硬件厂商更方便的把他们的SDK集成到Unity的引擎里面,提供所有XR硬件的插件,通过后期动态下载的方式,让开发者可以随时去下载新的XR的插件,并不是说在安装Unity引擎的时候第一时间安装所有XR的插件。



通过这种方式可以提供,对更多XR平台的支持,因为有了这框架之后,我们不需要把每一个插件第一时间内置到引擎里面,而是Unity引擎提供了XR的API,让所有硬件厂商可以对接API的接口,适配Unity统一的一套API接口。


这套框架的设计通过子系统,因为大家都知道AR和VR硬件的种类非常多,首先AR和VR差别就非常大,AR是能看到现实世界的场景,它的输入一般是通过手势识别比较多,VR一般通过手柄。大家发现,有这么多XR的硬件,它们有非常多的差别,Unity把所有的硬件能力抽象成了不同的子系统,然后对不同的XR硬件厂商来讲,可以选择性的接入不同的子系统。Unity现在大概支持的不同子系统有显示、渲染、输入等等十几种,对一个VR厂商来讲,他可能选择对接VR相关的有可能7、8个子系统,对AR的厂商来讲,有可能对接另外的几个子系统,这样是模块化的,可以更容易去兼容不同的硬件设备。



Unity每个子系统首先是面向开发者提供统一的API接口。对硬件厂商来讲,他们是提供Native的SDK,后期开发者开发阶段可以选择性的下载哪些XR硬件SDK。Unity在引擎端的底层有通用的代码适配所有的XR和VR/AR的硬件SDK。


这里是Unity的一个架构图,最上面可以看到,所有的AR/VR的应用都是在最上层,包含了Unity Mars,是Unity的一套XR的开发工具,他也是在最上层。再下面一层是AR  Foundation,是主要面向手机端的AR应用,把两个AR Kit,AR Core的SDK封装成相统一的API,对开发者来讲只要用AR Foundation就可以发布收集端的AR应用。


XR Interaction,不同AR/VR硬件输入、交互设备不一样,Unity进行了一层抽象,开发者在不同的AR/VR输入设备交互的时候有一个统一的AR接口。再往下是子系统,常用的有显示、输入、环境、面部、射线、镜头、平面等等,对于不同的VR/AR硬件可以选择接入其中的某几个子系统。子系统之下是XR  SDK的API,主要面向VR/AR硬件厂商提供的,他们的SDK需要对接Unity XR  SDK。再往下一层是各种AR/VR硬件厂商他们自己的SDK,他们也需要和Unity  XR  SDK做一次对接,一般情况下Unity技术官方团队对接第三方的XR  SDK。


接下来简单过一下过去这么多年Unity已经适配过的VR/AR的硬件,这是大概的预览,国外基本所有主流的硬件Unity都支持,早期Unity支持了商汤,最近Unity还支持了一些头盔,Unity现在已经支持了Pico和爱奇艺的头盔。


这里快速过一遍,首先AR  Foundation提供了苹果和谷歌移动端的AR设备支持。对windows的MR也是在第一时间提供了支持。移动端的VR支持是Oculus,还有谷歌的VR的头盔。


这是几个具体的案例,OculusGO  OculusQuest都是支持的。对PC VR会支持HTC的VR,还有Oculus  Rift。


简单介绍一下输入设备的SDK,它主要是为我们的AR硬件提供统一输入的API支持,让开发者交互输入的时候更加方便。内部主要是提供了对象交互、悬停、抓取、对象的放置、AR相关的功能等等,有VR里面常见的通过射线的快速传送转向等等功能。接下来还有几个案例不详细介绍了,因为时间的关系。


过去这么多年Unity已经积累了大量AR/VR方面的应用案例,我们自己有个产品主要是面向建筑行业的,叫Reflect,它可以快速导入BIM行业的数据,像建筑行业常用的工具,它可以直接把Reflect产生的资源包直接导入到应用里面,快速地预览,而且直接戴上VR头盔,进行VR的交互。


AR  Foundation,在手机端,大家可以看到在移动端AR的应用应该有80%以上都是由Unity进行开发的。现在我们还提供官方的面部动画捕捉的工具,也是基于苹果的AR  KIT(音)的能力开发的,使用苹果的手机对自己的面部进行拍摄,它可以实时捕捉到你面部的动画表情。


另外是具体案例,在建筑施工中可以预览还在开发中的建筑场地,可以预览未来最终建筑完成之后的效果。国外有一个医院在建设之前Unity已经开发,通过VR的方式进行预览未来建设好之后医院的结构。


另外有一些培训的行业,是一些高危的行业,会用AR的方式来进行培训,避免他们的员工直接进入到一个高危的环境去学习有一些风险。还有一家钢材的厂商,他们也是用Unity的技术,可以从AR的环境里面预览他们的产品。还有市场营销的案例,用AR/VR的方式去做一些市场营销的推广,还有传统博物馆也可以用AR/VR的形式预览一些文物。


| 版权声明 | 
本篇会议纪要内容版权归分享嘉宾所属企业/机构所有,未经授权不得复制转载或传播。
| 索取上午场全部纪要| 
下方扫码,备注机构+姓名+联系方式,索取当天上午场会议纪要







您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存