欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

深度分析 | Unity和Unreal的比较

程序员文章站 2022-03-05 11:30:17
1、2020年的Unity或Unreal在当下游戏开发中,使用游戏引擎来创建游戏或者AR、VR应用已变得越来越普遍。如今,有大量的游戏引擎可供开发人员选择,但目前有两个最受欢迎的两个游戏引擎,非Unity和Unreal莫属了。今天,我们将着眼于两者的优缺点进行讨论,以帮助大家确定哪一个最适合你。在开始之前,我需要声明,我们并不是非要比出哪个更好,因为这是两个截然不同的非常好的引擎,它们各有千秋。哪个更合适通常取决于你的个人喜好或所创建的游戏类型。此外,Unity和Unreal绝不是唯一的选择,它.....

深度分析 | Unity和Unreal的比较

1、2020年的Unity或Unreal

在当下游戏开发中,使用游戏引擎来创建游戏或者AR、VR应用已变得越来越普遍。如今,有大量的游戏引擎可供开发人员选择,但目前有两个最受欢迎的两个游戏引擎,非Unity和Unreal莫属了。今天,我们将着眼于两者的优缺点进行讨论,以帮助大家确定哪一个最适合你。

在开始之前,我需要声明,我们并不是非要比出哪个更好,因为这是两个截然不同的非常好的引擎,它们各有千秋。哪个更合适通常取决于你的个人喜好或所创建的游戏类型。此外,Unity和Unreal绝不是唯一的选择,它们只是最受欢迎的两个。

深度分析 | Unity和Unreal的比较

2、两个引擎的简单概述

Unity Engine

Unity于2005年第一次作为一种商业产品开始销售。当时,它与我们大多数人并没有什么特别的关系……因为那是当时的Mac独有的产品。但在2007年,Unity被带到了Windows平台,并真正开始发展起来。第二年,苹果应用商店(Apple App Store)和随之而来的手机游戏《淘金热》(goldrush)问世。

Unity一开始的定位就是:让游戏开发更易于上手,并向更广泛的受众开放。毋庸置疑他们是成功的。随后,他们还推出了一个非常成功的广告平台(Unity Ads),打造了一个面向Unity,iOS和Android开发人员的获利平台。

从那以后,Unity继续添加了许多新功能,更重要的是,Unity几乎可以面向你听过的任意一个平台发布游戏。最近几年,Unity更多地聚焦于提升引擎的性能和渲染技术,这使Unity成为一个真正的3A引擎。DOTS和可脚本化渲染管道之类的功能极大地提高了视觉质量。

如果大家对Unity的发展历史感兴趣,可以看看这篇文章。

https://web.wpi.edu/Pubs/E-project/Available/E-project-030614-143124/unrestricted/Haas_IQP_Final.pdf

Unreal Engine

Unreal的历史要古老得多——它早在1998年就发布了。在当时,有几家公司将他们的引擎技术许可给其他开发人员(如NetInvent、Renderware、LithTech,尤其是idTech)。在id Tech引擎中,开发者可以获得代码和工具,用来创建像id software公司的《雷神之锤》/《毁灭战士》之类的游戏。与id Tech不同,Epic Games将更多资源放在在“产品化”他们的引擎上,并提供完善的工具和支持。值得注意的是,在当时,游戏引擎的许可费用是6-7位数。至此,Epic成为了一家游戏和游戏技术公司,一直到现在还是这样。

如果你看看二十几年来用各种版本的Unral引擎制作的游戏,就知道谁是游戏宗师了。诸如《虚幻竞技场》,《杀出重围》,《生化奇兵1/2/3》,《细胞分裂》,《蝙蝠侠》阿甘系列,《无主之地》系列,《战争机器》系列,《质量效应》,《真人格斗》,《绝地求生》,《堡垒之夜》,当然还有《山羊模拟》等!这些大预算游戏没有使用内部技术来创建,这让Unreal轻松成为A-AAA游戏之王。然而你会注意到这其中少有手机游戏。直到《无限刀锋》,Unreal在移动端还是一个相对未知的领域,但随着时间的推移这种情况正在改善,《堡垒之夜》的巨大成功更是让他们专注于改善Unreal对移动端的支持。

随着Unreal4的发布,Unreal的许可制度发生了很大变化。不像UDK 3(虚幻3引擎开发工具包)那样需要几十万美元的前期投入,Unreal4改变了最初的小订阅+版税的结构,最终进入了直接版税制。

3、来自程序员的经验

两个游戏引擎对开发者(特别是程序员)来说有不同的使用方法。一个主要的区别是Unreal的源代码可以在GitHub上获得(虽然在技术上不是开源的),这意味着你可以自己改变引擎的任何方面,包括从头开始构建整个东西。另一方面,Unity是封闭源码的,除非你为源码许可证支付巨额现金(听说是6位数)。之后,Unity慢慢地发布越来越多的东西,许多包是开源的,但是大部分只是为了参考而开放的(你仍然不能自己编译引擎,也不能修复错误)。

在游戏编程方面,Unreal有两种主要的编程语言:C++和Blueprints。C++有一个完整的垃圾收集系统,现在有一个由Live++支持的实时重装系统,这使得C++很像一种脚本语言。Blueprints是一个基于图形的可视化编程系统,它可能是最好的可视化编程选项。它还能够编译成C++代码,从而降低使用它的性能成本。Unreal的build时间不算太好。

在Unity中,曾经有几种支持的脚本语言,C#,Boo(类似Python),UnityScript(类似JavaScript/ECMAScript)。最近几年Boo和UnityScript支持都不怎么用了,剩下C#作为开发主要语言。从好的方面来看,自从Mono免费以来,Unity现在有了C#的当前实现,而不是落后于语言开发近十年。Unity目前正在向DOTS或面向数据的技术堆栈迁移,这是C#、ECS或 Entity Component System的高性能子集与并行计算的结合,侧重于Jobs系统,有望实现C++级别的性能。Unity中的Build时间非常快。

这两个游戏引擎都有应用商店,为第三方提供额外的游戏编程方式。

4、特点

在特点上,人们通常会做一个巨大的清单来罗列各自的特点,从而比较每个游戏引擎之间可用的功能。事实是,对Unity和Unreal来说,这可能完全是浪费时间。如果一个新的平台推出,两个引擎都将在一个版本中支持它。两个引擎都包含了各种工具和功能…动画工具,profilers,DCC导入工具,地形,物理,音频,VR,过场动画,版本控制集成等。就功能规格而言,Unity和Unreal无疑是目前功能最丰富和第二丰富的游戏引擎。

然而,有两个方面Unity比Unreal强——2D和Web。在上一个版本中,Unreal中的HTML平台被剥离出来,成为一个社区项目。就2D而言,Unity在这方面投入了很多关注。Unreal有Paper2D,但Paper2D的发展似乎在几年前就停止了。2D制作可以在任何一个引擎中完成,但在这方面Unity似乎是更好的选择。

Unreal最有优势的特点仍然是视觉质量……它目前在渲染3A质量的图形方面具有更好的性能。Unity正试图迅速缩小这一差距,如转向DOTS和引入可编程的高画质渲染管线HDRP,它们目前正处于测试中。

Unity平台:

深度分析 | Unity和Unreal的比较

Unreal平台:

Unreal4让开发者可以将项目部署到Windows PC,PlayStation 4,Xbox One,Mac OS X,iOS,Android,AR,VR,Linux,SteamOS和HTML5。我们可以在Windows,OS X和Linux上运行Unreal编辑器。

5、社区

Unity和Unreal都有充满活力的社区,除此之外,社区了还有大量的书籍、教程和其他资源。此外,Unity的社区要大得多,可能会有3-4倍的出版书籍,以及大量的社区内的各种教程。然而,这两个引擎在提供学习材料方面都做得很好,所以学习任何一个引擎都不会有太大的问题。这两个社区都足够大,一般来说,我们可以很容易地找到一个技术问题的解答,尽管雇佣一个有经验的Unity开发人员比雇佣一个Uneral开发人员更容易。

社区的另一个方面是可用的开发商市场。Unity应用商店是这一概念的先驱,拥有免费或商用的脚本、模型、级别、图形等的巨大资源。Unreal也有一个开发人员商店,但它的规模只有Unity的一小部分。此外,Unreal会在每个月的第一天赠送商店的东西给开发者,给开发者提供大量高质量的免费资产。

6、发行游戏

两种游戏引擎都有大量已发布的游戏。虚幻引擎主导着大预算的3A领域,并试图越来越多地进军独立和移动领域。Unity则相反,发布了大量的手机游戏,是中小型开发者的首选引擎,尤其是几个备受瞩目的专业KickStarter游戏。

有名的Unreal游戏:

• 堡垒之夜

• 真人快打系列(UE3衍生引擎)

• 王牌实战7

• 方舟:生存进化

• 蝙蝠侠:阿卡姆城/庇护

• 战争机器4/5

• 王国之心3

• PUBG

• 盗贼之海

• 街头霸王V

• 无主之地3

• 染血:夜晚的仪式

有名的Unity游戏:

• 炉石传说

• 杯头

• 永恒之柱1和2

• 火警

• 暗影奔跑

• 战技

• 奥里和盲人森林

• 喀布尔太空计划

• 复核

• 城市:天际线

可以肯定地说,发布的Unity游戏比Unreal游戏要多,但是Unreal在大预算大市场3A游戏方面处于领先地位。

7、价格

Unity和Unreal采用了非常不同的方法来赚钱,每种方法都有优势和劣势,这取决于游戏的最终规模、范围和总销售额。

Unreal

我们将从Unreal的定价方案开始,因为它是最直接的。在你获得一定的收入后,Unreal的作品采用了直接的版税方案:

UE4是免费使用的,在每个季度每场游戏从商业产品中获得首笔3000美元收入后,才需要支付收入中的 5% 版权费用给 Epic Games。如果你预计你的游戏会有绝对惊人的销量,你也可以和Epic协商固定的前期许可费。

Unity  

Unity有一种更传统的订阅的方法,有多种计划可供选择。Unity刚刚在2020年1月1日提价,并取消了年度计划定价。

对于年收入或资金不超过10万美元的开发商来说,有个人或免费层。接下来是PLUS层,每月40美元。这一层为用户提供了额外的功能,如访问他们的高级学习、分析、云托管等。最大的不同是你可以用这个许可证每年赚20万以上。

然后是专业层,每个开发人员每月150美元。同样,这款产品附带了许多附加功能,但完全消除了收入限制。

最后,还有一个选项是与Unity协商源代码许可证,其条款不公开。

8、利弊

以下是每个引擎的主要优点和缺点的简要概述:

深度分析 | Unity和Unreal的比较

 

Unity –优点

• 支持每个主要平台

• 庞大的社区和支持网络(书籍教程等)

• 迄今为止最大的开发商市场

• 最容易找工作,且易于获得的认证和培训课程

• 更好地支持2D游戏开发

• 与引擎无关的类型,非常适合策略类游戏,RPG等。

• 更快的开发周期,更快的构建时间

• 广告网络,Unity广告对于移动开发人员而言意义重大。

• 开放且快速的开发迭代,对于常规的alpha和beta版本非常透明

• 引擎的模块化重新设计加快了发行新版本的速度

Unity–缺点

• 视觉效果不如Unreal

• 性能问题

• 无法从源代码构建或修复错误

• 没有用Unity制作的代表性的3A游戏证明“我们可以做到!”

• 刚开始支持可视化脚本

• 模块化的开发方法使项目更容易遭到破坏

• 引擎还处于中间状态……新的UI慢慢推出,新的代码架构慢慢推出,一些新功能取决于尚不可用的其他新功能。

• 新的编程架构(DOTS / ECS)将需要现有开发人员重新学习,并且目前比GameObject / MonoBehaviour工作流程复杂得多

• C#…C#或C#。想使用C#吗hhh?

Unreal–优点

• 支持每个主要平台

• 提供源代码,完全公开的开发周期

• 极佳的图形渲染效果

• 更现代的编辑器,更少的遗留问题

• 出色的性能,经常开箱即用

• 非凡的战绩。事实上,已经有数百种专业游戏使用虚幻引擎在各种流派和风格中发布。

• 每月赠送免费资产

• 如果游戏在Epic Game商店上发布,则可以免费使用

虚幻引擎–缺点

• 2D已几乎被遗弃

• 引擎的设计非常关注第三人称和第一人称的游戏。

• 极慢的构建时间

• 资产导入可能会非常缓慢

• 买卖双方的资产交易市场较小

• 不支持C#

• 较小的开发人员社区,很难找到经验丰富的开发人员

9、结论

Unreal和Unity是两种产品,随着时间的推移,它们在许多方面变得越来越相似,而不是越来越不同。两者最大的区别是它们的起点。Unity最初针对业余爱好者市场的生活,并在那里取得了巨大的成功。现在,围绕Unity的许多发展都是围绕着将其升级到3A级别进行的。比如支持更大的项目、更高的图形保真度和更严格的性能控制。

然而,Unreal从它启动的第一天起,就是一个3A游戏引擎,专注于高性能和图形保真度。随着Unreal4的发布,人们更关注让它更易于使用、更好地记录和更容易上手。

每当一个新功能发布出来,你可以很快看到另一个引擎也紧跟着发布。他们背后都有巨额资金支持,而且两家公司都不太可能倒闭。两者都在以惊人的速度增加功能,尽管这些功能通常还需要几年才能稳定到足以在生产环境中工作。两家公司都在大举进军服务市场。目前,Unity提供的一个Unreal没有的主要功能是广告货币化服务,该功能在移动领域很重要,但在桌面和控制台平台上不太重要。

关于更多机器学习、人工智能、增强现实、Unity、Unreal资源和技术干货,可以关注公众号:AIRX社区,共同学习,一起进步!AIRX三次方:超酷的开发者学习服务与交流平台(专注ARVR、Unity、Unreal、CV、AI领域)学ARVR开发,来AIRX三次方!!!

深度分析 | Unity和Unreal的比较

 

 

 

 

 

本文地址:https://blog.csdn.net/albertleebob/article/details/110143316