3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 5732|回复: 33
打印 上一主题 下一主题

[推荐] (转自ZOL)特效消耗是无尽陷阱?游戏画质现状解析

  [复制链接]

5

主题

317

帖子

256

积分

高级玩家

Rank: 4

贡献度
5
金元
2362
积分
256
精华
0
注册时间
2009-7-19
跳转到指定楼层
主题
发表于 2011-4-6 12:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

“这什么破游戏啊!游戏画面没见改进,帧数还这么低!制作方简直太烂了,一点都不好好优化!”觉得眼熟么?没错,这就是现在玩家中出现频率最高的场景。一直以来游戏新作的图形效果并不能令人感到满意,尤其是crysis2等大作面世之后,玩家对这种对所谓的新游戏画面没有改进帧数却暴降的不满更加明显了。

  我们在《忠实微软是否有用 A/N统一构架细节分析》首次引入了沙子-沙漠效应,并开始用它来解释图形发展过程中的一些问题,很多读者在阅读过文章之后都给作者发来了邮件和QQ消息,一面痛斥API更新了图形却没进步这件事,一面询问到底什么才是沙子-沙漠效应,它反映到图像上到底是一种怎样的过程。

  有介于这种情况,我们决定暂时改变一下探索与发现节目的安排,原定于本期进行的关于NVIDIA CPU/GPU统一之路的讨论将安排在下一期节目中进行。在本期的探索与发现节目中,我们将向你讲述一个关于沙子-沙漠效应与游戏画质发展现状的故事。






● 光与影的轮舞

我们生活在世界上,用眼睛注视着周围的一切,是什么如此吸引我们的注意力并让我们感知到了周围的一切色彩?是光。只有光么?显然不是,与光时时相伴的还有影子。





光与影构筑了我们的世界

光和影是日常生活中最常见的两种基本视觉体验。物体表面被光照到,就会与光线交互作用并显现色彩。未被光照到的部位则会显得更加暗淡,无法显示与光照部位完全相同的色彩表现。光与影构成了视觉关系中最基本也是最核心的两种关系,并由此衍生了几乎全部的视觉效果,比如距离感,立体感,景深,散射,渐变等等。如果想要构建具有真实感的三维影像,光与影的关系是非常重要的。





BF3逼真的光影效果

今天我们关于沙子-沙漠效应的话题,将从光与影以及由此引发的一系列特效展开,而有关光与影的主题,则是欺骗、惩罚和陷阱。



● 神说要有光,我们骗神说这里有光



要构建图形效果,最基本的条件就是光线和颜色,所以即便是最原始最粗糙的3D效果,也是包含了明暗信息以及物体被光照射之后的反应的。如果没有光,颜色就得不到正确的表现,场景也没有了立体感,3D效果的意义也就丧失了。





原始的DirectX 6画面也具备光影效果

最传统的对光的表现形式主要集中在纹理层面,制作者通过在烘焙阶段直接将简单的明暗效果放置在预制纹理之上,然后在需要时进行贴图操作来完成明暗的表现,这就是最初的对光效果的描述。光源仅仅是一块亮一些的贴图而已,他撒下的并不是光辉,物体得到的也不是照耀而仅仅是寂寞……不难发现,这种带有欺骗性质的光效果仅仅是对最终效果的表达,对光线与物体之间的数学关系并没有任何的表述和涉及。





缺乏数学关系导致的错误阴影

其实即便是在光栅化过程高度发展的今天,虚拟的图形世界中也是不存在所谓“光线”的。因为光栅化的最基本操作单元是像素,人们对光效果的表达,完全是通过预先设计出像素在光源照射下所应该具有的表现,再将这种表现反映到像素上来完成的。说难听些——这只是一副“要你看到这样效果”的画作而已,一切都是假的,或者说一场骗局。





“光”栅化里其实没有光线

起初,神想要世界,于是程序员创造了天地。地是空虚混沌,渊面黑暗。神的灵运行在世界里却看不到周围,于是神说,要有光。结果程序员们在天地表面撒上了金银粉,把空虚混沌染上了各种颜色,然后骗神说——这里有了光……



● 神将光暗分开,我们又骗神说分开了

神看到天地间有了明暗和色彩非常高兴,他觉得这个世界是好的,于是便想将明暗分开。可是,这世界原本就没有光,明暗要怎么才能分开呢?





光影分离

传统的对光线效果的表达会产生诸多极为无厘头的问题,其中最重要的一个,就是光和影之间根本不存在对应关系。真实的光线与物体的数学关系存在遮蔽现象,物体对光源主光线的遮蔽必然会导致光线无法传播到物体后部。所以遵从光线数学关系的结果自然就是物体背后长长的影子。但在传统的光效果处理过程中并不存在这种关系,有光没影这种在现实世界中很荒谬的事情,在图形的世界中却是再平常不过的事情了。


   


错误的光影效果导致的不正确的视感

没有光影关系,物体的位置都无法被准确的反映出来,这样的3D效果哪有什么立体感可言啊。怎么办?简单,把物体下面的光照信息去掉,不就成影子了么





这黑黑的东西就是影子

没错,这黑黑的一坨,就是最开始的影子,这种影子与其说是为了表达光影效果,倒不如说是为了表明物体在特定位置上的存在感。比如说一个人站在地上,如果不在他脚下添上那黑黑的一坨,屏幕前的你根本就无法分辨他是站在地上还是漂浮在半空中。





没有影子,连判断位置都变得困难了

为了进一步欺骗眼睛,程序员们慢慢的想出了其他办法,他们按照要表达物体的外形制作了一个阴影模板,然后猜测出了摄像机位置下物体与根本就不存在的光线交互之后应该出现影子的位置和角度,接着把影子的模板直接放在了地上。于是现在地上有了跟物体外形差不多的影子,“真正”的影子。





模板阴影效果

程序员去掉了神身后的金银粉,让其露出了渊面的颜色,然后再次骗神说,光和暗已经分开了。神挪动自己的脚步,程序员便对应的改变渊面的范围,神看影子动了,以为光与暗真的分开了,非常高兴。



● 神愤怒了

神的灵行进在天地之间,完成着创世的工作。神发现有些事情不太对劲。为什么影子的反应往往会出现错误,为什么影子里要么一片漆黑要么一成不变,为什么光照不进影子里面。





奇怪的光影错误

模板阴影因为其固有的不考虑数学关系的特性而显得异常呆板。玩家只要稍具好奇心,便可以利用游戏中能够创造出来的光源制造一个又一个充满欢乐的景象,比如在LOD接合处阴影消失,有时候角色站在墙或者其他什么地方的时候,墙上的材质如果存在错误,影子就会变成了一大堆可笑的三角形,甚至如果你举着火把站在某个阴影里,脚下的阴影完全没有任何变化……单纯的模板阴影因为这种完全不考虑数学关系的简陋做法,很快就被广大用户所诟病。





LOD错误导致的阴影丢失

神知道自己被骗了,大大的发了怒,决定降罪于程序员。于是,神在一粒沙子上附上了数学以及因果律的灾厄,然后将这粒沙子赐予了人间。当有人捡到并释放出沙子中的灾厄时,沙子会不断增加,最后形成一个沙漏一样的陷阱,将所有的程序员都拖进去。

评分

2

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-24 20:46 , Processed in 0.029629 second(s), 19 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表