Unity发布了一项让全场开发者欢呼的功能,它是怎么运作的?

文/ 依光流 2019-05-13 11:40:32

一年一度的Unity全球开发者大会Unite Shanghai 2019在近日于上海召开,这次Unity也带来了很多的新技术和专家分享。

在5月10日晚举行的Unite大会主题演讲中,Unity针对跨平台AR应用开发推出了一项新的功能AR Foundation,让基于Unity开发的项目能等同于AR项目,并让使用Unity的开发者等同于AR开发者。在现场,这一功能的演示引起了台下全场开发者的喝彩。

https://v.qq.com/x/page/g08697ttwd7.html

随后,Unity媒体娱乐领域技术专家Ashley  Alicea在专场演讲中,对AR Foundation进行了更加详细的说明和演示。开发者借助AR Foundation,能够实现更加复杂和具备沉浸感的AR体验,而且更重要的是,基于这一功能,开发者能实现在Unity中开发内容直接适配到移动端的不同AR平台。

以下为演讲内容整理:

大家好!我是Ashley  Alicea,我在Unity负责媒体和娱乐,今天非常高兴和大家介绍用AR  Foundation实现多平台AR的开发,同时我也会做一些DEMO演示,供大家参考,看看如何营造非常复杂的AR体验。

今天主要介绍移动AR的定义、ARCore和ARKit的核心功能,并会介绍AR  Foundation有什么特点和功能,以及会和大家分享AR  Foundation最新的进展,和大家做一些iPad上的DEMO,以及资源分享。

在AR领域,可以有不同的方法做到AR,比如说通过头戴装置,或者说一些佩戴式装置,还有是手持式装置,比如说手机、平板来实现AR。今天主要介绍用手持设备,比如说手机或者说平板来实现AR开发。

AR开发在相关SDK里有一些关键功能,ARCore和ARKit都可以找到水平和纵向的平面,以及位置的追踪,我们在移动过程当中追踪设备的位置。这样可以判断方向,然后不断优化应用的体验。除此之外是光线估计,用摄像头来预估所处房间和环境的光线,然后把它应用到AR场景里面。

如果说是AR开发者,大家一定要了解我们工作所处的环境,必须要对你所在的AR应用和环境有最深入的了解,这样的话你的AR体验才能最真实,你的设置和特征才能最接近真实的情况。

这里展示的是ARCORE,谷歌的解决方案,用在安卓平台上,谷歌会进行维护。有一个样本大家可以参考,大家就可以学习到怎么样使用ARCORE进行开发。这里有一些功能,比如说带方向的特征点,用在环境里面,用于追踪,以及有一些反向矢量和方向矢量。

u1.jpg

比如说探测到了桌面,在电脑上放一些物体,虽然说不是常规的平面,我们也可以进行放置。特征点可以探测到,还有一些噪点,我们可以做多平台用户体验开发,我们可以防止噪点,不同的设备都可以实现这些锚点,实现AR的效果,除此之外还有一个推送APK,把AR数据返回到编辑器里面,这样也可以让我们做很好的编辑处理。

接下来是面部追踪,这是ARCORE的新功能,在ARCORE里面根据不同的电脑版本,可以使用脸部追踪,这是AR的一个形象,在ARCORE里面,可以在编辑器里面做一个数据库,然后在图像周围有各种各样的数值,比如说放一个图像,可以非常好的进行追踪,能够提供非常好的AR体验,然后可以添加上千个图像,同时可以在运行的时候输入图像。大概两天前,他们发布了如何对于AR图像进行更好的处理,所以说在ARCore里面有很多更新,非常酷很好用的工具,如果大家感兴趣,可以关注一下谷歌在这周进行的更新。

ARKit是苹果针对AR的解决方案,针对手持AR设备提供解决方案,ARKit插件由Unity进行开发和维护,我们和苹果公司有非常紧密的合作,开发一些新功能,同时也有非常好的开发体验。

比如说苹果公司发布了一个新功能,因为我们和他们在SDK方面有紧密合作,所以我们会快速的跟进,然后支持新功能,ARKit有四十多个可以参考的场景,可以供大家借鉴。iPhone  X以及更高的版本都可以进行脸部追踪功能,比如说World  Maps,可以把点云图作为资源,扫描环境发送到设备上,然后进行重新定位,进行多角色AR体验,两个玩家在相同的环境里面,可以放置不同的物体,然后在他们的场景里面可以看到这些物体。

u2.jpg

类似ARCore,我之前介绍过了,ARKit也可以在物体移动过程当中进行追踪,还可以进行扫描,你可以扫描物体,把它作为一个文件,或者说安装在你的应用里面,比如说有一个水瓶,用手机扫描一下,然后加一个粒子特效,如果说其他人也拿了水瓶,也有同样的AR设备,ARKit可以实时识别3D物体,同时可以看到加的特效,iPhone  X以上的版本都可以实现这一功能。

同时最近的新功能,可以追踪你舌头的运动,还可以追踪脸部的运动,ARKit可以使用深度传感器,能够在你的脸部创造一个网格,然后判断你的表情,你的嘴是张的还是闭的,眼睛是睁开的还是闭上的,同时可以做一些逻辑应用,可以做一些动画,如果你有ARKit应用,你可以创造一个动画形象,通过人脸追踪让动画形象模拟你的脸部表情。

还有是环境传感器,可以帮助你做立方体贴图,你可以做反射,其他的物体可以用这样的反射。同时会让你的反射面更加真实,让你整个AR体验更加有浸入性、沉浸感。

了解过ARCore和ARKit的主要功能后,那么AR  Foundation到底是什么?

在昨天我们介绍过AR  Foundation,我们把ARCore和ARKit的优势结合在一起,这样的一个API,把ARCore和ARKit放在同一个代码库里面,做一次开发,就可以在ARCore和Kit里面做好部署,不需要重复做,可以帮助大家节省很多时间,然后开发之后,可以支持在更多的平台上进行发布。

如果大家用过ARCore和ARKit进行开发的话,对工作流程会比较熟悉。首先你会有谷歌的ARCore或者苹果的ARKit的SDK,然后加上Unity插件,再输出到安卓和iOS设备商,没有办法进行兼容和交叉。AR  Foundation,我们有这样一个程序包,可以同时开发ARCore和ARKit。

u3.jpg

AR  Foundation目前是一个预览包,大家可以做测试,我们可以做更多的调整和修改,可以支持ARCore和ARKit的核心功能,比如说纵向平面的探测,光线的探测,同时同时可以使用很多的AR的功能,如果说你可以做计算机视觉等等,除此之外我们还会有光线的视觉和渲染,对于移动设备非常有帮助。

u4.jpg

AR  Foundation的DEMO后续我也会和大家进行分享,我们也会在社区里面进行分享。可以帮助大家更好的了解AR  Foundation怎么样设置,怎么样做开发,这是目前整个的情况。我们希望在所有的框架都可以实现绿色,绿色就证明已经可以实现了。

u5.jpg

比如说平面探测、特征点探测、光线预测等等,黄色的部分是很快就会推出的。这样可以匹配ARCore  1.7和ARKit  2.0,可以实现AR开发,也可以配合可穿戴设备AR开发,所以说AR  Foundation将来会支持越来越多的设备,不仅是手持设备,还有可穿戴设备、头戴设备。

u6.jpg

除此之外可以进行远程测试,我非常喜欢这样的功能,因为这样可以加快开发工作。每次我想做小变化,我想快速测试,就会做一个AR远程测试,然后可以非常好的进行预览,这也是AR  Foundation非常快会推出的。还有就是模拟,你现在可能没有设备,如果你想做一个测试,AR  Foundation可以在编辑器里面进行模拟,也可以帮助你实现app的快速迭代。

AR  Foundation大家从哪可以找到呢?大家可以在网站上,大家可以从Package  Manager下载AR  Foundation,上面有很多新工具和新资源是由Unity来开发的,比如说你有一个非常好的项目,你非常喜欢,现在你可以通过Package  manager导入Unity工具,同时也可以下载AR  Foundation。

u7.jpg

接下来和大家一起做一个DEMO,这是一个空白的Unity界面,这就是AR  Foundation的初始界面,现在要增加的AR Manager,我们要增加的东西有很多,所以我们在使用手机和平板电脑的时候都必须要进行这一步,要加入这些元素非常简单,我们要做的是去到AR部分,现在我已经有了两个对象,如果我打开之后就得到了一个摄像机,可以让摄像机捕捉现实世界所有的元素,因为AR  Foundation是实时追踪的,所以我们的手机或者说平板电脑摄像机就知道捕捉的是什么东西,然后加入整个界面当中。

我们可以加入实时渲染资产,大家可以在这里面进行使用和参考。我在现场需要加的灯光值是多少,舞台上的灯光值可能要比现实生活当中的灯光值要多一点,我要做的是可以增加一个非常简单的对象,或者说检测一个平面,然后就可以使用平面或者说对象,在视图当中,我要做的是AR平面管理器,或者说管理器。

加一个AR点管理器,把它们加入到界面当中,这样就可以把一切都加入到增强现实场景当中。AR  Foundation当中有不同的模块来负责对象的添加,添加了这些物件和对象当中,我们会在界面当中看到什么?现在要创建的是一个默认点源,在这里我们可以改变很多设置,我们也可以对于设置进行更改,这里有很多示例,大家可以随意使用和参考,比如说在这里可以改变点源的颜色,比如说我想做的偏绿一点,让它代替默认的点源,可以对效果进行预览。

一旦我们有了管理器就会自动知道需要渲染的东西是什么。同时可以检测到需要检测的平面是否需要渲染。现在我要选择的是逐渐褪色的平面,是一个点状的特性,我们可以把这个特性添加到地面上或者说是墙上,最后一部分是我已经有了管理器,已经知道了AR  Foundation应该怎么样管理界面,所以现在要添加的对象是什么,我这里有AR的一些增强现实的对象,所以我们也可以把图形对象增加到场景或者说界面当中。

所以说很多时候我们作为开发者,我们会使用不同的应用来创造一些App,我们必须要告诉大家怎么样使用App,当你使用AR  Foundation之后,我认为这是一个非常好的工具,可以非常轻易告诉用户应该怎样使用这个App,怎么样使用摄像机获得更好的增强现实体验。如果说我们使用远程工作器,我们就可以使用其他的设备对摄像机来进行远程控制。

现在我用手机演示一下,大家就知道具体是怎么工作的。比如说我把外套脱下来放在地面上,这样就可以检测出我的外套,如果在场景当中缓慢移动摄像机,因为手机已经安装了AR  Foundation,所以手机知道需要检测的是什么,可以检测到一切移动的对象。

u8.jpg

当我们移动手机的时候就可以看到点源,这就可以用来创造一些AR体验。在场景当中可以先进行检测,然后添加一个对象,如果你自己使用AR  Foundation,也可以使用任何不同的对象,可以加入一个球体,也可以检测现场环境变化,所以说这种数值变化的更改,可以创造一个非常沉浸式的体验,这是一个非常基础的阶段。

接下来和大家分享一些更加酷炫的效果。不断移动平板电脑,可以在地面上添加一些虚拟现实的东西,比如说一些植物,非常简单,可以在场景当中添加一些对象,现在在外套周围添加了一些植物,操作非常简单。

u9.jpg

然后我们再进行下一步,我们可以添加一个人物,人物形象根据环境的光值进行渲染过的,这是通过Unity来进行完成的,所以我认为这是一个非常酷炫的效果,我们能够做的酷炫的事情还有很多,我可以做一些更改,可以把它变成透明的,所以说我们可以修改摄像机数据,可以创造一些非常酷炫的效果。

u10.jpg

最重要的一点是当我们做出改变的时候,我们不需要使用任何额外的程序来进行控制和修改,使用AR  Foundation,或者说Unity就可以一步完成。在场景当中还可以添加很多酷炫的效果,比如说可以添加很多飞船。在增强现实当中还可以增加很多对象在视野当中。我希望我的演示之后大家明白怎样使用AR  Foundation,以及AR  Foundation怎么给大家非常好的增强现实体验。

u11.jpg

屏幕上的人物有一个色调值,我们会加入着色图,因为是根据环境光对人物进行着色,所以说我们进行增强现实的时候,人物色彩会受到周围色彩的影响,但是我们可以对环境的光值进行更改,所有这些更改都是可以实时进行的,我们要记住的就是当我们最初执行的时候我们发现人物看起来有点太暗了,所以说我们决定要做的就是把它变得更加明亮一点。另外一个做法就是改变衣服颜色,或者说使用Shader Graph,让人物看起来更加明亮。

u12.jpg

u13.jpg

还有折射的编辑,我们可以看不透明的纹理是打开还是关闭的,如果说纹理不能实现不透明效果,我们也希望有一个正常的map,然后再加上纹理。虽然说是透明的,但是可以看到人物是在这里的。

u14.jpg

还有非常重要的一个地方,在它之后的物体,不仅是会修改摄像头的输入,也会把这之后的物体效果进行调整,植物也是被修改了,这时Shader  Graph里面的界面,我们使用Scene  color  Node,我们要找到透明的纹理,同时要保证在场景里面依然有这个人存在,虽然是透明的。

u15.jpg

在场景里面其实这个人是有影子的,在Unity项目里面,如果说我们有一个人物的话,我们会看到影子,但是没有进行影子优化,我们有一个透明层,我们还会有一个定制化的着色器,我们可以把Shader  Graph进行抓取,把投射下来的影子进行更好的优化。

u16.jpg

可以用主要角色编辑,同时在主要场景里面所有的物体都可以用Shader着色。接下来会展示对于影子的不同处理方法,角色做的非常好,阴影也要进行好的处理,在几个月之后我们会发布,可以在Unity上下载,大家可以做深入探索。因为今天时间有限,没有办法解释一些细节。

还有是植物的放置,不仅是人物,同时我们会需要一些植物,这样可以进一步提升体验。首先我们可能会非常简单的把它进行绘画,然后把它放在场景里面,然后我们在iPad上进行操作,每个植物会有重叠面,如果说探测到就会等一下,如果没有探测到就会放置植物。我们需要在AR里面做非常详细的阴影,需要植物具有阴影,同时我们有非常详细的细节,看上去非常真实。

u17.jpg

接下来是一些资源,大家可以拍照片,如果感兴趣的话,我们放了这些链接,今天我分享的例子,以及这些AR  Foundation例子,都可以在链接上找到,还有一些AR  Foundation手册,是一个非常完善的文件,里面介绍了很多关于工具的使用方法,同时还有针对移动终端AR解决方案的文件,大家可以进行下载。

u18.jpg

希望这些可以帮助大家打造更好的AR体验,特别希望大家在做自己的项目的时候,这些资料可以给大家更好的参考和支持。祝贺大家开发工作一切顺利,谢谢!

Alex Matveev
2022-06-06 16:27:13
不合规
审核中
@苏某某: 她在音乐方面的喜好,以及对天文的兴趣,也源于这部动画的影响。一直很喜欢爵士乐的她突然开始想
乐方面的喜好,以及对天文的兴趣,也源于这部动画的影响。一直很喜欢爵士乐的她突然开始想,没有系统了解过此类音乐的她怎么会喜欢上 呢?后来听完《美少女战士》原声带后才发现,“原来我在那么小的时候
评论全部加载完了~