• Unity和UE4两大游戏引擎,你该如何选择?


    目录

    游戏引擎

    2 ——> 难易区别

    编程语言

    3 ——> 游戏产品

    UE4制作的游戏产品 

    Unity制作的游戏产品 

    产品类型

    5 ——> 资源商店

    6 ——> 人才需求

    平均薪资

    总结


    游戏引擎

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

    跨平台

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

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

    任何游戏类型都能制作

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

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

    免费使用

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

    总结

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

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

     

    2 ——> 难易区别

    可视化编程

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

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

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

     

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

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

          Unity的PlayMaker可视化编程是由第三方提供的插件,而且需要付费使用。

    编程语言

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

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

    UE4——C++

    C++的出道年份:1983年

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

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

    Unity——C#

    C#的出道年份:2000年

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

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

    界面复杂度

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

    界面复杂度

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

     

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

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

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

    总结

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

    可视化编程系统

    ↓↓↓↓

    对于学习者,UE4更好

    编程语言

    ↓↓↓↓

    对于学习者,Unity更好

    操作界面上

    ↓↓↓↓

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

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

    学习人群

    ↓↓↓↓

    零基础

    难易度

    ↓↓↓↓

    Unity对初学者更友好

    学习人群

    ↓↓↓↓

    有一定计算机基础

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

    难易度

    ↓↓↓↓

    两者不相伯仲

    ***********************

    ***********************

    3 ——> 游戏产品

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

    UE4制作的游戏产品 

    《绝地求生》
    《堡垒之夜》
    《虚幻争霸》
    《黎明杀机》
    《和平精英》
    《无尽之剑》系列 

    Unity制作的游戏产品 

    《王者荣耀》
    《炉石传说》
    《纪念碑谷》
    《死亡扳机》
    奥日与黑暗森林
    《口袋妖怪Go》

    产品类型

         更好的渲染效果适合做写实类型的游戏,所以你会看到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略逊

    但设备兼容性更好

    产品类型

    ↓↓↓↓

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

    比如《王者荣耀》《炉石传说》《纪念碑谷》

    开发商

    ↓↓↓↓

    遍布全球

    在中国被广泛使用

    ***********************

    *********************** 

    官方资料

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

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

    Unity官方学习文档
    UE4官方学习资料


    野生资料

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

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

         为了避免大家觉得我有失公允,我专门再用google搜索了一次,UE4教程为988000个结果,Unity教程为6380000个结果,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直聘,所以我在这里只针对这三大网站进行了搜索。

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

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

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

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

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

    因此单从招聘网站发布的招聘信息来看,国内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,在你熟练使用一个引擎之后,再来学习另一个的游戏引擎,你会发现其实并不是一件困难的事,因为开发方式和技巧都是相同的。

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

  • 相关阅读:
    Vue基础-传参,路由
    [附源码]java毕业设计大学生就业信息检索系统
    iOS开发:Mach-O入门理解
    你知道企业到什么阶段必须数字化转型吗?
    Shell基础介绍与Shell编程基础
    =(等号)在Excel中的3个实用技巧
    ThreadLocal底层源码解析
    ETLCloud工具让美团数据管理更简单
    【Unity开发实战】—— 2D项目1 - Ruby‘s Adventure 游戏世界中各个对象的交互(3-1)
    Go语言学习笔记——Golang 1.18新特性工作区workspace
  • 原文地址:https://blog.csdn.net/m0_69824302/article/details/127877232