|
一直觉得国内在引擎画面的理解普及上面做的糟糕,借题发挥一下好了
游戏画面是很多因素决定的,材质模型,灯光模型,渲染,和后期特效 起着重要的作用
我们一个个比过来好了
材质上面,按说是谁都能写,但是各种花巧和思考,是很深奥很难平衡的,早版本的unreal3碾压其他引擎的重要方面就是材质,首先是normalmap效果强烈,其次是高光模型亮眼(油亮派),而且高亮度部分会自动glow,这个角度上来说,即使当时不是linear渲染,也至少突破了srgb的色深限制(这些不是人话的后面解释),所以某种程度上模型导入unreal就有不同的感觉。
这种感觉与其说是真实,不如说是夸张,所以unreal很长时间都在真实度表现有短板,因为人物皮肤质感不够真实,对比之下,同时期的cryengine很好的改善了皮肤的质感和光照感觉,整体画面的和谐性和真实性,要接近真实的多
unity的材质方面,是没有类似unreal的节点系统的,从unity5开始多了默认的几个材质类型,形式是往cryengine那种简单的配置方式上面靠,所以材质灵活性不够,另外一点就是unity不是重Normal map的引擎,带normalmap的材质总是塑料感太重,金属性不足,unity5虽然是改进了一些这方面的感觉,但由于默认的linear色彩空间,总是显得过亮,但是有没法再材质级别有效控制,除非使用类似shaderforge之类的插件,当然效果还是没有unreal的自带材质编辑器来的灵活
灯光模型方面,我不能从专业上说出太多不同,但是首先unity的shadow map不是最先进的,同场景实时物体一多,阴影贴图质量就会开始下降,可能是在阴影分割上面算法不够先进,unreal 和cry这方面问题就小的多
灯光和材质的模型配合起来,高光总是不够漂亮,也是确实存在的,即使unity5也有很大改进空间,这个不敢妄言太多
渲染:来补下linear和srgb之前的梗,真实性方面,人眼身是有一些特性的,就是说按照真实色彩曲线在屏幕上面显示的图像,和我们看到真实的时间,会有区别,因为人眼会加强某个亮度区域的色彩以适应这个世界,而摄像头就客观的多,三维渲染也是更真实一些,但是如果把这种真实的图像给人眼看到,会感觉比我们人眼看到灰暗的多,所以一般会在硬件方面做一个反曲线最后变成srgb的色彩空间让人看到。
那我们游戏引擎里面最终效果给人看到,当然是这种强化过的适应人眼的色彩空间,但是我做光照计算和贴图就不行,因为会由于多次的色彩强化导致最终画面强烈失真,这时候就是需要linear的色彩空间,计算时候用真实色彩,直到输出这一步把色彩强化一遍以适合人眼。
unity很早就是linear的色彩空间,但是由于后期最后一部的矫正方面很多从业人士的素养不足,或者完全没有这个意识,做出来的效果完全是不正确,或者缺乏调整弹性的。
而unreal则在工作流上面几乎是整合和后期的色表,去解决这个问题。我们转到下一个话题说
后期: 在所有的渲染结束之后,会加色彩校正和滤镜,我们看电影就知道,电影拍摄的效果和最终出片效果区别巨大,那是因为色彩Lut表校正之后的关系,换而言之,就是把所有的色彩一一对应,映射成另外一种色彩感觉,这个流程在unreal里面是硬性整合了,而unity则要作为滤镜使用,很多用户也不够重视这个步骤。导致最终效果不良
材质模型,灯光模型,渲染,和后期特效 这几个因素的叠加,导致了unity5的画面或者因为自身功能不强,或者因为开发者素养不足,整体效果会有弱于unreal的感觉(如果两个引擎都是最好的开发者在做,应该也是unreal画面更好一些)
但是粗糙这个词汇,我不赞同,所有的特效都要考虑硬件的,unity的做法很好的考虑了不同游戏平台对画面的兼容性,所有可以随时舍弃很多效果,保证平台的支持,这方面比unreal要灵活,所以说unity画面上面的表现比unreal看起来差,并不是那么单纯的原因,你看过cryengine在mobile上面的一些例子你会更理解这个问题,引擎不是一味追求至高画面表现的。
以上跑马随便说到哪里是哪里的,错谬肯定百出,大家不要介意
最后吐槽一下unreal4,,由于最近的demo画面确实很惊艳,就下载了一个再玩一下,我是顶配mbp,跑unity4解决几乎所有开发项目从mmo到虚拟现实,城市规划到物理模拟,全无卡顿,(unity5会有点)
然后我打开unreal4五秒之后,风扇就开始轰鸣。。。
...
我是真的挺想玩玩它的blueprint来着。。。
但还是继续打开unity46。。。。
补充:
开发效率问题的话,unreal的起源是大型游戏,unity天生为了中小型项目。
我用过unreal一段时间,支援以前公司一个项目,用的痛苦万分,我现在已经多年不用双屏,而当时恨不得有3个屏幕,因为界面上面很多东西配置不合理,做个粒子特效面板占了整个屏幕,要想把asset给特定对象不能用拖曳,要先选择物体再在面板制定,阿以西坝的痛苦死了。
当然我制定unreal4现在改进良多非吴下阿蒙,但是我还是不想用下去。
unity的很多妙处说不得,往往就是东西放在了正确的地方,那你也就顺手用了没觉得多好,直到用了个不顺手的,才晓得它的好。
当然你说unity工程大到一定程度,那多人协作确实不是那么容易的事情,往往还是得有一个比较全面的去兼顾所有,细部再做分工, 不知道unreal怎么解决这个。
unity的unitypackge包是非常方便的东西,用法得当很多小游戏都是几天做完,这方面unreal store仍有差距。
总的来说unreal由于很多历史原因和架构庞大,开发效率方面比unity要低很多 |
|