小团队没钱追求快速出效果,对画面要求不高的项目用Unity。中大团队不差钱,买得起Unreal技术支持,分工明确有专人填坑,对画面要求高的项目用Unreal。
Unity
优势:
轻量级,安装、调试和打包方便;
配置VR项目十分简单;
学习成本低,文档完善;
开发成本低;
UI系统,在PS4上调试方便,有批处理文件可以一键运行Asset Store;
劣势:
内建工具不够完善;
渲染差,光照系统糟糕,阴影bake有bug,只能勉强达到2A游戏入门水平;
对于控制器支持较差,一些如手柄震动、VR控制器空间定位的功能引擎未集成,需要第三方插件或额外代码;
没有材质编辑器,需要第三方插件;
Prefab不支持继承,没有内建的Level Stream支持;
Unreal
优势:
画面效果完全达到3A游戏水准;
光照和物理渲染即便在缩水的状况下也足以秒杀Unity;
蓝图系统,从此策划不用再写代码;
强大的材质编辑器;
各种官方插件齐全;
对于手柄、VR控制器支持良好;
提供各种游戏模版,用来做原型配合Blueprint甚至比Unity更快;
劣势:
C++如果要开发PS4游戏需要重新编译引擎,12核服务器,24线程编译大概需要20-30分钟;
如果需要重新编译引擎,光拉代码就需要至少一个小时;
创建新项目大概又要编译十多分钟;
如果切换平台,要编译几千到上万个shader;
PS4部署不方便,打包编译同样非常久;
学习成本高,各子模块功能强大但操作复杂部,分功能没有任何文档,已有功能的文档同样不够完善,不如Unity;