经常被想进入游戏行业的同学问这样一个问题:Unity和UE4学哪个更好?当我面对这样的问题,往往都会先问清楚对方对哪个更感兴趣,然后就引导他学习哪个,投其所好的回答对方的问题!

你心里肯定在想,你真不实诚,不客观的回答别人的问题!

那我在这偷偷的给你说!作为一个从事了游戏开发近十年的程序员,我客观的告诉你:Unity和UE4各有千秋,不分伯仲!

所以在回答这样的问题时,我往往会告诉对方:Follow your heart!

但我相信这个问题依然困扰着许多想成为游戏开发者的初学者们!那么今天,我就给你好好道来,你应该如何选择!

我会从以下几点为你说明

↓↓↓↓

↓↓↓

↓↓

①——>引擎共性

②——>难易区别

③——>游戏产品

④——>学习资料

⑤——>资源商店

⑥——>人才需求

1 ——> 引擎共性

游戏引擎

Unity和UE4都是游戏引擎,所谓游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻辑,比如:物理系统,粒子系统,寻路系统,图形渲染等等。我们不再需要具备太多专业而复杂的计算机专业知识,只需要进行简单的系统学习,便可以使用它们来进行游戏开发。

跨平台

平台你可以简单理解为不同的操作系统,比如我们家用电脑使用最多的windows操作系统,苹果电脑的mac os操作系统,包括安卓手机的android系统,苹果手机的ios系统等等,这些不同设备因为他们的操作系统不一样就称为不同的平台。以前我们开发一款游戏,为了能在不同的平台上使用,就必须得针对不同的平台进行多次开发。

而跨平台的意思就是,我们只需要进行一次开发,通过Unity和UE提供的跨平台功能,我们可以让产品在各种不同平台上使用!并且不需要进行二次开发!!这是一劳永逸的壮举!

任何游戏类型都能制作

大部分人理解的游戏类型可能更多的是RPG(角色扮演)、FPS(第一人称射击)等等游戏机制的类型,而我这里提到的类型涵盖面会更广。Unity和UE4他们都可以制作如:3D游戏、2D游戏、VR(虚拟现实)游戏、AR(增强现实)游戏等

说直白点,只要是游戏他俩都能做。

免费使用

Unity和UE4都可以让大家在一定程度上免费使用,至少在学习阶段是完全免费的。而如果要用来做商业项目或使用更多的高级功能,两者会有不同的收费策略,这里我不做详细说明,因为这点完全不影响作为初学者的你。

总结

为什么要把这四个共同点单独摘出来给大家说明呢?

因为就是因为这4个共同点,成就了Unity和UE4,让他们俩成为了全球范围内使用最广泛的游戏引擎!!!


2 ——> 难易区别

可视化编程

所谓可视化编程,简单些理解就是不需要写一行代码,通过线框图的连接就可以做出酷炫的游戏效果。这是零基础学员的福音,你可以什么编程语言都不会,什么计算机知识都不懂,只需要短时间的系统学习便可以做出游戏来。

但是可视化编程虽然可以帮助你快速的入门,但是作为一个游戏行业从业者,可以客观的告诉你,要开发商业游戏,你永远都逃脱不了写程序。可视化编程更多的用处是给美术人员和策划人员进行关卡设计、场景设计、剧情设计等等工作的,只是提升开发效率的手段之一,而不是游戏开发的所有。

你千万不要觉得学会了可视化编程系统,就可以进行大型商业游戏的开发了。当然,如果你做的东西足够简单,它就已经够用了。

UE4
蓝图可视化编程系统
内部集成,免费

Unity
PlayMaker可视化编程插件
插件,收费

Unity
Bolt可视化编程插件
插件,免费

Unity和UE4都提供了可视化编程工具。

客观来说UE4提供的蓝图可视化编程系统更为强大,并且是官方免费集成在引擎内部。

Unity的PlayMaker可视化编程是由第三方提供的插件,需要付费使用。Bolt同样也是Unity插件,可以免费试用。

编程语言

编程语言是用来给计算机发出指令,控制美术资源按照策划制定的游戏规则将游戏呈现在玩家面前的核心技能。是作为游戏开发程序员必须掌握的工作技能。可视化编程工具的内在本质就是由编程实现的,所以当通过可视化编程工具实现不出想要的游戏表现时,我们必须通过自己编写程序来实现特定功能。

不同领域,常用的编程语言有很多,比如C、C++、C#、Java、Python、JavaScript、PHP、Objective-C等等等。我们来看看这两大引擎分别使用的是什么语言吧。

UE4——C++

C++的出道年份:1983年

特点:较底层的语言,学习它最好具备一些计算机基础知识,因为这门语言需要程序员自己管理内存,对于零基础初学者不是特别友好。

业内主要用途:UE4开发,服务器开发,Cocos2D-X(2D游戏引擎)开发,软件开发等等

Unity——C#

C#的出道年份:2000年

特点:偏上层实现,“简单、现代、通用”是它的定位。C#已经为我们管理了内存,单从这一点就大大提升了对于零基础初学者的友好度,它更加易学。

业内主要用途:Unity开发,服务器开发,Web开发,软件开发等等

界面复杂度

界面复杂度对于初学者也是一种比较重要的因素,越复杂的界面窗口可能对于初学者来说越不友好,所以我把它也纳入了难易度分析中。

UE4的操作界面截图

Unity的操作界面截图

作为使用过两个引擎的开发者,我客观的说,Unity相对于UE4的界面复杂度更低一些。UE4的界面窗口数比Unity要更多一些,当然更多的窗口数,也意味着UE4提供了更多可视化的工具给开发者使用。

Unity基于的是相对比较开放的原则,UE4基于的是相对比较封闭的原则。也就是说,一般意义上,不修改源代码的情况下,Unity可以自定义的自由度比UE4高,UE4相对封闭一些,很多东西都提供了完善的工具,但是并不太提供自定义和修改。

这也是为什么UE4的界面要比Unity更复杂一些。

总结

首先从以上3点进行一个简单总结

可视化编程系统

↓↓↓↓

对于学习者,UE4更好

编程语言

↓↓↓↓

对于学习者,Unity更好

操作界面上

↓↓↓↓

对于学习者,各有千秋,不相伯仲

接着站在学习者的技术水平角度总结

学习人群:零基础

难易度

↓↓↓↓

Unity对初学者更友好

学习人群:有一定计算机基础

(如:大学为计算机相关专业)

难易度

↓↓↓↓

两者不相伯仲


3 ——> 游戏产品

我认为游戏产品这一点,是最能突出Unity和UE4差异性的地方,这一点基本就是你选择两者之一的一个最大因素,我们废话不多说,直接来看看这两款引擎他们制作的游戏吧!!

UE4制作的游戏产品

《绝地求生》

《堡垒之夜》

《黎明杀机》

《虚幻争霸》

《和平精英》

《无尽之剑》 系列

Unity制作的游戏产品

《王者荣耀》

《炉石传说》

《原神》

《纪念碑谷》

《崩坏3》

《奥日与黑暗森林》

我分别选择了两个引擎制作的6款游戏,我想从产品类型上来告诉大家Unity和UE4的特点。从而让你对他们能更加的了解。

渲染效果

下面这个视频是

Unity和UE4渲染效果对比

建议全屏观看

(注意:视频中为Unity5,目前Unity最新版本为2022,渲染效果明显提升)

【Unity 5 (渲染功能)对比UE4】Unity 5 and UE4 Comparison

看完这个视频,可能很多人觉得,感觉两者区别不大呀。但是我客观点的告诉你,UE4在光照处理上更胜一筹,整体渲染效果确实比Unity要更真实一些。

看到这,肯定有的同学就按捺不住了,心里想着我要学UE4,因为它的效果更好!

你一定要记住一点,好的效果肯定都是需要好的设备支持的。所以虽然UE4的渲染效果目前来说略优秀,但是它并不太适合用来开发手机游戏。因为它对设备的性能要求会更高。所以Unity相对UE4来说有更高的兼容性。

产品类型

更好的渲染效果适合做写实类型的游戏,所以你会看到UE4制作的游戏产品基本都是写实类的FPS(第一人称射击游戏),RPG(角色扮演游戏),ACT(动作游戏)等等。虽然这是他的优势,但是你会发现市面上的UE4游戏基本都是相同套路的端游产品。

而Unity虽然渲染效果略逊一筹,但是有更好的兼容性,有更适用于移动端的解决方案,用Unity制作的游戏多样性是优于UE4。

因此你会发现市面上的游戏产品,手机游戏大部分都是使用Unity进行开发,主机游戏部分是使用UE4进行开发。

说到这,很多人又会自我总结了,也就是说Unity做手游,UE4做端游咯?

这样的认识不完全正确,两款引擎手游端游都能做,商业游戏开发时往往会根据游戏类型和体量来选择更适合自己的引擎!所以只有是否适合,没有绝对的分界!你会看到Unity开发的端游比如《炉石传说》,也能看到UE4开发的手游《和平精英》。

但是从产品多样性的角度上来看,Unity确实要更胜一筹。

开发商

所谓游戏开发商,即制作游戏的公司

Unity和UE4的游戏开发商们都遍布全球,并且在中国也得到了广泛使用。比如腾讯就和Unity以及UE4两大引擎背后的公司进行着紧密的合作,腾讯旗下产品《王者荣耀》由Unity打造,另一款《和平精英》由UE4打造。两款产品在目前国内都属于品质和商业都取得了巨大成功的产品。

那么Unity和UE4对于中国来说,到底使用哪种引擎的开发商更多呢?答案显而易见,Unity目前占据着国内的大部分引擎市场。为什么Unity会是我们中国开发者使用最多的游戏引擎呢?

①目前国内市场以手游产品为主

    ②UE4更擅长开发主机大型游戏,成本高周期长,中小型开发商望而生畏

    ③Unity相对UE4更容易学习,用人成本较低

    ④Unity相对UE4更早的采用了免费使用策略占据了全球市场

以上四点是我客观的观点,很多喜欢UE4的学习者可能就不太乐意了,像我这么说那UE4不就没什么前景了?

那我再客观的例举几个UE4的潜力点:

①VR和AR产品追求写实效果,所以很多VR和AR公司会使用UE4进行开发

    ②国内单机游戏和主机游戏有一定市场潜力,UE4更适合用于主机游戏开发

    ③UE4会被部分游戏公司用来制作CG动画

所以总的来说虽然目前使用Unity开发游戏的厂商更多,但是UE4也具备非常强大的潜力,也是为什么Unity和UE4在业内一直被认为是两大竞品。

总结

UE4

渲染效果

↓↓↓↓

相对Unity更好

但设备兼容性略差

产品类型

↓↓↓↓

以追求写实效果的主机游戏为主

比如《绝地求生》《堡垒之夜》《黎明杀机》

开发商

↓↓↓↓

遍布全球

但在中国的普及度不及Unity

Unity

渲染效果

↓↓↓↓

相对UE4略逊

但设备兼容性更好

产品类型

↓↓↓↓

更加多元化,各平台都有代表作

比如《王者荣耀》《炉石传说》《原神》

开发商

↓↓↓↓

遍布全球

在中国被广泛使用


4 ——> 学习资料

了解了以上几点,我相信在你心里对Unity和UE4已经有了一个大体的认识,总体来说两大引擎各有千秋,不分伯仲。那我们来看看如果要学习他们,各方面的学习资料是否完备呢?

官方资料

Unity和UE4都提供了详细的官方事例和文档,包括功能介绍、API说明等等文档,非常齐全的。但是都存在一个问题,他们的相关资料都是说明指导性的,并非是实战性的学习资料。通过他们你可以学到关于引擎的基础知识,但是要用这些知识组合起来做出游戏,对于初学者来说还是有一定的困难。

如果你要选择自学,对于自制力不好或者基础不牢固的人来说不是一件容易的事儿。

Unity官方学习文档

UE4官方学习资料

野生资料

所谓野生资料,指的是网上能搜索到的Unity和UE4的相关教程资料,比如第三方文字教程,视频教程,开发问题解决方案等等。

我在这里直接告诉大家答案,Unity的野生学习资料相对UE4要多一些。以下图为证:

百度搜索UE4教程为813万个结果,搜索Unity教程为1590万个结果,Unity的相关结果几乎是UE4的2倍之多。

为了避免大家觉得我有失公允,我专门再用google搜索了一次,UE4教程为98.8万个结果,Unity教程为638万个结果,Unity的相关结果是UE4的6倍之多

我们排除搜索关键字等因素,我举这个例子的目的只是想客观的告诉你,Unity由于是目前全球使用最普遍的游戏引擎,自然它的野生学习资料是更多的。

野生资料多,我觉得对于开发者最大的好处是,当你在做项目时,遇到一个你解决不了的问题,通过搜索网上资料,你可以更容易的找到解决问题的方案,提高你的开发效率!

是否适合自学

我客观的觉得,所有的知识和技能都是可以自学的。只不过你需要更好的自制力和自律性。但是绝大多数人都很难坚持,我相信大家都有这样的经历,坚持一件事情两三天后,就因为种种原因没有然后了。。。

其实这并不怪大家,是因为在自学时,我们会走很多弯路,遇到一个问题非常难独立去解决,自然就更容易中途放弃。就好像在一个分叉路口,你毫无经验去面对抉择,自然容易走错路!但如果有一个经验丰富的前辈带着你前行,肯定会更效率更快捷些。所以更多的人会选择去报一个培训班或者去找一个师傅来学习一些新技能,那样成功的几率会更高!

作为一个过来人,我认为,Unity和UE4如果自学的话效率会很低下,当我在2011年自学Unity时,毫不夸张的说,以前学一个星期的内容,现在恐怕一天就能学完。因为那时的自己可能就和正在读这篇文章的你一样,基础欠佳,没有项目经验,没有人指导,一切全靠自己摸索前行。

所以我客观的认为,Unity和UE4这种游戏引擎,对于没有工作经验的大学生甚至零基础的初学者,自学效率会比较低。你会走很多弯路,学习效率会非常低下。建议大家能主动去获取一些有经验者的帮助,千万不要闭门造车!

总结

官方资料

↓↓↓↓

Unity和UE4都提供了完备的资料

野生资料

↓↓↓↓

Unity多于UE4

是否适合自学

↓↓↓↓

Unity和UE4自学效率会比较低

建议获取一些有经验者的帮助

不要闭门造车


5 ——> 资源商店

之所以把应用商店作为对比的一项,是因为我们在学习过程中肯定要做练习,要做练习那就得需要模型,UI,音效等等资源。那么这些资源你从哪里获得呢?

Unity和UE4都有自己的资源商店,你可以在上面选择自己需要的游戏资源进行下载。这些资源大部分都是游戏爱好者或者从业者自己制作的,有的免费有的收费。主要目的就是提供给开发者们制作游戏。有了这些,不管你是平时学习做demo,还是想要做一个属于自己的游戏,美术资源的问题将得到解决!

UE4资源商店

Marketplace

↓↓↓↓

资源量:少

资源价格:贵

资源质量:高

Unity资源商店

AssetStore

↓↓↓↓

资源量:多

资源价格:有高有低

资源质量:有好有坏

总结

我认为单从资源商店这一点上来看,Unity更加适合初学者们,因为你可以花更少的钱买到适合你学习使用的美术资源。而且Unity资源商店上提供的免费资源要多于UE4。

说到这,一些想用UE4做3A级游戏的同学肯定就不高兴了,UE4上的资源虽然贵,但是模型精致,高大上啊!非常适合做次时代大作。但是我想说,作为一个初学者,不要眼高手低,3A大作对于初学者的你们还是有些距离的。先一步一个脚印踏踏实实的前行,你花高价买来一个精致的不得了的资源,但是你却无法发挥出它的最大价值,那就是暴殄天物啊!


6 ——> 人才需求

那么最后,我们来看看Unity和UE4两大引擎,在市场上的人才需求是怎样的!我会从职位需求和平均薪资来简单分析,让大家对此有一定了解。

职位需求

在这里我要普及一下,对于开发岗位,一般以3大招聘网站作为找工作途径:拉钩、智联、Boss直聘,所以我在这里只针对这三大网站进行了搜索。我们直接来看数据:

拉勾网

 

智联招聘

 

Boss直聘

我们排除搜索关键词的其它因素

从搜索结果的数据上来看:

①拉勾网全国范围内Unity有927个职位,UE4有718个职位

②智联招聘(无全国选项)北京范围内Unity有5页搜索结果,UE4有3页搜索结果

③Boss直聘全国范围内Unity和UE4相关职位都是9页搜索结果

因此单从招聘网站发布的招聘信息来看,国内Unity的人才需求是多于UE4的,具体原因其实在上面的内容中以及有所提及

①国内Unity相对UE4更为普及

②Unity相对UE4的用人成本更低

③目前游戏市场以手游产品为主,虽然UE4渲染效果略好,但Unity在移动端表现优于UE4 

平均薪资

虽然Unity的人才需求要大于UE4,但是从全国范围内的平均薪资来看,UE4的平均薪资要高于Unity,主要原因如下:

①UE4的人才需求主要集中在北上广深等一线城市

②UE4的人才需求量相对Unity较低,从采样样本可以看出UE4薪资采样样本为662份,Unity为3332份

③UE4的人才需求主要集中在有一定工作经验的从业人员

总结

职位需求

↓↓↓↓

Unity多余UE4

平均薪资

↓↓↓↓

UE4高于Unity

注意

↓↓↓↓

UE4的职位需求较集中在一线城市

如果你以就业为目标来学习

需要关注自己所在城市的职位需求量


最终总结

总体来说Unity和UE4两大引擎没有谁好谁坏,我们没有必要分出一个高低。通过以上6点的讲解,我相信你可以根据自己的实际情况来进行选择了。

不管你是选择学习Unity还是学习UE4,在你熟练使用一个引擎之后,再来学习另一个的游戏引擎,你会发现其实并不是一件困难的事,因为开发方式和技巧都是相同的。

希望这篇文章能够帮助你做出选择,祝你在游戏开发的过程中一帆风顺!

【唐老狮】Unity和UE4两大游戏引擎,你该如何选择?相关推荐

  1. 【唐老狮】Unity网络通信中的分包、黏包

    在进行网络开发时,不管是前后端都需要处理消息的分包和黏包. 那所谓的分包和黏包,它具体的含义是什么呢? 分包:一个消息包被分成了多个消息包进行发送 黏包:一个消息包和另一个消息包黏在了一起 如果通过描 ...

  2. 【唐老狮】C#四部曲之C#基础:习题汇总

    本篇文章对视频教程 <[唐老狮]Unity系列之C#四部曲-C#基础 > 当中的课后练习题进行了汇总,方便同学们统一进行练习和复习 这些习题的解题部分都在本教程中以视频的形式进行了详细讲解 ...

  3. 【唐老狮】C#四部曲之C#入门:习题汇总

    本篇文章对视频教程 <[唐老狮]Unity系列之C#四部曲-C#入门 > 当中的课后练习题进行了汇总,方便同学们统一进行练习和复习 这些习题的解题部分都在本教程中以视频的形式进行了详细讲解 ...

  4. 【唐老狮】C#——多态和vob

    ​    ​截止目前,我们已经学会了面向对象中封装和继承两大特性的相关知识点.简单理解它们,封装就是用代码形容一个现实对象,继承就是复用代码,通过继承可以让类之间建立父子关系,复用一些特征和行为. ​ ...

  5. 【唐老狮】字符编码(ASCII,Unicode和UTF-8)

    [什么是字符编码] 字符编码(英语:Character encoding)也称字集码 是把字符集中的字符,编码为指定集合中某一对象,以便文本在计算机中存储或通过网络进行传递. 说人话:计算机里只能存数 ...

  6. 【唐老狮】商业游戏开发前后端程序区别

    客户端程序员=前端程序员 包括 Unity程序员 UE程序员 Cocos程序员 Egret程序员 Laya程序员 Flash程序员 等等 服务端程序员=后端程序员 包括 C++程序员 Java程序员 ...

  7. 【唐老狮】C#——类型转换

    目前我们学习了变量的知识,我们知道不同的变量类型,存储的数值范围或者存储的数值类型是不同的. 比如不同的存储范围有符号整型sbyte.int.short.long以及无符号整型byte.uint.us ...

  8. 【唐老狮】C#——转义字符

    [转义字符] ​ 强记忆 一句话 ↓↓↓↓ 转义字符 是字符串的一部分 ↓↓↓↓ 用来表示特殊含义 [常用转义字符] \n --换行  \' --单引号  \" --双引号 \\ --反斜杠 ...

  9. 【唐老狮】C#——结构体和类的区别

    [结构体和类的区别] 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参 ...

  10. 【唐老狮】C#——封装:运算符重载

    ​    ​目前我们学过的变量中,除了几种自定义的变量(结构体.类.枚举),语言本身的13种常用变量类型byte.int.float等等都默认支持用运算符进行计算,也支持条件运算符进行比较.今天我们要 ...

最新文章

  1. python3:对list中每个元素进行处理
  2. leetcode 169. 多数元素(不同数相消解法)
  3. python函数编程实战_别找了,这是 Pandas 最详细教程了
  4. 大学物理实验试卷1到8_试卷赠送199:七年级秋季学期期中检测地理试卷及答案...
  5. LeetCode 360. 有序转化数组(抛物线对称轴)
  6. houdini_通过卡通了解CSS Houdini的指南
  7. Arduino编译bootloader
  8. dea模型java实例_大水计划之DEA JAVA
  9. 华为云计算hcip证书有效期_华为云计算容器HCIP V1.0认证
  10. SPSS -正态检验
  11. 空间光调制器在激光加工中的应用
  12. 计算机综述论文能发期刊吗,计算机核心期刊哪些好发
  13. 一问解决设备管理器里面提示:未知usb设备(设备描述符请求失败) 或者是“Unknown USB Device(Device Descriptor Request Sailed)”错误
  14. python程序改变图像的分辨率
  15. MDT 2013 从入门到精通之Office 2013应答文件生成
  16. python 遍历目录
  17. SpringBoot2.x系列教程10--小花样之SpringBoot配置自定义Banner
  18. win10无法连接到这个网络_网络打印提示:Windows无法连接到打印机,请检查打印机名并重试...
  19. Red_Hat_Linux忘记root密码解决办法
  20. Minecraft开服器(Python编写)

热门文章

  1. 请问苹果x是如何建文件夹_苹果手机怎么建文件夹
  2. django-cms之wagtail
  3. ArcGIS 正高转换成椭球体高度
  4. Springboot图片上传 百度ocr文字识别提取
  5. C#毕业设计——基于C#+ASP.NET+SQL Server的酒店入住信息管理系统设计与实现(毕业论文+程序源码)——酒店入住信息管理系统
  6. 漫威 DC 英雄综合实力排位,这人秒杀灭霸
  7. 学数学,读原著,勤思考,效果好
  8. 柱状图柱子上面显示数字
  9. QT Libvlc播放视频时捕获鼠标和键盘事件
  10. 【汇编】更灵活的定位内存地址方式——and,or命令、SI、DI变址寄存器、直接寻址[idata]、寄存器间接寻址[bx]、寄存器相对寻址[bx+idata]、基址变址寻址、相对基址变址寻址