虚幻引擎比 Unity 难学吗

139 天前
 Chad0000
现在在学 Unity ,因为有 C#基础我感觉很简单。但据我了解很多 Unity ( U3D )开发的游戏性能不如虚幻引擎的。

本人计算机本科,C++毕业后就没用过了。

目前打算学完 Unity 后再学虚幻引擎,对比一下。先请教各位虚幻引擎的难度问题。
4852 次点击
所在节点    游戏开发
31 条回复
wdhwg001
139 天前
不要过早优化的意思就在这里了。

在你遇到性能瓶颈之前,性能是你不需要考虑的点,你只需要考虑怎么开发更爽就行了。

并且其实你用惯了 Unity 的话,初看 UE 会惊讶于这坨屎山的庞大、扭曲、疯狂和捉摸不定,层层过度封装的亵渎会让你彻底怀疑你一直以来代码洁癖的初衷,尤其是这坨狰狞可憎的巨大腥臭之物竟然能以难以想象的高效率运行,这会给你的内心带来更为深沉的震撼。
lightjiao
139 天前
看需求,如果你是做 3A 级画质 或者 动作游戏,还是推荐虚幻的,虚幻自带的渲染效果比较好,动画系统比较完善
其他的 unity 够了,虚幻有的功能 unity 也能做,就是多花一些时间

性能是最后考虑的,单纯为了性能上虚幻,会陷入虚幻屎山的灾难
lightjiao
139 天前
另外,学游戏引擎简单就对了,学虚幻自带的那坨屎山容易绕进沟里,对新手不友好
qcbf111
139 天前
首先并没有 unity 性能不如 unreal, 比如很多年前 unity 开发的原神发热控制和帧率稳定都比后来 unreal 开发的幻塔和鸣潮更优秀.
unity 主要是出来的晚了点工作流和特性累计都不如 unreal,优点是架构是非常先进的,依靠后面来慢慢补上来把特性.
unreal 优势是最早跟随 epic 项目开发的有很完善的工作流而且很多模块也更加完善, 缺点就是如果项目和 unreal 的 pbr 风格比较搭配那么就比较舒服, 否则就会非常难受, 里面的代码和 epic 也耦合很多, 很难想象作为一个通用引擎居然还内置伤害计算这些 gameplay 的东西.
结论:
unreal 好出效果默认 deferred shading, 默认参数就可以很容易做出很炫酷的 demo, 但是要正儿八经来做项目是非常考验团队水平的, 要不然就只能是在高端 pc 看着好看,手游也基本别想了.
unity 默认 forward 和 forward+, 很早以前默认的渲染有点像页游那些无光照纯模型, 所有可能大家就觉得 unity 的产品不如 unreal 高大上毕竟 demo 那管那么多, 另外手游等各种平台兼容性是非常好的, 我看他内置的渲染 shader lit 甚至还有很多 opengles2.0 的宏, 最后 unity 算是目前最先进的渲染架构了, 需要什么都可以很方便自己保证兼容性的订制, 而不是"反正源码都给你".
我预测一下未来, 如果 unity 不作死好好去累计渲染特性和完善的工作流, 那么未来一定是 unity 的, 因为 unreal 很难改的动了, unity 超越 unreal 是迟早的事
geekvcn
139 天前
学起源引擎😁
levelworm
139 天前
Unity 的问题是公司上层实在是不行。最近新 CEo 上来开了几个高层,但是感觉还是动力不足。之前的老人走得太多了。
decaydave
139 天前
针对性能问题,如果要求出同样的高拟真渲染效果,UE 的默认效果应该是完胜的,UE 的问题在于开发者需求和引擎功能的不完全匹配,Lumen&Nanite 在 2024 年还是太重,实装的大作一直到今年初才有零星见到,性能也不是很好。类似的还有之前的 Groom 、以及 Chaos ,这个技术这么多年,据我所知一直没有大规模应用的游戏案例。
相反 Unity 反而经常冒出一些性能做得很好的游戏,比如星际拓荒,我一直在思考这种级别的物理模拟在 UE 中要怎么做。
Chad0000
139 天前
@wdhwg001 #1
感谢反馈,屎山很形象,我有严重的代码洁癖,所以在遇到性能问题前先敬而远之。
Chad0000
139 天前
@lightjiao #2
不是动作游戏,准备做沙盒类型的,有点儿像那个 Wobbly Life (晃晃人生),那个也是用 Unity 开发的但会卡。所以我才问是不是性能都有问题,还是实际上是游戏开发团队实力的问题。

作为游戏初学者+有严重代码洁癖者,我暂定先 Focus 在 Unity 上,感谢!
Chad0000
139 天前
@qcbf111 #4
感谢反馈,我现在应该会继续 Focus 在 Unity 上了。
Chad0000
139 天前
@decaydave #7
作为一个初学者,我看到的就是 UE 出的游戏效果实在是太棒了,而且性能真的没的说。你说的那些术语还是很专业我还没了解过不是很懂,不过作为初学者可能也没那么多精力考虑引擎问题,3A 更是不可能,所以 Unity 对我来说可能就是当前最好的选择了。

感谢!
MCVector
139 天前
@levelworm 哈哈哈大佬你在 Unity 工作吗?
levelworm
139 天前
@MCVector 已经不在了哈哈,不是大佬,小虾米。
luodan
139 天前
外行人不小心进来了。问一个小白问题。如果只是个人兴趣,有没有可能在 1 年之内入门。所谓的屎山对于个人来说吃得下不?
gpt5
139 天前
我认识的人里,好几个在小公司都是用的 unity ,上手和起步挺快的。
只有一个在某工业领域龙头软件厂的人,用的虚幻。
Leez088
139 天前
@qcbf111 你说的是移动端,幻塔 pc 端明显比原神 pc 端好很多,帧数画质啥的就不说了,光追 dlss3 这些增强的可不是一点两点
MCVector
139 天前
@levelworm 蛤你之前在 MTL 吗!?
nullyouraise
139 天前
如果是自己做游戏,那学 UE 和 Unity 没啥区别,挑个自己喜欢的就行;如果是国内找工作,推荐学 Unity ,UE 的岗位比 Unity 少多了;如果是国外找工作,那我不了解了,也不敢给出什么建议

Unity 和 UE 作为最知名的两大商业游戏引擎,各自都有非常明显的优点和缺点。

UE 自身渲染效果做的很好,也是他们宣传的重点,如果你只是需要默认效果,那上手应该很快;但是如果你想要定制,UE 代码自身耦合严重,修改很难;另一方面是 UE 自带的工具实在太难用了,想自己开发 GUI 工具,写起来跟吃了屎一样难受

Unity 的问题比 UE 大多了,最明显的两个问题,一是性能太烂,二是官方提供了一大堆功能,但是基本都只做了一点,给你画个饼说我们提供了这个功能,实际根本无法达到商用水平

说 Unity 性能比 UE 好的,估计是没做过大型项目,知名的基于 Unity 开发的游戏,特别是手游,王者荣耀、原神、永劫无间、逆水寒,都是大改引擎做的定制优化。Unity 2023 版本官方宣传的 DX12 性能提升,居然是和 DX11 的老版本对比,和上一版本的 DX12 对比的话,根本没那么大的提升。

如果有机会拿到 Unity 的引擎源码,那恭喜你踏入一坨无法回头的屎山,包括但不限于如下问题:
1. 作为一个 C++项目,却几乎不使用任何 C++特性,基本就是 C with classes ,整个源码库里 lambda 都没用几个,甚至 2024 年的代码,传空指针还在写 NULL 而不是 nullptr ,传参全是函数指针
2. 代码中有大量莫名其妙的注释,五六行文字看起来在解释这里为什么要这么写,仔细一看下面的代码,发现代码逻辑和他的注释完全没有任何关系;
3. 过度设计,一个类继承多个 XXXCommon 类,实际这些 Common 类只有这一个地方被使用;
4. 为了一点微不足道的性能提升,大量代码写的晦涩难懂,配合看不懂的注释,导致很多地方很难修改。

Unity 年年亏损都是它自己作死,饼画的越来越多,屎山越堆越重,再这么下去估计五年就得倒闭
lightjiao
139 天前
@Chad0000 卡是团队水平菜,跟引擎没什么关系,谁家代码还不是跑在显卡和 CPU 上?
来点多线程和视野外剔除,能解决很多性能问题
jerrywossion
139 天前
作为一个会 C++、不咋会 C# 的非游戏行业的小白,个人觉得 UE 学起来更舒服一些。一开始看网上的推荐先学的 Unity ,但感觉处处受阻,让人物动起来还要学 collide and slide ,最后用开源组件 KCC 调半天最后放弃了。然后学 UE ,体验完全不同,引擎内置了大量基础框架,Player controller ,以及 GAS 等,C++、蓝图不管哪种方式写起来都很愉悦。
当然这是入门小白的感受,还没有接触到复杂的定制化功能和游戏优化,但感觉自己撸一个 RPG 的话 UE 应该更简单。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX