最近几年来,游戏引擎格局发生了很大的变化。2005 年,Unity 问世,向大众推出了其产品。2014 年,Epic Games 发布了 Unreal Engine 4,采用一种新的订阅模式,用户每月只需支付 19 美元。随后,它又变为免费使用,用户只需支付总收入的 5% 作为特许权使用费即可。最近,其定价再次修改,用户在赚得 100 万美元收入前,均可免费使用(100 万美元的收费门槛设定,毫无疑问会改变 Unreal 在市场中所占的份额)。随着 Unity 对游戏引擎市场的渗透以及 Unreal 定价模式的改变,Unity 和 Unreal 及其优缺点也引发了网络热议,甚至延伸到线下领域。
低价(或免费)模式敲开了奇妙游戏引擎世界的大门,让所有人都有机会窥见一斑。许多小型独立游戏开发者终于可以涉足其中(坊间流行的说法是“Unity 是小型独立、移动游戏开发的游戏引擎”),甚至许多大型游戏公司都抛弃了原先的引擎,转而投向 Unity 或 Unreal 的怀抱。熟练掌握 Unity 或 Unreal 已然成为游戏开发应聘者的一项必备技能。招聘公司也不得不考虑这种流行趋势;否则,选择复杂难懂或自研游戏引擎,可能会导致公司无法招募到适合其团队的游戏开发人员。
统计数据清晰地说明了这一点。这两种引擎目前在游戏引擎行业中均处于领先地位。Unity 的市场占有率为 48%,而 Unreal Engine 则占有 13% 的市场份额,二者的实力都不可小觑。
基本上,Unity 与 Unreal 之间的对比显而易见,但在此,我们还是粗浅比较一番。到底要选择 Unity 还是 Unreal,这可能是游戏开发者或艺术家一直在思索的问题。我猜你可能已经做出了选择,但这并不意味着你就不会再纠结了。也许你即将启动新的项目并考虑更换游戏引擎,或者你只是想了解更多信息——无论你的原因是什么,通过此次深入比较,我们都会为你提供一些助益。
什么是 Unity?
Unity 为 Unity Technologies 研发出品,提供了一系列最有效、最简单的游戏开发工具。各种技能水平的开发人员,几乎都能轻松使用 Unity。
Unity 是一种 2D 和 3D 视频游戏引擎,自 2005 年以来,一直帮助开发人员实现其游戏愿景。自此之后,Unity 的能力不断演变发展,为开发者提供市场上最顶尖的游戏开发工具和技术。
现在,随着实时 3D 游戏的发展,游戏引擎已经成为可供当今游戏开发人员使用的一种最强大、最受欢迎的视频游戏引擎。
什么是 Unreal?
Unreal Engine (UE) 是一款游戏开发工具,专注于帮助开发者在同一个平台上构建模拟,编辑音视频,渲染动画。
软件由 Epic Games 创建,在世界各地使用,可用帮助各种技能水平的开发人员构建各种游戏。这些游戏在当今市场上获得了良好表现。
为什么选择 Unity?没有套路
为什么 Unity 能够成为游戏引擎市场的领导者?为什么如此多的游戏开发人员和艺术家自豪于使用 Unity?其中涉及许多原因。
首先,我已经提到过,Unity 完全免费,而 Unreal 需要满足一定条件才能免费使用。姑且先不谈价格。在我们开始之前,我们来听听 Unity 首席执行官 John Riccitello 在 GamesIndustry.biz 中发表的观点: “不必付费,没有套路”。的确……
也许 Unity 最突出的优点是简单易用。这也是为何如此多的初学者选择 Unity 作为其首选引擎。Unity 采用简单的 C# 语言,界面清晰直观,架构一目了然(只有对象和组件)。此外,截至 2020 年 7 月,Unity 的所有计划中均内置了 Bolt 可视化脚本工具,且不收取任何额外费用。这让 Unity 变得更加简单易用。借助此工具,基本上,Unity 用户可以尽可能避免编码。如果你想快速构建原型并投入市场,那么 Unity 可能是必选工具。这就是用户选择 Unity 的另一个原因是——快。Unity 以“迭代周期快”而闻名(迭代就是王道,不是吗?),其中部分原因就是它能够最大限度地减少代码的使用。
当然还有其它原因。Unity 实现了真正的跨平台(有人说是移植?),它拥有十分丰富的资源(感觉像糖果店里的孩子),而且建立的社区也更大……等等。
用户首选 Unity 的另一个原因可能就是:它在 2D 游戏开发中的表现超级出色。我有一些开发工程师朋友,即便他们是最忠诚的 UE4 粉丝,他们也承认这一点。
Unity 最适合谁?
Unity 非常适合才刚刚开始游戏开发之旅的独立开发人员。它以其“用户友好界面”闻名,非常适合那些希望使用相对简单(且免费)的软件来探索游戏开发的初学者。
为什么选择 Unreal?图形、人物、图像!
是的,新的价格变化会吸引许多小型独立开发者,不过 Unreal 仍然被视为 AAA 级游戏引擎,代表的是那些打造真正精美游戏(Gears 5、Days Gone、XCom-2 等)的制作公司。其中的一些游戏以逼真的特效闻名。
所以,Unreal 的核心亮点就是其图形质量(光影纹理等)。这也是许多用户成为 Unreal Engine 忠实拥趸的主要原因。不要小看这一点,整个游戏世界的发展方向就是逼真的图形效果。当然,在 Unity 中你也可以创作精良的图形,但这可能需要花费更长的时间,并且还可能无法达到相同的画质效果。
从易用性来看,虽然 Unity 更简单易用(是一款适用于初学者的引擎),但 Unreal 的蓝图 (Blueprints) 也可以让编码变得更简单。不过,无法否认的是,Unreal 更复杂;架构也不同,采用的是 C++ 语言,而 C++ 并不是世界上最简单的编程语言。
用户也会因为其它原因选择 Unreal,如社区、资源库和文档等,虽然相较而言,Unity 的社区更大、资源更丰富、文档也更多。尽管如此,从这方面来看,这两种引擎都很成熟。
Unity 与 Unreal:主要区别
图形
据说,程序员更喜欢 Unity,而艺术家更喜欢 Unreal。在与许多使用 Unreal 的游戏开发人员见面聊过之后,我发现,虽然我不认为事实如此,但我确实明白了为什么艺术家会更喜欢 Unreal。有了 Unreal Engine 4,你可以更快捷地制作更精良的视觉效果。Unreal Engine 4 中有许多图形功能(如 体积雾、后期处理)可以开箱即用,但在 Unity 中,类似功能虽然是免费的,但都需要单独安装。
Unreal Engine 中可用的工具(如 材质编辑器)非常方便好用,可以媲美 Maya 和 Blender 等 3D 建模软件中的节点编辑器。而 Unity 材质编辑器的 API 还不够丰富。
总的来说,从这方面来看,Unity 和 Unreal 的差距不大。使用 Unity,你仍然可以实现 AAA 级效果,只是花费的时间可能更长。
视觉效果 (VFX)
两种引擎都可以制作超精良的 VFX,不过 UE 可以达到的视觉效果略优于 Unity。UE 可以制作逼真的视觉特效,让玩家真正沉浸在为他们创造的世界中,探索新的领域,不必自行想象。
渲染
渲染可以加快游戏开发项目的后处理速度,因此在选择游戏引擎时,渲染也是一个关键考虑要素。从这方面来看,UE 的渲染速度比 Unity 更快,因此前者是更优的选择。
动画
不论是在 Unity 还是 UE 中,用户都可以创建具有强大动画效果的游戏。但其中的关键区别是,Unity 工具的深度往往不够,更适合经验稍浅的游戏开发人员。相反,UE 的工具主要面向开发团队内的专业游戏开发人员,因此工具通常更为复杂。
脚本
构建游戏必须选择正确的编码和脚本语言,如此用户才能真正实现其预想,而无需使用复杂冗长的代码。UE 采用的是 C++ 语言,而 Unity 使用的是 C#。通常 C# 的编译和迭代时间更快;不过,除非你已经准备好挑战困难模式,否则选择游戏引擎时,最好还是选择你习惯使用的脚本语言。
功能
如果从功能方面比较 Unity 和 Unreal,这两种引擎都极具竞争力,但是有一些功能我想单独聊一聊。
首先就是 AI 及其在 Unreal Engine 4 中的实现情况。在 UE4 中,你可以利用内置的行为树系统,制作炫酷的效果。使用黑板和行为树编辑器,你可以轻松搭建各种复杂场景。
我还要说的另一个功能就是 2D:要制作 2D 游戏,有些开发人员可能会建议你选择 Unity。在开发 2D 平台时,使用精灵编辑器、动画工具……所有这些功能会让你的工作变得更轻松。不过,Unreal 搭配 Paper2D 插件,效果同样不错,这一点也需要考虑。
最后一个功能就是网络支持。Unity 基本上没有,你需要使用第三方库。而在 Unreal 中,复制功能开箱即用,你可以用 C++ 和蓝图构建各种多人游戏。
目标受众
之前我已经提到了,Unity 在小型独立开发者中非常受欢迎。而 Unreal 公认适合 AAA 级大型游戏制作公司,不过其也在逐步(但同样也是坚定地)争取小型独立开发者的份额。其中的表现不仅仅是 Unreal 的价格变化。 Unreal Marketplace 中包含各种丰富的原型设计资源,以及额外插件(查看 Incredibuild 插件),而且社区也在快速成长中。这些已经足以满足小型独立开发者所需,不过 AAA 游戏公司呢?
对 AAA 游戏公司来说,除了出色的图像画质,Unreal 的扩展性能也比 Unity 更优越。AAA 级游戏的特点往往就是宏观的游戏世界以及大规模的项目,而这正是 Unity 的薄弱处。
大型开发者选择 UE4 的另一个原因就是其开源特点。你可以利用此引擎实现你想要的功能,也可以将引擎完全分解开来。在《星球大战》的战场上,Dice 就是利用 Unreal Engine 3.5 这样操作的。
编码
两种引擎都有可视化代码编辑器(Unreal Engine 4 中的 Blueprint 以及 Unity 中的 Prefab)。不过,它们也有一些区别:Unreal 的 Blueprint 是一段利用 UE4 codegen 编译的代码,可以生成有效的 C++ 类。Unity 的 Prefab 只是一种 UI 工具,帮助你将不同的脚本衔接在一起。在 UE4 中,只使用蓝图,你就可以构建游戏,因为它们都是有效的代码段。此时,我们需要了解一个新的东西——Bolt,它更类似 Prefab。它的效果非常好,以至于 Unity 免费将其纳入到所有版本中。不过,它仍然只是一种 UI 工具,可以帮助你将组件整合在一起。不像 Unreal,其蓝图本身就是生成的有效 C++ 类。
从代码来看,Unity 采用 C# 语言,而 UE4 使用 C++。在我看来,C++ 的学习曲线比 C# 更陡峭,而且,正是因为 Unity 采用 C# 语言,相比熟练的 UE4 开发人员,在市场上似乎更容易找到经验丰富的 Unity 开发人员。
社区
从游戏开发场景来看,这两种引擎的表现更极为亮眼,因此,二者的社区都十分庞大,这一点都不足为奇。让我们来看看它们在 Reddit 平台上的粉丝量,Unity 有 23.8 万粉丝,Unreal Eninge 有 11.1 万粉丝。我知道,这些数字并不能说明太多问题。但它仍然清晰地说明了一点:Unity 社区的人数是 Unreal Engine 的两倍。这意味着 Unity 社区内会有更多的问题提出,同时,更重要的是,也会有更多的答案。当然,还有更丰富的知识库。
性能
这两种引擎的性能很难比较。需要考虑许多变量:纹理质量、游戏内所含对象的数量、世界的规模大小等……所有这些变量都取决于开发者。这两种引擎都有自己的 SDK,因此,C++ 和 C# 基准在这里 并不奏效。而且,例如,Epic 就大力倡导开发人员使用其内存管理框架。
不过,Unreal Engine 优化了绘制调用,随着游戏世界的规模不断扩大,这种优化的作用就愈加突出:Unity 会按比例逐渐增加执行时间,而 Unreal Engine 却不会。游戏场景越复杂,其性能优势就越明显。
另一方面就是分布式编译。Incredibuild 集成 Unreal Engine,可以大大加快代码构建和着色器编译速度。Epic 就在其项目内部使用了 Incredibuild。Unity 却不支持这种集成,从这一点来看,UE4 更好。
支持力度
Unity 和 UE 的网站上都有专门的帮助页面,其中都包含各种资源和常见问题,供用户查询并解决问题。Unity 还以拥有庞大的用户社区而闻名,因此使用 Unity 能够获得大量的在线支持。不过,UE 提供了演示项目,可供用户下载、试用,以便熟悉如何使用部分工具。二者似乎都不错,如何选择,就要看你自己了。
Capterra 评分
在 Capterra 网站上,满分 5 分,Unity 的总体评分是 4.7 分,其中在功能和性价比方面的平均评分为 4.6 分,客户服务方面的评分为 4.4 分,而易用性评分为 4.2 分。相比之下,UE 得分略高一点,平均评分为 4.8 分,具体来看,功能评分为 4.8 分,性价比评分为 4.7 分,客户服务评分为 4.4 分,易用性评分为 4.1 分。
G2 评价
在 G2 评价平台上,75% 的用户为 Unity 打了五星,另外 20% 的用户打了四星,只有 3% 的用户打了三星。UE 的评价较少,但反馈也不差:69% 的用户为 UE 打了五星,26% 的用户打了四星,4%的用户打了三星。
价格
UE 完全免费使用,不过收益超过 100 万美元之后,会收取 5% 的特许权使用费。Unity 也是免费的,此外它还为专业人员提供了 Unity Pro 付费版,后者的功能更广泛、更强大。如果要将 Unity 3D 游戏升级到 Unity Pro,那么你需要支付 1,500 美元(或每月 75 美元)的费用。
Unity 与 Unreal 对比表
Unity | Unreal | |
图形 | 基于物理的渲染、全局光照、体积光(需安装插件)、后处理 | 基于物理的渲染(点击虚幻引擎渲染了解更多信息),全局光照、体积光(即开即用)、后处理、材质编辑器 |
独特功能 | 丰富的 2D 支持 | 人工智能、网络支持 |
目标受众 | 大多数为小型游戏开发者、程序员 | AAA 级游戏制作公司、小型游戏开发者、艺术家 |
编码 | C#、Prefab、Bolt | C++、蓝图 |
社区 | Reddit 官方账号粉丝超过 20 万 | Reddit 官方账号粉丝约为 10 万 |
性能 | 不像 Unreal Engine,扩展性不足 | 支持分布式执行 (Incredibuild) |
结论
那么,该得出结论了……Unity 与 Unreal,到底哪个更好?
首先,我要声明一下,我个人更偏向 Unreal。部分原因就是Unreal 可以集成 Incredibuild,除此之外,还有其它原因。我是图像控,而图形正是 Unreal 最擅长的。同时,Unreal 最近推出了 MetaHuman Creator,可以将实时的数字人类创作时间从数周甚至数月缩短至不到一小时。我感觉 Unreal 确实在大力投入,以提升性能。而这已经体现出来了。Unreal Engine 5 即将面世,希望可以为我们带来更多惊喜,做出更多改进。
不过,Unity 也有很多优点:2D 平台、学习曲线、简单易用、社区、资源库,等等。是的,Unity 能够达到如今的市场占有率,也是有其原因的。
归根结底,如何选择,要取决于你自身以及自身需要。你是小型独立开发者吗?你是大型游戏制作开发者吗?你想开发 2D 游戏吗?(或许)你正在寻求最精良的图形吗?回答完这些问题,你就知道如何选择了。对了,如果你选择的是 Unreal,千万别忘了搭配 Incredibuild 使用哦。
常见问题
在 2023 年,Unity 与 Unreal,哪个游戏引擎更好?
具体取决于你的工作、目的和用途。大多数程序员更喜欢 Unity,不过大部分艺术家更偏向 Unreal。Unreal 一般能制作更精良的视觉效果,是公认的“大型游戏公司的大型引擎”。而 Unity 在小型独立开发者中更受欢迎。
Unity 游戏引擎的优点是什么?
Unity 是免费的,且简单易用。对于初学者来说,Unity 是一个很好的选择,因为它采用的是 C# 语言,人们普遍认为这种语言比较简单。因此,如果你想要快速构建原型,Unity 就很不错。
Unreal 游戏引擎的优点是什么?
相比 Unity,Unreal 可能更复杂,不过它的图形效果更好,可以在更短的时间内,生成更逼真、更精良的图形。Unreal 被视为 AAA 级游戏引擎,代表的是那些打造精美游戏的大型制作公司,并以其逼真的画质而闻名。
为什么 Unity 比 Unreal 更受欢迎?
Unity 比 Unreal 更简单易用,或许这就是它越来越受欢迎的原因。这款软件用途广泛,各种技术水平的开发人员都可以利用其创作游戏。此外,Unity 采用 C# 语言编写,而 UE 使用的是 C++,前者也更容易学习。
作为初学者,我应该使用 Unity 还是 UE?
Unity 就是专为初学者设计的软件,因此,对于初学者来说,Unity 会比 UE 更容易上手。Unity 套件中有大量工具,可以帮助开发人员学习游戏开发的基础知识,同时,也提供了各种构建复杂沉浸式游戏的能力。
我可以在 Unity 中使用 UE 资源吗?
一般来说,可以在 Unity 软件中使用 UE 资源。根据 Unity 资源库说明,用户可以将资源作为“电子游戏和数字媒体的嵌入式组件”使用。