unity是通用引擎,它需要让用户有尽可能高的自由度来编写逻辑,开发任何类型的游戏。

UE本质上是个基于《虚幻竞技场》的关卡编辑器,只是在一般的关卡编辑器基础上,增加了导入模型,制作动画的功能。

unity的渲染管线是可更换,可编辑的。官方提供Built-In、URP、HDRP三种任你选,全都不喜欢,你也可以自己写。

UE的渲染管线是《虚幻竞技场》的同款。不能换。因为UE的动画、灯光、材质系统,都依赖于渲染管线。如果把渲染管线换掉,灯光、材质、动画全都不能用,UE也就只剩个空壳了。

虽然都被称作游戏引擎,但它俩根本不是同类,没什么可比性。

Unity是用来做原创游戏的,因此Unity必须让用户能够从零做出一款游戏。所以各种类库全得支持,支持开发种类繁多的游戏类型,还要适配各种硬件平台。

而UE只是在《虚幻竞技场》的基础上扩展,它真正给用户用的不是C++,而是连连看。

至于C++,有没有都一样。并不能比连连看多实现什么。源码各个模块牵一发动全身,都是耦合死的。

玩Unity,你学的是向量、欧拉角、四元数、顶点、片原、深度、祯缓冲、差积、点积、深度优先、广度优先、A*。。。其实就是d3d、OpenGL里那些图形学原理,再加上一些诸如FSM、行为树之类的设计模式。你啥时候见UE圈讨论过这些?

相比于d3d或OpenGL,Unity存在的意义主要是四点。简化了游戏制作流程、降低了学习难度,提高了开发效率,提供了一整套跨平台解决方案。

除了以上四点之外,跟直接用D3D、OpenGL开发没有任何不同。

而玩UE,你是在diy《虚幻竞技场》。无论跟《虚幻竞技场》看起来再怎么不一样,也依然只是diy,并不是真正的“开发游戏“。

不会做游戏!