【职场篇】五年游戏开发老兵,我为什么劝你学UE?

news2024/12/28 3:01:16

我是水曜日鸡,一个在游戏行业摸爬滚打了5年的行业老兵。在Unity和UE4各有两年半的开发经验。曾参与开发了索尼中国之星计划之一的 《硬核机甲》 项目,用的是Unity引擎。目前在上海某大厂参与研发 开放世界项目,用的是UE4引擎。今天我就来终结游戏行业讨论了多年的到底是学UE好还是学Unity好的话题。经过这几年的沉淀,我可以明确的告诉大家,如果你想在游戏开发这一行走的更远,尽早转UE。如果你短时间内转不了,也建议尽早学UE。 下面我会详细说原因。


Unity VS UE,谁更容易做出高质量的游戏

说到近些年来用Unity研发的项目,《原神》 是避不开的话题。讨论Unity还是UE好,总会有人说用Unity能做出《原神》,你用UE行吗?那么,我问大家一个问题?

《原神》的成功,是Unity牛逼,还是米哈游牛逼?

这个问题的答案显而易见。如果是Unity牛逼,为什么和《原神》同一级别水准的没有几个呢?因为没有一家公司可以把Unity魔改到能够做出《原神》的水平。所以《原神》的成功根本证明不了Unity牛逼,只能证明米哈游牛逼。

相反,我们来看UE。我们也有用UE研发的3A或者准3A级别的游戏——《黑神话·悟空》
在这里插入图片描述
《黑神话》牛逼还是《原神》牛逼也是游戏社区经久不衰的话题。那么有没有一种可能,《黑神话》可以拿来和《原神》比,它已经赢太多了。《黑悟空》刚曝光的时候,游戏科学也就不到30来人,即使是现在,研发了五年左右,人数也只在百人左右。《黑神话》还是游戏科学的第一款大型单机项目。而米哈游在做《原神》之前,已经有两款成功项目的技术积累和人才储备。游戏科学这种小团队做的游戏,可以和成立多年成熟的商业公司大作进行相提并论,足以证明UE的过人之处。

即使是抛开国内的情况,国外用UE做的3A级别的游戏也是数不胜数,《蝙蝠侠》、《最终幻想7重置》、《王国之心》等。所以对于Unity和UE,谁的上限更高或者说是谁更容易做出高品质的游戏UE可以说是遥遥领先

目前国内的游戏玩家,口味越来越吊,对于游戏品质的要求越来越高,已经不是随便什么游戏就能打动玩家了。如果你是公司的决策层,想要自己公司的游戏未来在游戏市场里有一席之地,同时又不像米哈游有着非常多年深耕Unity的积累,那么UE绝对是你们团体技术方案选型的首选。

如果你是一个普通的游戏行业从业人员,或者是想要踏入游戏行业的准新人,以做出一款自己满意的好游戏为职业目标,UE也是你早晚要学的游戏引擎。


没有研发 VS 有研发经验的人做的引擎,差距有多大

如果一个人从来不懂电脑,现在忽然跟你说他想卖电脑了,你觉得这件事靠谱吗?

如果一个做游戏引擎的团队,从来没有用这个引擎做过能够上线的游戏,你觉得这个引擎能好用吗?

什么?能用就行?你知道他给配的电脑有多少坑在里面吗?你知道他给你配的杂牌电源什么时候会爆炸吗?你不知道,因为你不懂,他也不懂。就算他和别人卖给你一模一样的东西,一模一样的价格,售后也是天差地别。懂行的,你电脑开不了机了,对面一看,哪根线没插,哪个灯没亮,一眼就能知道问题。不懂行的,可能就是让你换配件,换就完事了。这就是懂行和不懂行的差距。

刚从Unity转UE那会,我也各种不习惯,没事就在群里怒喷UE。但是用久了之后,你真的能体会到UE在很多界面和功能的细节上做的就是比Unity好,因为UE的团队真的是用UE这个引擎做过游戏的,他们能够知道高效的工具流是什么样的,知道研发人员在使用引擎的痛点在哪些地方。比如在属性设置面板上一定有搜索框,想查找资源引用和被引用关系的时候有详细的树状图,想快速验证玩法可以蓝图连线,想搞角色动画有AnimationGraph,想做剧情过场动画有Slate,想做技能有GAS,想做联网有DS等等。

当然你要说Unity能不能开发这种功能,那肯定能,就算自己不会写,也有一堆第三方插件。但是就像我前面说的,不懂电脑的人卖的电脑,你要说能不能用那肯定能用。但是你不知道有多少坑在里面,你不知道什么时候你就爆炸了。之前我所在团队做《硬核机甲》的时候,也是用了一个叫做“Slate”的插件做的剧情演出。但是它的曲线编辑功能难用到被美术同学天天吐槽,严重拖慢了开发效率,还好它是开源的,最后程序同学直接修改源码让编辑器好用了不少。
在这里插入图片描述
在这里插入图片描述

最后再看Unity和UE推出的新功能的表现,UE5当时推出的时候,同行都在赞叹:Lumen和Nanite都是什么黑科技?就算没有用过UE的人,很多也会下载个《古代山谷》体验一下引擎的逼真表现力。反观Unity,我就问Unity的Dots到现在有几个团队用过?我观察下来各个团队大家普遍觉得:

这么‘’好‘’的功能,应该友商先用,友商用了没有坑,我们再用。

一转眼到现在我转UE也快三年了,只能说年轻时诋毁UE,长大后理解UE,成熟后赞美UE


开源 VS 不开源,遥遥领先

我第一次用UE的开源代码编译成功的时候,我就知道:

使用不开源引擎的日子,已经回不去了。

不知道大家有没有小时候上机房电脑课的经历,上电脑课的时候,老师会监控所有人的画面,并且会强制控制所有人的电脑。讲课的时候,你只能看到老师想给你看到的画面。即使解除了远程,每次你想打开游戏爽玩的时候,老师都能发现。这是因为虽然你在用这个东西,但是这个东西不是你的。

多年以后,我拥有了第一台自己的电脑,才能做到小时候我一直想做的事情,我可以装任何我想装的东西,我甚至可以把操作系统搞成mac系统,因为这是属于我的电脑。

开源引擎和非开源引擎的区别就在于此。对于不开源的Unity引擎来说,归根到底你 只是个使用这个引擎的人,你不是这个引擎的主人。你只能使用它允许的功能。 对于它不支持的功能,你想要怎么办?如果它有接口可以拼出来你想要的功能还好说,如果没有怎么办?凉拌。

想起之前做《硬核机甲》的时候,因为我们是PC和主机游戏,所以手柄是一定要支持的。手柄在上下左右移动的时候,我们想让UI焦点从一个UI控件移到另外一个可以配置的UI控件,当时的Unity版本支持不太好。
在这里插入图片描述

对于小工作室根本没钱买源码,无奈之下只能反编译代码,然后改代码,再编译成dll文件放到工程里面。而我们每次升级Unity版本,都要把这个操作重复一遍别提多蛋疼。

说到升级Unity版本,可能也有人好奇,没事升级版本干嘛?这就是因为它不开源导致的。比如Unity某个版本修了一个Bug,或者加了一个小优化,我们很需要,怎么办?因为不开源,我们不知道我们需要的代码在哪,也没有办法复制我们需要的那段代码。最后只能升级整个引擎。就我在团队里的时候,升级了至少3次。升级引擎会产生新的后果,原先用的第三方插件怎么办?比如某个插件只支持到Unity2017,你升到2018,插件不支持怎么办?只有三种选项:插件是开源的自己动手改;等作者更新;换插件。

一切的万恶之源都是Unity它是不开源的。大公司有钱直接买源码当然无所谓,小工作室没钱买只能另辟蹊径。

但是如果你用UE,完全没有这个问题。我现在团队用的UE4版本是4.26,从来没有升级过,因为根本不需要。UE新版本哪个功能我们需要,直接复制对应的代码稍微改一改就完事了,没事升级引擎干嘛?

同样是游戏引擎,一个是开源,另一个不开源,可以说UE是遥遥领先


通过上面的对比,相比大家已经知道,UE对比Unity,已经领先太多了。接下来我将反驳所谓学Unity更好的言论常说的观点。

Unity VS UE 学习门槛低真的是优势吗

Unity学习门槛低,比UE好学。这个确实毋庸置疑。Unity功能少,整个引擎比较轻量,C#也比C++简单。但是我们仔细想想,一个东西很好学很容易就能入门了,对于想要在游戏行业深耕的你我来说,真的是优势吗?

为什么程序员对比医生,大家会普遍觉得医生的社会地位更高?即使很多程序员赚的钱比医生更多。很大一个原因就是成为一个医生比成为一个程序员更难。成为一个合格的医生从在校期间到能够诊治患者至少需要10年,而成为一个程序员,以我这个半路转行的为例,一年就行了。

这就是门槛。门槛越低的工作,竞争越激烈,越容易被人替代。所以程序员很容易被替代,因为低级程序员的门槛实在是太低了。

选择引擎也是这个道理,你希望你很快就能成为一名Unity程序员,然后之后拼命卷,就为了自己不被替代。还是前期苦一点,费老半天劲,终于跨过了UE的门槛,然后之后不用像前者那么卷也没那么容易淘汰。
在这里插入图片描述

而且学会了门槛高的东西也能侧面证明作为一个程序员你有着优秀的学习能力。经常在知乎上看到有人讨论:

作为一个XXX程序员,你觉得自己的核心竞争力是什么?

核心竞争力是什么,就是我会的东西,别人不会;我有的东西,别人没有。Unity这种门槛低的引擎,你会的东西,别人很快就能学会;你有的东西,别人很快就能有。因为大家都知道,这个东西好学,大家都知道,这个东西学了好找工作,就像现在学图形学的学TA的也一大堆。最后就变成现在这样,整个市场饱和的一笔,现在想靠Unity入行,你要比几年前多学很多很多东西。以游戏打怪升级为例,Unity,从Lv1升到Lv10很好升,但是你要升到Lv30才能找到工作。UE,从Lv1升到Lv10很难,但是升到Lv15就能找到工作。

人越多,越卷,想要赢别人越难。人越少,越不卷,想要赢别人越容易。


Unity VS UE 学习资料多,社区活跃

之所以造成这种感觉,纯粹是因为国内用Unity比用UE的多的多罢了。而大部分人用百度搜索问题,而很多博客互相抄来抄去。让你很容易就搜索到,让人产生了学习资料多的感觉。当然国内的博客也有写的好的。只是不容易搜到。对于一个初学者来说,最容易搜到的就是那种广告满天飞,内容写都写不明白的低质博客。

其实只要你会用谷歌和油管。Unity也好UE也罢,学习资料也是大把大把。因为UE在国外和国内完全不一样,它是一个非常热门的引擎。你遇到的任何问题,只要善用谷歌和油管,99%都能解决(剩下1%属于底层问题,可以通过看源码或改源码解决)。即使看不懂英文,也可以善用网页翻译以及油管自动翻译的字幕。

更不用说UE官方的说明文档,以及UE自己出的很多视频教程,都做的非常非常好。我自己也是靠着这些学习资料才能在短时间内入门UE引擎。

在这里插入图片描述


C# VS C++,学哪个更好

C#比C++好学,所以学C#更好。这个我前面已经说过了,门槛低的东西不一定更好。那么,抛开学习门槛来看,C#和C++哪种语言更好?毫无疑问,C++也是遥遥领先。

我刚入行的时候也有过这个疑问,直到有个老前辈告诉我:

做游戏程序员,C++是必学的。

我当时也困惑,我用Unity的话C#完全够用了啊。当时我又不转引擎,即使如此C++也如此重要吗?直到我为了学习UE引擎深入学习了C++,才知道:其实C#就是C++的Mini版,C++就是C#的ProPlusMax版本。C#有的功能,C++都能搞出来,反而C++有的,C#的很难有。

而且如果你是为了用UE4学的C++,完全不用操心C#转C++遇到困难。 C#的反射很好用,C++没有?没关系,UE帮你做了Property整个反射系统。离开C#我不知道怎么垃圾回收?没关系,UE只要是你标记UProperty的属性自己会计数自己会回收。我用指针经常把项目搞崩溃?没关系UE提供了多种智能指针,你只要不用裸指针想崩溃都难。

接着看运行效率,可以说C++把C#爆了十条街。这就是为什么Unity,Godot,Unreal各大引擎底层全是C++。

最后是退路,如果学C++最后不想做游戏了怎么办,没有关系C++能做的事情非常多。可以说只要学会C++绝对不愁饿死,相反C#的岗位,比C++的岗位不是少的一点半点。
在这里插入图片描述
在这里插入图片描述


以上就是身为行业五年老兵的我的肺腑之言了。其实劝人学UE这种事情有点像什么呢?就像20年前劝人买房,10年前劝人买比特币。 要么不信,要信早信。

20年前,你劝人买房,一般人会觉得你疯了。
10年前,你劝人买比特币,一般人会觉得你疯了。
现在,我劝你投入UE的怀抱,你是否会觉得我疯了呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1009852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《重构改善代码设计》

文章目录 1.重构的原则2.代码的坏味道3.第一组重构3.1.提炼函数3.2.内联函数3.3.提炼变量3.4.内联变量3.5.修改函数名称3.6.封装变量3.7.变量改名3.8.引入参数对象3.9.函数组合成类3.10.函数组合成变换3.11.拆分阶段 4. 封装4.1. 封装记录4.2. 封装集合4.3. 以对象取代基本类型…

使用cpolar配合Plex搭建私人媒体站

文章目录 1.前言2. Plex网站搭建2.1 Plex下载和安装2.2 Plex网页测试2.3 cpolar的安装和注册 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1.前言 用手机或者平板电脑看视频,已经算是生活中稀松平常的场景了,特别是各…

如何开启Win10虚拟机Hyper-V功能

操作步骤: 使用前提: 1、确保系统是 Windows 10 专业版/企业版/教育版,且必须是64位操作系统才支持。 提示:Win10家庭版不支持hyper-v。 2、使用Hyper-V需要cpu支持虚拟化并处于开启状态。 3、硬件要求及如何验证硬件兼容性: 硬件…

Hive 使用达梦DM8 无法识别 “COMMENT” 问题

将达梦数据库驱动 DmJdbcDriver18-8.1.2.192.jar 导入到 hive 的 lib 文件夹下 修改 hive 配置文件&#xff0c;增加 dm 数据库相关信息 <property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:dm://127.0.0.1:5236?SCHEMAhive</val…

vmware官网下载(VMware workstation 下载与安装)

Oracle RAC 安装配置part1 注册VMware 个人帐号 浏览器打开官方网站 下面是主页&#xff0c;单击Customer connter 单击立即注册 填入相关信息注册完成 需要到您邮件里的激活一下帐号 注册完成 下载VMware Workstation 单击转到CUSTOMER CONNECT (您也可以在主页login…

修饰符的笔记

修饰符 完整的教程参考下面的链接 菜鸟教程-修饰符 下面是我总结的比较精简的内容 常见的修饰符有权限修饰符和非权限修饰符 权限修饰符 权限修饰符就是我们所熟知的 private&#xff0c;public&#xff0c;protect&#xff0c;default&#xff08;什么都不写&#xff0c;默…

华为云云耀云服务器L实例评测|基于华为云云耀云服务器L实例搭建EMQX大规模分布式 MQTT 消息服务器场景体验

文章目录 前言一、&#x1f604;华为云云耀服务器二、&#x1f604;产品实例创建相关1、&#x1f9e8;开通华为云云耀服务器2、&#x1f9e8;创建华为云云耀服务器实例3、&#x1f9e8;终端登录4、&#x1f9e8;华为云云耀云服务器密码重置 三、&#x1f604;安装开源产品EMQX四…

python diffusers StableDiffusionXLPipeline 离线使用

下载sd_xl_base_1.0.safetensors https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main 我这下载后放到项目 models 里 model_path "./models/v1-5-pruned-emaonly.safetensors" # model_path "./models/v1-5-pruned.safetensors" # model…

人工智能创业,2023爆火风口项目:实景无人直播帮实体店精准获客

软件图片素材来自于公众号&#xff1a;生财风暴 关注进行领取价值1000元的采集软件&#xff0c;和呆头鹅批量剪辑和矩阵管理系统演示 把AI和直播结合在一起的实景自动直播你知道吗&#xff1f;如果提起人工智能创业项目啊&#xff0c;你还只知道CHHGPP的话&#xff0c;那不妨把…

光伏浪涌保护器综合应用工程方案

光伏浪涌保护器是一种用于保护光伏发电系统中的设备和线路免受雷电或其他瞬态过电压的影响的装置。光伏发电系统由于其分布式、室外、大面积等特点&#xff0c;容易受到雷电直击或感应&#xff0c;导致系统内部产生高能量的浪涌电流和电压&#xff0c;从而损坏光伏组件、逆变器…

竞赛选题 基于大数据的时间序列股价预测分析与可视化 - lstm

文章目录 1 前言2 时间序列的由来2.1 四种模型的名称&#xff1a; 3 数据预览4 理论公式4.1 协方差4.2 相关系数4.3 scikit-learn计算相关性 5 金融数据的时序分析5.1 数据概况5.2 序列变化情况计算 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &…

【Git】Git 快照 Snapshot

Git 快照 Snapshot 在对 Git 基础的学习过程中&#xff0c;我们了解了 Git 仓库的基本结构&#xff1a; 工作目录暂存区版本库&#xff0c;即 .git 仓库 下面我们就通过一次修改、暂存以及提交的工作流程&#xff0c;来理解快照&#xff08;Snapshot&#xff09;的概念。 现…

基于Docker的JMeter分布式压测实战讲解

一个JMeter实例可能无法产生足够的负载来对你的应用程序进行压力测试。如本网站所示&#xff0c;一个JMeter实例将能够控制许多其他的远程JMeter实例&#xff0c;并对你的应用程序产生更大的负载。JMeter使用Java RMI[远程方法调用]来与分布式网络中的对象进行交互。JMeter主站…

Linux:基础开发工具之Makefile和缓冲区的基本概念

文章目录 动静态库自动化构建代码缓冲区 动静态库 首先要知道什么是链接&#xff1a; C程序中&#xff0c;并没有定义printf的函数实现,且在预编译中包含的stdio.h中也只有该函数的声明,而没有定义函数的实现 系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没…

旋转偏心裁切刀切向跟踪及半径补偿

1 裁刀半径补偿问题的提出 偏心裁刀一般皮革和纸箱行业用的比较多&#xff0c;它适用于裁切比较厚的材料。对于如图1所示的偏心裁刀&#xff0c;它的刀尖和旋转轴(也就是刀心)存在一个距离&#xff0c;设为半径r。由于改刀刀刃有方向&#xff0c;所以用该刀去切割直线时&#…

使用nvm管理node.js

使用nvm管理node.js 一、简介 nvm是一个node的版本管理工具。可以在多种系统上管理Node.js 版本的工具。使用 NVM&#xff0c;可以轻松地切换不同版本的Node.js&#xff0c;并方便地管理不同版本的全局包和本地包。 二、安装与下载 1.删除原有node.js 首先需要卸载已安装的…

免费音乐下载网站分享(MP3文件格式)

免费音乐下载网站分享&#xff08;MP3文件格式&#xff09; 最近需要下载一些歌曲&#xff0c;发现很多音乐app上下载文件都需要vip&#xff0c;再上网查询了一番&#xff0c;最后发现了一个宝藏网站&#xff0c;可以免费下载各种格式的MP3文件&#xff0c;在这里给大家分享一…

建设数字孪生智慧城市是未来城市的重要增长点

中国国家创新与发展战略研究会学术委员会常务副主席、重庆市原市长黄奇帆在《瞭望》撰文指出&#xff1a; AI时代的城市是由实体空间和数字空间组成的数字孪生城市&#xff0c;要充分重视对数字空间的治理。随着城市数字化进程的加快&#xff0c;城市、企业、个人开始形成多样化…

软件需求怎么写?

前言&#xff1a;一般来说&#xff0c;软件产品的需求人员的主要输出物就是软件需求&#xff0c;如果这个软件产品就XX系统&#xff0c;人们口中的“系统需求”和“软件需求”就没有什么区别了。在车企行业&#xff0c;推行这ASPICE体系&#xff0c;在这个体系中明确申请了系统…

2023工博会,正运动开放式激光振镜运动控制器应用预览(三)

展会倒计时&#xff1a;4天 本次的中国国际工业博览会正运动技术将携开放式激光振镜运动控制器ZMC408SCAN-V2亮相。 •绿色生产&#xff0c;减少材料和资源浪费&#xff0c;提升可持续性&#xff1b; •节省多套硬件成本&#xff0c;替代传统的激光加工系统&#xff0c;降低项…