架构对比

  • BS 架构:Unity、WebGL、Threejs
  • CS 架构:Unity、UE4、Ventuz
  • 因为 Ventuz 是国外收费引擎,因此下面内容不做对比。

效果对比

  • CS 架构优于 BS 架构。
  • CS 架构中,UE4 和 Unity 效果各有特色,UE4 写实效果优于 Unity,Unity 其他效果优于 UE4。
  • BS 架构:Unity 的 B 端效果要优于 WebGL 和 Threejs,WebGL 和 Threejs 效果基本差不多。

体量对比

  • UE4 体量是这几个技术中最大的,相对于 Unity,UE4 的安装包 10GB 左右,同时对开发设备要求也是最高的,相同的项目等级,UE4 项目的体量要大于 Unity。
  • BS 架构因为效果低于 CS 架构,因此体量相对较小。

开发对比

  • BS 架构中 WebGL 和 Threejs 因为没有成熟的渲染流程,开发工作量比较大,但是 Unity 的 WebGL 是基于 Unity 引擎渲染,有成熟的渲染流程,开发工作量比较小;举个例子,在场景中增加一个相机,WebGL 和 Threejs 需要手动敲代码增加一个相机,而 Unity 只需要拖一个相机组件到场景即可。前两者使用 JS 语言,后面的 Unity 使用 C# 语言,最后发布成 WebGL。
  • 相比 WebGL 和 Threejs,Unity 开发 B 端,主要工作是场景设计以及开发部分,不需要关心模型导入等其他问题。
  • CS 架构中,UE4 使用 C++ 语言开发,Unity 使用 C# 语言开发,UE4 的 C++ 语言也是在原 C++ 语言上增加的反射机制,因此编译比较慢;C# 语言是面向对象语言,有反射机制,因此开发过程中编译比较快。
  • 扩展性:Unity 要优于 UE4,毕竟 C# 语言是面向对象的语言,市面上 Unity 的插件是要多于 UE4 的插件。这个从腾讯选择 Unity 做自己产品就可以看出。

友好对比

  • 这里不做 B 端的阐述,相对 C 端,B 端的友好度很低。
  • UE4 的界面给人一种比较乱的感觉,画面跳色太多;在编辑材质、模型等资源时,会重新打开一个窗口,造成多个窗口来回拖动,影响操作性。
  • Unity 的界面友好度要优于 UE4,Unity 的所有窗口都在同一个大窗口之下,一目了然的可以看到各个窗口的内容。

渲染对比

  • 因为 C 端效果要优于 B 端,因此不做 B 端阐述。
  • Unity 是实时渲染,当修改材质时,可以实时看到场景内物体上材质的改变。
  • 但是 UE4 修改材质时,需要保存并编译后才能看到,编译过程耗费的时间也跟使用的设备配置有关。

平台对比

  • Unity 可以发布成 B 端、C 端、移动端等
  • UE4 可以发布成 C 端、移动端等

维护对比

Unity 的项目维护成本要低于 UE4 的维护成本,这个维护成本是从人力、设备等多方面考虑,一个相同体量项目,UE4 技术比 Unity 技术要多 1~2 个人。

发布对比

以相同项目发布成 C 端为例,UE4 耗费的时间要高于 Unity,具体是多少要看项目大小。

像素流技术

现在 UE4 和 Unity 都有像素流技术,像素流的原理是将服务器渲染的画面通过视频流的方式传递至客户端,客户端不做渲染工作。因为是视频流,所以对网络带宽是有要求的,当然务器成本就很高。