Unity与Unreal 相继发布新功能支持AR开发
AR酱在游戏大作发布前,我们常在游戏广告中看到“运用最新3D引擎打造”类似的字眼,也会时不时的在网络评论中看到关于某游戏“旧瓶装新酒”用了前作的老引擎之类的吐槽。那么引擎到底是什么呢?
首先,游戏引擎包括一个渲染引擎,让程序员能够把内部绘制的2D图像和3D网格图适配在一起,从而制作出一个逼真的模型。之后,大多利用与一个或多个API重复利用处理器和显卡性能。此外游戏引擎还提供一些物理碰撞、光照反射等等功能。总的来说,游戏引擎就是一个合理编写的程序框架。
对于VR游戏,目前运用最多的引擎也就是Unity3D和Unreal Engine 4了,而且这两者对于AR也是相当支持。前些日子,Unity3D和Unreal Engine 4也是动作不断,相继推出新版本,更加优化了对于VR/AR的开发。
Unity3D
上个月,伴随着ARKit2.0的推出,Unity也与Apple合作,更新了其ARKit插件。更新后的Unity ARKit插件具备了及时访问功能,即共享和持久性的AR体验,也就是所谓的AR云了。开发人员可以使用ARWorldMap功能保存用户环境的特征点,并且可以发送给其他用户以建立多人游戏会话或由应用程序加载来查看已保存的内容。应用程序可以使用与观察到的环境相对应的ARWorldMap中的要素点来将设备重新定向到其周围环境。
ARKit 2.0使用一种名为AREnvironmentProbeAnchor的新锚点类型来建立了一个区域的环境地图,可随着时间的推移更新地图,并使用机器学习来预测纹理和光照的变化。为此Unity添加了一个新参数来处理锚点和三个用于指定纹理的新值。
除此以外,Unity还在iPhone X应用程序中启用了舌头和眼睛注视跟踪参数
也正是乘着iPhone X TrueDepth摄像头的一波东风,Unity推出了面部动画的新工作流程。借助facial AR remote component,开发人员可以通过iPhone X上的TrueDepth摄像头捕捉高质量的实时动作,Unity提供52种混合形状,来令表演者的面部表情与动画角色的面部表情相匹配。这在一定程度上大大方便了动画的制作。
同样方便创作者的还有unity推出的3D游戏工具包Mars。无需编码,通过元素的选择就可以制作出一个简单的AR游戏。
当然,Unity不光支持ARKit,对于ARCore也是同样支持。而且Unity还致力于在二者之间构建一座桥梁,打破水火不容的现状,实现跨平台兼容的愿望。于是AR Foundation应运而生,AR Foundation目前支持的AR功能包括表面平面检测、深度数据点云、设备位置和方向跟踪、内容缩放、光线投射、锚定虚拟对象的参考点、渲染色调。它在ARKit和ARCore之间建立了一些共同点,让开发人员更容易同时支持两个平台,从而也缩短了平台间应用发布与更新的时间差。
就在上周二,Unity发布了最新版本Unity2018.2的3D引擎,该引擎改进了该公司今年早些时候推出的Scriptable Render Pipeline。作为在Unity2018.1版本中预热过的Scriptable Render Pipeline(SRP)使开发人员能够根据硬件配置文件优化其应用程序的性能。Unity的轻量级渲染管道(LWRP)专为在智能手机和平板电脑上运行VR/AR内容而设计,而高清渲染管道(HDRP)适用于PC与游戏主机。
虚幻引擎4.20
去年红极一时的绝地求生以及在国外大热的堡垒之夜采用的便是虚幻4引擎。在性能方面,虚幻引擎足以制作出3A级别的游戏大作。
在本次更新中,虚幻引擎4.20优化了数百种功能,尤其针对iOS和Android,以及Magic Leap One在VR/AR方面的开发。虚幻引擎4.20增加了对Apple的ARKit 2.0和Google ARCore 1.2的支持。对于ARKit 2.0,虚幻引擎有了更好的跟踪质量、支持垂直平面检测、面部跟踪、2D图像检测、3D对象检测、持久AR体验和共享AR体验。对于ARCore 1.2,该引擎也可以增强图像和云锚并支持对垂直平面检测。不仅于此,虚幻的此次更新同样致力于跨平台应用的发布和优化。据此看来,未来ARKit与ARCore之间的壁垒会逐渐消融,为开发者提供更多的便利。
有趣的是,好像与unity斗气一般,虚幻引擎最近也公布了一款动画制作软件:Monster Puppet。Monster Puppet使用leap motion系统,通过手指动作控制动画角色,并使用虚幻引擎进行实时渲染,最后完成动画的实时输出。
不过其对于这个紫毛怪物面部的渲染似乎差了点意思,若是能与上文提到的facial AR remote component相结合,优势互补,完成面部与肢体的联动,是不是就更有点意思了。
就总体来讲,市面上虽然也有着其他VR开发引擎,但最核心的两个还是要数虚幻引擎与Unity。二者也各有优劣,Unity学习成本低,编译方便,但内建工具不够完善,渲染、光照系统并不十分完善。与之相对的,虚幻引擎在光照、物理引擎、画面效果、材质编辑上都足以打败unity,却输在操作复杂上。
不过随着二者的不断更新优化,势必会方便开发者的工作,从而创造出更多优质的VR/AR资源,改善现下VR/AR应用不足的局面。