PlayStation vs Xbox,Mario vs Sonic,Unreal vs Unity?无论是游戏主机、角色还是游戏引擎,人们总是热衷于捍卫他们在游戏行业中的偏爱。
专注于游戏引擎,Unity和Unreal Engine(简称UE4)是目前市场上最受欢迎的两款游戏引擎。它们是大多数独立开发者的首选工具。虽然许多游戏开发工作室使用自己的专有游戏引擎,但也有很多选择使用Unity或Unreal。
那么,哪个引擎更好呢?这是GameDev.tv团队和我在过去5年里教授的50多万学生中最常被问到的问题之一。
Unity vs Unreal Engine 的历史
Unreal Engine由Epic Games创始人Tim Sweeney于1998年开发。它与首款游戏"Unreal"一同推出,并首次允许玩家修改游戏,这在当时是独一无二的。如今,Unreal Engine因"更好的图形"而著称,并为使用它的游戏提供了大型工作室级别的AAA质量。
Epic Games是Unreal Engine背后的公司,其旗下的游戏《Fortnite》取得了巨大成功,拥有2亿用户,并于2019年1月份宣布的收入为10亿美元。Unreal Engine本身拥有700万用户。
成立于2004年的Unity总部位于哥本哈根,创始人的初衷是要使游戏开发普遍可达。如今,Unity被誉为"制作任何游戏"的引擎,非常适合独立开发者。超过50%的跨所有平台的游戏使用Unity,而60%的所有虚拟/增强现实内容都由Unity提供支持。
实际上,这两款引擎都能够制作几乎任何类型的游戏,并将其部署到大多数游戏平台上。但这并没有帮助你做出决定,对吧?要回答哪个游戏引擎最适合你的需求,你首先需要回答以下五个问题:
- 你有多少游戏开发经验?
- 你想在哪里发布你的游戏?
- 你想发布什么类型的游戏?
- 这是一项爱好,还是你想要赚钱?
- 你是在提升技能以在游戏工作室找工作吗?
一、你有多少游戏开发经验?
如果你刚刚开始涉足游戏开发,我们推荐使用Unity。它提供非常直观的设计,并使用C#编程语言,这使得学习变得简单而有趣。
在花费一个周末学习Unity课程后,毫不夸张地说,你可能已经制作了你的第一个简单游戏,并准备与朋友分享。
此外,有大量的在线信息来自其他Unity开发者,可以在每一步帮助你。从YouTube视频到在线课程再到活跃的社区论坛,应有尽有。
对于完全初学者来说,Unreal Engine有点复杂。在Unreal中,你可以通过Blueprint可视脚本编程或使用C++两种方式编写游戏。
如果你对编程不熟悉,Blueprint可视脚本编程可以帮助你迅速取得一些胜利(和完成的游戏)。然而,如果你想发挥Unreal的全部威力,你需要学习C++,而许多人发现学习起来比Unity使用的C#编程语言更有难度。
我们的团队为这两款引擎制作了课程,深刻理解它们之间学习曲线的差异。如果你想学习编程,C#比C++更容易学习。
我们看到许多学生在一款引擎上开始学习,掌握所需技能,然后在未来需要时成功过渡到另一款引擎。你在Unity中学到的许多技能可以转移到Unreal,反之亦然。
总结:C# 的直观设计和使用使 Unity 成为初学者的理想选择。
二、你想在哪里发布你的游戏?
决定使用哪个引擎时,考虑潜在玩家如何访问你的游戏是一个重要的考虑因素。Unity和Unreal Engine都提供跨平台集成,但Unity提供的集成更为丰富。请查看下面的列表,了解Unity和Unreal目前提供的平台集成。
Unity平台集成:iOS、Android、Windows Phone 8、Tizen、Android TV、Samsung SMART TV、Xbox One和360、Windows PC、Mac OS X、Linux、Web Player、WebGL、HoloLens、SteamOS、PS4、Playstation Vita和Wii U。
Unreal Engine平台集成:iOS、Android、VR、Linux、Windows PC、Mac OS X、SteamOS、HTML5、Xbox One和PS4。
虽然这两款引擎都可以用于制作移动游戏,但我们更倾向于在移动平台上使用Unity。它是一个更容易制作2D游戏的引擎,并且在向低端硬件进行缩放时更为轻松。Unity专门针对配备老式GPU的低功耗设备提供了轻量级渲染管线。
如果你要面向高端设备,比如Xbox One,那么Unity和Unreal都可以胜任。
总结:Unity提供更多的跨平台集成。
三、你想发布什么类型的游戏?
Unreal和Unity都支持创建2D和完全3D渲染的游戏。在这里,你必须考虑作为开发者花费时间和成本的哪种格式更值得。
如果你正在创建2D内容,那么Unity就是你的选择。它拥有更简单的用户界面和成熟的2D工具。Unreal也可以用于2D游戏开发,但Epic Games并没有像Unity那样将这个特性集合放在首要位置。
Crossy Roads,使用Unity制作
如果你正在制作更传统的、充满动作的第一人称射击游戏,那么选择Unreal Engine可能更为合适。这类游戏正是该引擎的创作初衷,例如《虚幻竞技场》、《无主之地》和《堡垒之夜》。
Fortnite,使用Unreal Engine制作
如果你想在游戏中呈现出令人惊叹的视觉效果,Unreal Engine难以匹敌。尽管Unity正在努力改进其图形功能,但这仍然是两者之间的主要区别之一。这无可争议的视觉效果也是为什么更多大型工作室在他们的游戏开发中使用Unreal的原因。
值得注意的是,相比Unity,Unreal对于你如何构建游戏有更多的看法。默认情况下,开发者使用Unreal Engine的Gameplay Framework来构建游戏。
这突显了两家公司之间的一种哲学差异:
- Unreal包含更多便利的开箱即用工具,但它们必须按照"Unreal Way"来使用,这可能学习和使用起来较为复杂。
- Unity提供了一个简单的基础,开发者可以在其上构建或购买自己的工具。这意味着Unity专注于使其提供的基础简单而清晰,但你需要更多地自己进行工作。
一些Unreal Engine内置的功能,Unity需要第三方插件或自定义代码才能访问,包括:
- AI行为树
- 复杂的动画逻辑
- 游戏保存系统
- 多人游戏
- 游戏能力
- Chaos破坏系统
即使选择Unity,你仍然可以从Unreal Engine的架构决策中获得很多灵感。在我们自己的课程中,我们通过在Unity中构建类似Unreal Gameplay Framework和Saving System的系统来实现这一点。
总结:如果你的最终目标是一个具有惊人图形的游戏,选择Unreal Engine。
四、这是一项爱好,还是你希望获利?
无论是Unreal Engine还是Unity,它们都是免费使用的,然而,一旦你开始从游戏中获得收入,就会有一些条件适用。
Unity提供三种选择计划:个人版、Plus版和专业版:
- 个人版是免费使用的,开发者通过该计划最多可以每年赚取10万美元。在免费使用的条件下,游戏必须包含"Made in Unity"的启动画面。
- Plus版每月收费40美元,需要一年的订阅。开发者最多可以每年赚取20万美元,并且还能获得额外的福利,如启动画面定制和与协作工具的集成。
- 专业版每月收费150美元,没有年度收入限制。你将得到包括Plus版在内的所有福利,另外还有3个额外的席位和一个高级艺术资源包。
- Unreal允许开发者免费使用完整的引擎及其所有功能。如果你决定从游戏中获取收入,那么在每个日历季度内,如果游戏的收入超过3000美元,Unreal会收取5%的费用。
总结:在构建游戏时,两者都值得尝试。如果你期望从游戏中赚钱,请花些时间进行一些收入分析,以找出哪家公司的价格结构对你最有利。
五、你是在提升技能以在游戏工作室找工作吗?
如果你学习Unreal或Unity是为了达到在游戏工作室担任游戏开发人员的职业目标,首先看看你感兴趣的工作室使用哪个引擎和编程语言。许多工作室使用自己的专有游戏引擎;在这种情况下,语言是你职业发展轨迹中最重要的因素。许多工作室看重C++知识,因此学习Unreal和C++可能会给你带来优势。
对于其他职务,比如技术设计师、关卡设计师、环境艺术家,工作室会更青睐那些了解工作室使用的引擎的候选人。好消息是,如果你花时间学习一个引擎,那么在需要迅速学习另一个引擎以在面试中脱颖而出时,你已经有了一个良好的起点。我们在我们的《如何在视频游戏行业找到工作》课程中对此进行了更详细的说明。
Unity vs Unreal Engine:主要区别 Unity和Unreal之间的主要区别在于它们本地使用的编程语言。Unreal Engine使用C++,但在构建游戏时,你还会使用Unreal的一种专有语言,称为蓝图(Blueprint),以及C++。Unity对于主要的Unity编辑器和任何插件都使用C#。它还使用自己的专有语言Prefab和Bolt。
Unity vs Unreal Engine:总结 希望我们已经帮助你决定哪个游戏引擎对你的项目最合适。下面是一张详细描述差异的表格: