如果是自己做游戏,那学 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 年年亏损都是它自己作死,饼画的越来越多,屎山越堆越重,再这么下去估计五年就得倒闭 |