借引擎之力,纾开发之困 :AR/VR应用开发者的神助攻


“登高而招,而见者远;顺风而呼,而闻者彰。”

两千多年前的荀子就已经洞察出学习应该有的方式与技巧:借力。现在,AR/VR应用的开发是一项艰巨而且极度复杂的工作,此时的开发引擎便如山、如风被开发者所借,才承托起AR/VR应用高速迭代,行业应用场景不断推陈出新的景象。

诸多AR/VR引擎的前身是传统3D引擎,但是在VR插件的帮助下,实现了左右分屏渲染、陀螺仪、位置跟踪等API。随着 AR/VR 产业链的发展,用户对于应用内容需求质数双量的不断提升,AR/VR专用引擎也已经开始出现。引擎,这种底层代码的封装极大地加快了开发者内容开发效率,降低了内容开发学习成本。

但,如此巨大的市场摆在面前不免吸引大小厂商疯狂入场。各式各样的开发引擎也让开发者无所适从,使用错误的开发引擎非但不能提高开发效率,反而会被不合适的引擎拖累。笔者今天深度分析市面上数款开发引擎从性能、功能性、行业场景适用性等特点与角度,为开发者拨开引擎选择的层层迷雾。

 

Unity 3D

让开发者轻松创建三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台综合型开发工具Unity 3D 是一款全面整合的专业开发引擎。编辑器兼容Windows 、Mac OS等运行环境,成品在Windows、Mac、Wii、iPhone、Windows phone 8和Android平台均可发布。Unity从之前的默默无闻到现在的风靡全球离不开它优秀的跨平台表现、界面易用性、上手速度快等特点。在所有畅销移动游戏中,几乎三分之一都是使用Unity 技术开发,游戏应用成了 Unity 3D 的最主要应用场景。

但随着全球VR产业的兴起,Unity逐步将重心调整至满足VR游戏开发人员的开发需求。比如为VR和增强现实设备增添了“高度优化”渲染管道。同时也增添了对Oculus Rift HMD的原生支持。在Oculus Rift交付之初中的数十款可玩游戏中的16款是使用Unity技术研发的。不仅如此,HTC、SONY PS VR、Samsung Gear VR甚至是微软的Hololens平台的开发者对于Unity 技术同样需求巨大。考虑到商业应用方面VR的巨大潜力,VR游戏已经成为当下Unity主推的重要功能之一。

6月15日Unity宣布和腾讯云合作推出Unity游戏云 (Unity Connected Games),从在线游戏服务、多人联网服务和开发者服务三个层次打造一站式联网游戏开发平台,支持沉浸式VR、数字孪生等新兴领域。

Unity 在2月所发布的 《2020年商用AR/VR热门趋势报告》 中说道:2020 年将是商用 AR 和 VR 技术的转型之年。不难看出,Unity或将在AR/VR领域给予产品及开发者更多投入。

 

Unreal

既然说了Unity就必然要说到与它相爱相杀的Unreal。两者都推出了专门针对VR优化的新版本引擎,伴随着VR产业的崛起,具有相似功能与应用场景的两者风云角逐、你死我活。

与 Unity 一样,Unreal(UE)是Epic公司开发目前世界最知名、授权最广的顶尖游戏引擎之一,据说占有全球商用游戏引擎八成的市场份额,比如很火爆的“吃鸡”游戏就是用UE开发出来的。

UE由于渲染效果强大以及采用PBR物理材质系统,它的实时渲染效果可以达到类似Vray静帧的效果,强大的功能性成为全球开发者最喜爱的引擎之一。

Unreal为了进一步吸引开发者加入UE阵营,采取免费下载策略,在让利策略驱动下取得了显著效果。近几年来,UE引擎已成为许多VR游戏体验致胜的法宝。免费、开源、画质全球数一数二、跨平台、热更新、商城……等等海量独有或者更加优秀的功能与特性使得Unreal虏获全球大批拥趸。

6月,Unreal简化开发工具Optim,推出VR与PC联机功能,简化Unreal项目开发流程,并提供各种快捷的开发工具包。

现在的UE已经不仅仅将自己束缚于游戏领域,事实上其实时交互和渲染功能非常适用于各种非游戏应用的项目,包括汽车、航空、建筑、消费电子产品和复杂数据可视化,融合了DataSmith的Unreal Studio版本则是Epic官方发布的针对于建筑和产品设计行业,能够将CAD和3ds Max数据快速导入,大幅度缩短迭代时间的划时代工具。

 

CryEngine

CryEngine游戏引擎(CE)是由德国Crytek公司研发,旗下工作室“GMBH”优化、深度研究的游戏引擎。在某种方面也可以说是CEinline的进化体系。CE具有许多绘图、物理和动画的技术以及游戏部分的加强,世界游戏业内普遍认为性能堪比UE,《孤岛危机》系列和《罗马之子》的视觉表现已经征服了全世界。在2016 GDC游戏开发者大会上,Crytek正式公开了其最新研发的CryEngine 5便已全面支持VR开发,并且开源免费。

CE在3D技术方面有着优秀的自身经验,加上引擎渲染能力和高帧数高分辨率速度,让CryEngine能够提供非常真实的视觉效果,这对于VR体验来说是保证视觉效果体验的坚实基础。

前不久,英国ShopTo上架后又迅速下架吊足全世界玩家胃口的大作《掠食 VR》便是由CryEngine开发,《掠食 VR》在宇宙恐怖氛围的塑造上时至今日依然十分出色,由此可见CE作品的视觉表现力。

 

Nibiru Studio

这款引擎和其他的都不一样,自主研发、XR专用、可视化、低功耗是它的标签,它不是由哪个传统引擎通过加装的方式而支持XR,它自诞生以来便是为XR应用而生。另外就是应用行业与场景的不同, Nibiru Studio针对的不是游戏或同类别场景, 而是面向航天、电力、大工业、资源、运输、气候等国家级重要领域,广阔应用场景加持已经有诸多项目落地。

行业与应用场景决定了产品的特点,也决定了我们今天提到的引擎和它都不构成直接竞品关系。引擎中最为推崇的渲染性能在这里不常被提及,反而易用性、易维护性、稳定性、功能完善性、低功耗、高安全性、资源利用率、跨平台属性、专用性等特点反而成为Nibiru Studio 斩获国家级用户及订单的利器。

Nibiru Studio 使用Java 开发语言,可视化 3D GUI编辑器,Android Studio 无缝衔接,拒绝 XR 应用开发过程中的重复操作,重塑效率。Windows , Android , Linux等系统跨平台运行。针对XR功能与场景已封装好完整专业控件,供开发人员随时调用,效率极高。Nibiru Studio 生成的应用已运行于全球数百万部 AR/VR 一体机设备。全面发掘 AR/VR 技术潜力、延伸AR/VR 技术应用。

 

StingRay

多年前Autodesk在洛杉矶举办的SIGGRAPH2015上也发布了新游戏引擎“Stingray”,是以收购的瑞典公司Bitsquid开发的,以轻量作为卖点的“Bitsquid”引擎为基础开发出的。2014年“Bitsquid”曾使用于《圣铠传说》及《战锤:末世鼠疫》,从这两款作品来看,视觉效果并不甚理想。

在“Bitsquid”基础上加入Autodesk收购的GI及动态照明的“Beast”、Full body IK角色动画的“HumanIK”及敌方角色等AI的“Gameware Navigation”(旧Kynapse),GUI的“Scaleform Studio”(旧Scaleform GFx),将这些组合之后,正是这款“Stingray”。

“Stingray”是通用实时引擎,它和“虚幻引擎”一样有望适用于游戏以外,尤其在建筑领域。毕竟场景制作的工作不论在哪个行业的哪个领域都是有类似之处的,将触角拓展到建筑等传统领域,对游戏领域来说也会有诸多积极正面的推动与影响。

 

jMonkeyEngine

jMonkeyEngine(jME)是一款全部采用Java语言编写的游戏引擎,继承了Java应用跨平台的特性,而且是开放源代码的,遵循BSD开源协议,而不必担心版权问题。jMonkeyEngine也被称为是一款适合冒险的Java开发人员的3D游戏引擎。

 jME封装了OpenGL,提供一个完整强大的高性能工具包,使3D游戏的开发变得容易。jME提供所有常规手段来模拟烛光、阳光、闪光和全局光照,阴影效果用类似PSSM和SSAO等技术实现。材质系统完全基于染色器(Shader)技术实现,采用称为Shader Nodes的创新设计来将染色器超级模块化,使其能够在可视化编辑器中进行编辑。当然,你依然可以手动编写染色器代码。

jME3使用后置处理器、滤镜以及粒子发射器等技术,能够实现多种多样的特效,比如水面、雾化、光照散射、爆炸特效等。

 

ArToolKit

对于开发一个AR应用程序来说,最具难点的部分莫过于实时将虚拟图像覆盖到用户视口,并且和真实世界中的对象精确对齐。ARToolKit 提供快速和准确的标记跟踪,能够让开发者快速的开发出更有趣的AR应用。ARToolKit 包含了跟踪库和这些库的完整源代码,开发者可以根据平台的不同调整接口,也可以使用自己的跟踪算法来代替它们。Artoolkit解决了增强现实中的两个关键问题:视点跟踪和虚拟对象交互。

目前来说,ARToolKit支持自然图片/Marker/2D BarCode的识别。自然图片处理:这个应用比较广泛,对用户的限制也会小很多,不过最好使用一些特征比较明显的图像效果会更好。Marker/MultiMarker:这是一种经过特殊处理的图像,需要在边缘包裹两层,最外侧是包裹了白色/浅色边缘,内侧是包裹了黑色边缘,用以提高识别度,同时也方便计算Pose(因为可以直接提取边缘来计算Pose)。2D BarCode:就是二维码,这个比较常见。

另外ARToolKit目前支持的渲染引擎是OSG(OpenSceneGraph),不过版本比较低。当然,你也可以使用OpenGL ES进行绘制,毕竟我们只需要获取到了MVP矩阵,理论上绘制部分是可以完全分开的。

AR/VR是一项注重体验的技术,所以现在的VR应用项目,大部分都是以强烈的画面冲击感为主要指标。在这种趋势引领下,高渲染效果引擎自然受到开发者的独特青睐。但是对于国家级关乎民生的大型项目而言,则更加偏向于引擎的稳定性、功耗、功能完整性、可维护性等产品本身核心性能参数。

对于开发难度而言,上手快,界面易用,相关开发链上无论是资源还是插件都完善,就开发效率层面来说,则更胜一筹。毕竟有些引擎刚推出不久,扩展资源不够丰富,对开发者会造成一定的不便。而有些引擎工作流程复杂,学习难度大,硬件要求高,这就需要开发者有一定深度的理解才能完全发挥出性能,开发难度较高。

随着AR/VR的进一步发展,各大引擎厂商也逐渐在市场中找准自己的位置。但是开发者选择一个引擎要考虑的因素却是相当复杂的,成本、性能、上手难度、技术支持、渲染效果、能耗等等太多。而开发引擎的选取对于开发效率等因素又具有决定性的影响,所以开发者要切实分析自身需要,综合各引擎特点选取最适合自己的引擎。

君子性非异也,要善假于物也!


发布时间:2020年06 月19日

服务 SERVICE

全平台互联网解决方案

  • 跨平台游戏
  • 全平台应用
  • 响应式网站
了解更多

微信

微信二维码

合作伙伴 PARTNERS

华三科技 重庆移通学院 影创科技 昌辉集团 雷科电气 中睿政和 国际文化艺术交流中心 海娜国 猪八戒网 阿里云 腾讯云 七牛云 又拍云 新网 华三科技 重庆移通学院 影创科技 昌辉集团 雷科电气 中睿政和 国际文化艺术交流中心 海娜国 猪八戒网 阿里云 腾讯云 七牛云 又拍云 新网

Loading