作为(可能的)电子赛车游戏的爱好者,你是否想过汽车的“速度感”从何而来?一般来说,具有速度感的赛车体验要更加接近于在电视里看到的竞技比赛,而缺乏速度感可能会让你感觉开300码的车就像开100码一样平淡无奇。
速度感是赛车游戏中老生常谈的事情。大家会把原因归结于:动态模糊、震动以及可视角度pov。例如在《极限竞速:地平线5》中,第三人称的追尾视角与第一人称视角相比,第一人称会有屏幕的震动,因为道理很简单,现实生活中如果没有震动,那就只能是悬浮车了。震动所表现的画面抖动会增加游戏中的不确定性,从而能调动注意力去专注于驾驶;可视角度中,窄视角就是没有宽视角更有冲击力,宽视角带来的信息更多,最终给到的“速度感”也就要比窄视角要好。
(资料图)
如果硬要扯的话,那么后两点就是通过给大脑增加信息量,分别是有序信息(视角)和无序信息(震动),从而调动更多的认知资源在游戏中的赛道上,而非接下来要吃什么。
可是,动态模糊呢?它可以把路面、街景这样的信息进行模糊化,这可不是增加信息量的举动。它能和速度感扯上什么关系呢?但是要说的话,动态模糊在日常生活中也能够见到,在高速上看中间的防护栏就知道怎么回事。但开了动态模糊之后效果往往又没有那么好,这是为什么呢?
让我们先来思考一下动态模糊是个什么,以及是如何实现的,让我们回到摄影学上。
现在,有一个能够每秒录制30帧画面的机器,来拍摄当前场景。而这个机器的传感器前面有一个挡板,可以做到超高速的移动,例如60次一秒,那么我们会说,此时的快门速度为1/60。在胶片时代,快门速度需要是帧数的整数倍,但数码时代就不用纠结这档子事了。
无论如何,如果快门速度为1/60,那么就意味着一帧画面里接受了半个亮度的图像,最终呈现的亮度就粗略地可以理解成半个亮度。如果快门速度达到了1/30,那么就接受了一个亮度。同理,如果速度达到了1/15,是不是就等于是接受了两个亮度的图像呢?
答案是对的,亮度确实会增加,但是同时,这两个图像并不一定是完全重合的,也就是说,如果在1/15,也就是大约秒内物体有移动,那么拍出来的照片就会有这个物体的好几张图像的叠加态。
摄影学有一个方便理解的定律,叫做1毫米定律,即在快门时间内如果物体运动了1毫米,那么就会产生模糊。如果机位是固定的,那么此时就仅仅存在物体移动而产生的模糊。这种模糊就被称作动态模糊。
接下来,如果你是程序员,在赛车游戏中如何还原这种动态模糊的原本存在于现实生活中的效果呢?
一般来说,一辆车在两帧的时间中移动了某距离,在视觉上,车道、旁边的栏杆、树就相对往后位移了某距离。如果计算出每个对应像素运动的距离,然后在空间上把旧像素和新像素连到一块,那动态模糊就成了。
这样的方法好处在于:只需要计算两帧已经输出了的画面的信息,而不需要在进入到游戏里,为每个物体都加上动态模糊的特效参数,就相当于套了个滤镜,对实际性能的损耗很小,只会稍微增加一点延迟。
但问题是,效果上很合理,但实际上这样的动态模糊的来源只是像素之间的位移,而非由快门速度所造成的。
可能有点拗口,但是举个例子就知道了。
在现实中,如果用60帧的规格,1/30的快门速度录视频,那在视觉上来看就像是游戏中的“掉帧”一样会变卡。而实际上,1/30就等于是用30帧的规格来录制(最终会在实际效果一样的情况下消耗的存储是60帧视频而非30帧的)
在游戏里,用60帧的规格,加上动态模糊,如果要短一点的就计算1到2帧之间的差异,如果要长一点的话就计算1到4帧甚至更长之间的差异。
但问题在于,如果要达到目标快门速度的效果,那么动态模糊所计算的帧就会变长,可是游戏帧数没有改变,最终即使动态模糊产生了拖影,但是整体效果是割裂的,因为动态模糊的计算往往会忽略汽车本身,仅仅去计算周围场景。
所以,如果要获得真正的动态模糊,不仅仅需要算法支持,还有一个最重要的事:降低帧率。
只有真正降低了帧数,才能让动态模糊变得统一。而且在现实世界中,动态模糊本身所产生的原因就是帧数过低。所以,锁30帧的《极品飞车18》和不锁帧的《极限竞速:地平线5》相比,前者就是要比后者更接近真实体验,原因也就在于此。
看到这里,相信你会对帧率有更全面的理解。或者,不妨去赛车游戏里试一试,30帧带来的速度感与60帧的区别。
Copyright © 2015-2022 太平洋钢铁网版权所有 备案号:豫ICP备2022016495号-17 联系邮箱:93 96 74 66 9@qq.com