因为UE4底层和内置渲染足够强大,强大到做项目只需要做减法或者在其渲染基础上进行定制化修改。
Unity的强项在于精简,以前是,现在还是。但游戏环境已经发生了改变。
这是我之前的一次分享中,阐述的一个观点。
“UE4内置完善的各种渲染管线(经典、PBR、半透、剪切、3S、各向异性……),各种常见材质实例(玻璃、清漆、塑料……),完善的后处理(泛光、景深、光晕、SSAO、SSR……),各种环境效果(大气、体积雾,体积云、粒子光照……)……,而且这些打开UE4就有,你要做的就是选择你需要的,关闭你不需要的。把需要的做一下优化、精简。就算什么都不做,打开引擎,随便拖个模型进去,默认材质一丢,都很高大上。Unity呢?一开始,只有很简单的效果,很简单的光照。无光照材质还能用用,随便一个光照材质,性能就堪忧。没有效果很好的复杂材质,也没有很棒的默认环境效果,甚至连个像样的后处理都没有。所以这就导致了两个结果:
1、很多年以前,对画面要求不高的年代,Unity以其精简的规模,获得了青睐(UE瘦身,工作量和难度都太大)。
2、最近开始,对画面要求越来越高,PBR标准开始逐渐成为主流的年代,UE以其内置效果的全面而获得了青睐(Unity全都要自己想办法实现,工作量和难度都太大)。”
所以,为什么?当然是因为Unity精简到用它自己的东西根本做不出个像样的游戏。给你举个简单的例子:
做水的边缘透明过渡,你需要获取水面深度和背景深度差吧?UE4多简单,材质编辑器里俩节点一拖,一减,OK了。
Unity里面呢?先不说到最近才有的shadergraph那个东西,以前连个材质编辑器都没有。这些数据哪儿来?就算你拿到了,你可知到,用unity的默认渲染管线,获取深度这个操作有多耗?性能不行咋办?要么自己想其他办法获取,要么改他的渲染管线。
不是Unity技美"想",而是"不得不"。