從“速度感”重新理解動(dòng)態(tài)模糊
作為(可能的)電子賽車游戲的愛好者,你是否想過(guò)汽車的“速度感”從何而來(lái)?一般來(lái)說(shuō),具有速度感的賽車體驗(yàn)要更加接近于在電視里看到的競(jìng)技比賽,而缺乏速度感可能會(huì)讓你感覺開300碼的車就像開100碼一樣平淡無(wú)奇。
速度感是賽車游戲中老生常談的事情。大家會(huì)把原因歸結(jié)于:動(dòng)態(tài)模糊、震動(dòng)以及可視角度pov。例如在《極限競(jìng)速:地平線5》中,第三人稱的追尾視角與第一人稱視角相比,第一人稱會(huì)有屏幕的震動(dòng),因?yàn)榈览砗芎?jiǎn)單,現(xiàn)實(shí)生活中如果沒有震動(dòng),那就只能是懸浮車了。震動(dòng)所表現(xiàn)的畫面抖動(dòng)會(huì)增加游戲中的不確定性,從而能調(diào)動(dòng)注意力去專注于駕駛;可視角度中,窄視角就是沒有寬視角更有沖擊力,寬視角帶來(lái)的信息更多,最終給到的“速度感”也就要比窄視角要好。
如果硬要扯的話,那么后兩點(diǎn)就是通過(guò)給大腦增加信息量,分別是有序信息(視角)和無(wú)序信息(震動(dòng)),從而調(diào)動(dòng)更多的認(rèn)知資源在游戲中的賽道上,而非接下來(lái)要吃什么。
可是,動(dòng)態(tài)模糊呢?它可以把路面、街景這樣的信息進(jìn)行模糊化,這可不是增加信息量的舉動(dòng)。它能和速度感扯上什么關(guān)系呢?但是要說(shuō)的話,動(dòng)態(tài)模糊在日常生活中也能夠見到,在高速上看中間的防護(hù)欄就知道怎么回事。但開了動(dòng)態(tài)模糊之后效果往往又沒有那么好,這是為什么呢?
讓我們先來(lái)思考一下動(dòng)態(tài)模糊是個(gè)什么,以及是如何實(shí)現(xiàn)的,讓我們回到攝影學(xué)上。
現(xiàn)在,有一個(gè)能夠每秒錄制30幀畫面的機(jī)器,來(lái)拍攝當(dāng)前場(chǎng)景。而這個(gè)機(jī)器的傳感器前面有一個(gè)擋板,可以做到超高速的移動(dòng),例如60次一秒,那么我們會(huì)說(shuō),此時(shí)的快門速度為1/60。在膠片時(shí)代,快門速度需要是幀數(shù)的整數(shù)倍,但數(shù)碼時(shí)代就不用糾結(jié)這檔子事了。
無(wú)論如何,如果快門速度為1/60,那么就意味著一幀畫面里接受了半個(gè)亮度的圖像,最終呈現(xiàn)的亮度就粗略地可以理解成半個(gè)亮度。如果快門速度達(dá)到了1/30,那么就接受了一個(gè)亮度。同理,如果速度達(dá)到了1/15,是不是就等于是接受了兩個(gè)亮度的圖像呢?
答案是對(duì)的,亮度確實(shí)會(huì)增加,但是同時(shí),這兩個(gè)圖像并不一定是完全重合的,也就是說(shuō),如果在1/15,也就是大約0.07秒內(nèi)物體有移動(dòng),那么拍出來(lái)的照片就會(huì)有這個(gè)物體的好幾張圖像的疊加態(tài)。
攝影學(xué)有一個(gè)方便理解的定律,叫做1毫米定律,即在快門時(shí)間內(nèi)如果物體運(yùn)動(dòng)了1毫米,那么就會(huì)產(chǎn)生模糊。如果機(jī)位是固定的,那么此時(shí)就僅僅存在物體移動(dòng)而產(chǎn)生的模糊。這種模糊就被稱作動(dòng)態(tài)模糊。
接下來(lái),如果你是程序員,在賽車游戲中如何還原這種動(dòng)態(tài)模糊的原本存在于現(xiàn)實(shí)生活中的效果呢?
一般來(lái)說(shuō),一輛車在兩幀的時(shí)間中移動(dòng)了某距離,在視覺上,車道、旁邊的欄桿、樹就相對(duì)往后位移了某距離。如果計(jì)算出每個(gè)對(duì)應(yīng)像素運(yùn)動(dòng)的距離,然后在空間上把舊像素和新像素連到一塊,那動(dòng)態(tài)模糊就成了。
這樣的方法好處在于:只需要計(jì)算兩幀已經(jīng)輸出了的畫面的信息,而不需要在進(jìn)入到游戲里,為每個(gè)物體都加上動(dòng)態(tài)模糊的特效參數(shù),就相當(dāng)于套了個(gè)濾鏡,對(duì)實(shí)際性能的損耗很小,只會(huì)稍微增加一點(diǎn)延遲。
但問題是,效果上很合理,但實(shí)際上這樣的動(dòng)態(tài)模糊的來(lái)源只是像素之間的位移,而非由快門速度所造成的。
可能有點(diǎn)拗口,但是舉個(gè)例子就知道了。
在現(xiàn)實(shí)中,如果用60幀的規(guī)格,1/30的快門速度錄視頻,那在視覺上來(lái)看就像是游戲中的“掉幀”一樣會(huì)變卡。而實(shí)際上,1/30就等于是用30幀的規(guī)格來(lái)錄制(最終會(huì)在實(shí)際效果一樣的情況下消耗的存儲(chǔ)是60幀視頻而非30幀的)
在游戲里,用60幀的規(guī)格,加上動(dòng)態(tài)模糊,如果要短一點(diǎn)的就計(jì)算1到2幀之間的差異,如果要長(zhǎng)一點(diǎn)的話就計(jì)算1到4幀甚至更長(zhǎng)之間的差異。
但問題在于,如果要達(dá)到目標(biāo)快門速度的效果,那么動(dòng)態(tài)模糊所計(jì)算的幀就會(huì)變長(zhǎng),可是游戲幀數(shù)沒有改變,最終即使動(dòng)態(tài)模糊產(chǎn)生了拖影,但是整體效果是割裂的,因?yàn)閯?dòng)態(tài)模糊的計(jì)算往往會(huì)忽略汽車本身,僅僅去計(jì)算周圍場(chǎng)景。
所以,如果要獲得真正的動(dòng)態(tài)模糊,不僅僅需要算法支持,還有一個(gè)最重要的事:降低幀率。
只有真正降低了幀數(shù),才能讓動(dòng)態(tài)模糊變得統(tǒng)一。而且在現(xiàn)實(shí)世界中,動(dòng)態(tài)模糊本身所產(chǎn)生的原因就是幀數(shù)過(guò)低。所以,鎖30幀的《極品飛車18》和不鎖幀的《極限競(jìng)速:地平線5》相比,前者就是要比后者更接近真實(shí)體驗(yàn),原因也就在于此。
看到這里,相信你會(huì)對(duì)幀率有更全面的理解?;蛘撸环寥ベ愜囉螒蚶镌囈辉?,30幀帶來(lái)的速度感與60幀的區(qū)別。