ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unity VS Unreal: 哪个更适合AR/VR开发?

2021-07-13 11:03:01  阅读:243  来源: 互联网

标签:Unity Unreal VR VS 开发 XR UE4


之前三次方有比较过关于Unity与Unreal(深度分析 | Unity和Unreal的比较),主要是从宏观角度(偏游戏应用)来分析的,对于ARVR开发,到底选择哪一个好?使用两个引擎分别开发的代表性XR作品有哪些呢?

图片

图片来源:https://circuitstream.com/blog/unity-vs-unreal/

有很多三次方的用户在后台问我们开发创作XR应用,到底是选择Unity引擎还是Unreal啊????三次方创作组的“强力输出”---Kirito(大帅哥一枚哦)为我们整理了这份文章,帮助大家更好的选择好工具进行XR创作。可参考:

https://circuitstream.com/blog/unity-vs-unreal/

图片

如果你想开发商用或个人XR应用,现在就是最好的时机。Unity3D和Unreal这样的3D游戏引擎使得没有XR开发经验的小白也可以快速创造出ARVR应用。最初,这些软件是用于开发3D电子游戏的,但是由于VR/AR开发与游戏开发有很多相似之处,这些游戏引擎就被XR开发群体采用了。

那么你应该选择什么引擎?Unity3D和Unreal还是其他引擎?虽然有其他选择(CryEngine、ApertusVR、Amazon‘s Sumerian),但是Unity3D和Unreal Engine 4在XR开发市场上占据主导地位。它们最大的优势就是这两个游戏引擎都可以免费使用。

本文帮助你客观地选择一个最适合的引擎。虽然本文是从一个虚拟现实开发者的角度出发的,但是对游戏开发者也会有所启发。

两种引擎介绍

关于Unity

图片

Unity3D第一版于2005年发布,从那时开始,它就成了世界上最流行的2D、3D开发平台。这有一些统计数据:

  • 60%的AR/VR内容和50%的手游是由Unity3D开发的

  • 过去12个月有超过240亿次安装

  • 支持28个平台(从iOS、Oculus到Window混合现实等等)

由于它在移动端的广泛应用,一直有传言说它只擅长移动端项目开发。这主要是因为Unity3D过去非常重视移动市场,尤其是苹果和谷歌的应用商店崛起期间。但实际上,过去几年它已经升级成了全能开发平台,可以胜任任何复杂的XR项目开发。

疑问:Unity只擅长移动端VR/AR开发

解答:Unity还适用于交叉平台以及复杂XR项目(比如,奥迪的物流和车辆配置培训)

关于UE

图片

作为一款游戏引擎,Unreal有悠久的历史,可以追溯到1998年。有相当多的3A大作比如《虚幻竞技场》、《杀出重围》等都是用它开发的。它已经升级了好几代,之前还有Unreal 2、Unreal 3。2015年推出免费的Unreal 4。

小贴士:当时是Unreal向每季度营收超过3000美金的游戏收取5%的版权费用,而建筑、汽车、电影、电视、直播、培训、模拟等非游戏项目是不收费的。(当前收费政策有变化。)

参见官网:

https://www.unrealengine.com/zh-CN/

现在,独立开发者和大型工作室都用Unreal 4创建项目,用于游戏、教育、商业解决方案等。现在人们普遍认可,Unreal 4已成为构建百万级项目,尤其是电子游戏项目的强力工具。

图片

2020年用Unreal Engine 4引擎开发的3A游戏大作

还有一些非常流行的游戏也是用UE4构建的,比如《堡垒之夜》。UE4所属公司Epic Games也在积极部署移动游戏领域,并且推出了“虚幻引擎开发者资助计划”。同时还有VR游戏,比如《蝙蝠侠:阿卡姆VR》。

疑问:Unreal Engine 只擅长3A游戏开发

解答:Unreal Engine 4也适用于VR/AR以及2D/3D移动应用开发。

近年来,Unity3D和Unreal Engine都弥补了他们的弱点,所以在他们中二选一并不是一项简单的任务。下面我们探讨一下XR开发中两个引擎的差异。

哪个引擎的基础环境最好?

为了准确的比较这两个引擎,你得明白不仅是技术,引擎本身的基础环境也很重要。比如资源商店、指导文档、技术社区等。下面我们分别讨论:

1、资源商店

虚拟环境是需要用真实或想象世界中的虚拟对象来填充的,下图是某能源公司VR培训项目的场景:

图片

你可以用Maya, Blender 或者 3ds Max建模软件从草图开始创建3D物体,也可以直接从资源商店购买模型。Unreal Engine的资源市场大概有16000个项目

图片

Unity的资源商店大约是Unreal Engine的4倍,包括超过37000个3D资源

图片

虚幻引擎资产往往更倾向于成品游戏制作。其中许多以前曾在AAA游戏中使用过。在这些资产中,有城堡,科幻技术和怪物等模型。

图片

小tip:如果你在开发场景相对梦幻或者科幻的游戏,并且在资源商店找到了相应资源,这就成了一个决定性因素。同时,如果你正在开发VR商业应用,图像质量相比于现实相关度和迭代速度来说不那么重要,那么Unity3D的资源商店会有更多选择。这里很容易找到现实模型、场景模板等商业环境,不用在花钱雇人从草图开始建模了。

图片

下图是Unity资源商店里的一个喷气发动机的3D模型,可以用于喷气发动机保养的VR培训中。

图片

图片

在资源上,Unity3D是非常齐全的。但Unreal Engine也在追赶,Epic Games 最近发布了一包Quixel MegaScans资源,包含了Quixel库中的10000种贴图材料。

2、指导文档和培训

Unity3D和Unreal Engine 4都有非常详细的XR开发指导文档:

U3D的:

https://docs.unity3d.com/Manual/XR.html

UE4的:

https://docs.unrealengine.com/en-US/SharingAndReleasing/XRDevelopment/VR/index.html

但真正有教学价值的是培训课程。虽然二者都有XR的培训课程,但Unity的课程数量要明显更多。比如,Udemy上有大约2200门Unreal开发课程,而Unity有5500门。虽然大多数课程都是教你开发游戏的,但一些基础知识也可以用于其它应用开发。对于商业和企业开发,则倾向于用Unity,因为它的资源丰富、容易上手。

3、开发者社区

近年来,开发者们在不断扩展XR内容的边界。虽然两款引擎都尽力为开发者提供了指导文档和培训课程,但开发者社区也是不容忽视的因素。Bug、错误、崩溃、看不懂的谜之代码每天都在发生,谁来帮你解决这些问题?尤其是你独立开发的时候?——其他开发者。

这就是开发者社区至关重要的原因,尤其是在新兴的XR行业。Unity3D存在时间比Unreal长,所以自然就有更大的开发者社区。比如,Unreal社区有12000+的C++编程话题,4600+个话题扩展到了AR/VR开发。而Unity社区有128000+编程话题,6100+扩展到了VR开发。也就是说,发生问题时,在Unity社区中更可能找到帮你解决问题的人。

还有一点,UE4社区分为用Blueprint的非编程开发者和用C++的开发者,且前者占多数,大约是后者的2倍。用C++的不会用Blueprint,用Blueprint的也不懂C++,两种人群割裂开来,无法解决对方人群的问题。反过来Unity的开发者都用C#,所以有经验的开发者可以很容易解决初学者的问题。这也是我们一般从Unity开始教XR开发的原因。

图片

4、开发流程

两个引擎在XR开发上有许多共同点,主要的区别有以下几点。

1. C# VS C++或Blueprint

这是两款引擎最大的区别了,虽然Unity还可以用一些其它语言,但C#是主要的。C#和C++哪个更好,已经争论了多年,坦白的说,这个争论没有意义。两种语言都能用于XR开发,就看哪个你用的顺手了。然而对于初学者,C#要更容易上手。

我们注意到,用UE4需要建两个脚本文件,一个用于声明,一个用于定义。看起来是有点复杂。下面是用Blueprint的脚本系统,不需编程:

图片

几乎UE4的指导文档中的每一部分都有C++和Blueprint例子。学Blueprint非常容易,但要想使用UE4的大部分功能,建议学习C++,把Blueprint的结果和代码联系起来。

小贴士:Unity3D也有个小插件:Playmaker,和Blueprint一样是可视化脚本。

C#的另一个优势是,90%的VR/AR开发公司都用C#,意味着有更多的代码和测试结果参考。

5、 平台源代码资源:Unreal Engine VS Unity3D

这两个平台的代码资源都足够丰富,提供的工具和工作流对于XR开发来说绰绰有余,无需修改。然而,二者还是有一个重要区别的——UE4是开源引擎,U3D不是。这就意味着,你可以根据需要修改UE4的源码,还免费。然而U3D的代码虽然也能看,但是要想编辑就需要有企业许可了。虽然开源对一些大作来说有吸引力,但对于小开发团队,需要认真考虑是否真的有必要修改引擎源码,否则一个小小的修复升级就可能带来雪崩式Bug。如果你只需要U3D的一些常用功能,大多数情况下平台的原装脚本和插件就足够了。

6、图形效果对比

如果我们回到2012年,UE4刚刚发布的时候,它的图形效果绝对空前。当U3D主要专注于独立游戏和移动游戏开发时,UE4主要用于3A游戏开发。从那时起,就一直传言:如果你想要写实主义画面,就要用UE4。

疑问:如果你想要极佳的画面,就选UE4?

解答:UE4和U3D都能创作写实主义场景,都提供创作极佳视觉效果的工具包。

也就是说,UE4在图形效果上是有一点优势的。所有在UE4上可以拿来就用的项目,比如资源、场景、教学项目都看起来效果更好。U3D资源你可能需要对获取到资源稍作调整来优化效果。渲染、光照、材料...... 一开始,在UE4中需要的这些设置工作要比U3D少。然而,如果你用Blueprint,复杂的流程节点会导致显示出错。大量节点、复杂的数学模型、循环迭代会导致运行变慢。

下面是个例子,相比于C++,用Blueprint会造成FPS降低。不过,启用多线程和本地化进程后,这种差异似乎被消除了。

图片

用C++和Blueprint的效果对比

总的来说,你完全可以用U3D达到同样的效果。这一点上两个引擎都可以在视觉效果上表现完美。

用UE4和U3D开发的著名XR项目

两款引擎都被用到过3A游戏和独立游戏开发中,近年的很多知名游戏也是由UE4或U3D开发的。然而,这两年还发生了戏剧性的变化,两款引擎不仅被用于娱乐产业,也开始应用于实用项目和商业项目。由于XR技术的进步,商务、教育、制造业都开始使用XR应用来优化流程、提高效益。

1、用UE4开发的XR项目

例如,医药开发公司C4X Discovery用UE4来把分子数据可视化,进而加快了新药开发进度。用VR使复杂数据可视化使得研究人员能从新的视角观察成分,更容易发现设计缺陷。

图片

用VR使复杂数据可视化还有许多应用。比如加拿大航空公司,使用UE创作了VR场景,用于给客户展示头等舱的服务。

值得一提的是这个项目97%使用Blueprint做的,没有用编程。这是因为,用于展示的VR项目是比XR培训更容易实现,XR培训需要更加复杂的交互,VR更多的是观察。

2、用U3D引擎的XR项目

德国汽车巨头奥迪,开发了有20个训练项目、多语言可选的VR培训模型,来优化物流、服务和生产培训流程。

图片

奥迪的VR培训很受员工喜欢,提高了员工的学习效率、动力以及目标。

总部在美国的全球有机物、化学中间体生产厂商INVISTA,利用U3D做的XR项目来模拟工作环境,用VR培训员工,以减少培训时长、节约原材料成本、减少设备停机时间。

波音、通用电气、美国空军也用基于U3D开发的VR/AR应用来提高人员训练效率,这样不仅记得牢,而且还安全、可以减少设备停机。当然还有丰田汽车:丰田汽车通过Unity、Microsoft HoloLens 2和AI技术提高汽车生产各环节效率

然而,也有公司用U3D做展示项目的。下面是宝马2019展示案例,猜一猜哪个是模型哪个是真车?

图片

总结

过去几年,两款引擎都在突飞猛进,弥补缺点、紧跟产业潮流。以前是用U3D做移动项目,用UE4做3A游戏。但现在情况已经发生了很大变化。两款引擎都可以几乎完美地用于XR和独立项目开发。都能做出极佳的视觉效果、都能兼容许多平台。虽然U3D可以兼容更多平台,可以跨平台开发。但两款引擎都对当前市场上的XR技术进行了针对性优化。

很多开发者表示Unity是不错的选择,因为好上手。选哪个,需要看你以前的经验和现在项目的环境。你熟练掌握C++吗?是的话可以用UE4。

如果你只是个新手,那用C#和Unity更现实一点,它的开发者社区更大,ARVR代码库也很多、相关的项目也很多。如果你的应用注重表现力和图形效果,比如3A级别的主机游戏或者商用虚拟展示,那么可能UE4加上Blueprint是个不错的选择。另一方面,如果你的项目十分复杂,需要很多定制、迭代、原型和优化,学习U3D可能是不错的选择。

标签:Unity,Unreal,VR,VS,开发,XR,UE4
来源: https://blog.csdn.net/albertleebob/article/details/118694592

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有