想到哪寫道哪——電子游戲的時間序列

在過去我一直看著各種時間序列,比如電影,比如游戲,不過我從未思考過時間到底有多短或者多長,即便這一感受是主觀的,但我們也需要一些相對客觀的討論基礎來進行交流,自轉亦或者公轉就是這種尺度,介于這種情況,我將會在文中使用秒等表示時間的量詞,這些量詞充斥在我們的環(huán)境中,以至于他們某種程度是客觀的,即便某個機器中的“一秒”可能不是“銫133原子基態(tài)的兩個超精細能階之間躍遷時所輻射的電磁波的周期的9,192,631,770倍 的時間”,但它依然可以表示一個較短的時間。
一秒很長嗎?人對時間的感知受到身體機能的影響甚大,年輕人與老年人對相同間隔時間估計有顯著差距,在緊張的狀態(tài)下時間流速極慢,而注意力高度集中時,卻又飛速流逝。

電子游戲中的時間來源于計算機,計算機通過晶體振蕩器來計算時間間隔,而電子游戲的更新實際上是以幀為單位進行的(邏輯與渲染根據(jù)需要可能采用不同的更新頻率)。倒過來說時間的最小間隔是被幀所決定的,那么確定一個游戲的幀率就變得有必要了,幀數(shù)過低則每兩幀之間的時間間隔變大,反之時間變小,如果我們追求精確則幀數(shù)自然是越高越好,反之回合制游戲的邏輯可以不依賴時間,對幀數(shù)要求也很低。
這很容易想到一個問題那就是,如果幀數(shù)很低,窗口期會錯過去嗎?答案是是的,幀數(shù)低的情況下連正常輸入都會有問題,就更不用說QTE之類的了。
另一個問題,最快能有多快?

在上面這個視頻中,50s的時候up主極快地拉動鏡頭,加上敵人反方向移動,最終使得敵人視野中只存在了幾幀,如果仔細觀察能發(fā)現(xiàn)這個過程中敵人的動畫幾乎都沒有發(fā)生改變。
事實上,電子游戲與所有計算機視覺產物一樣,是有限的,但人感知系統(tǒng)令這種有限能夠成為一種連續(xù)。

確定底線變得非常重要。一般說30FPS能夠讓人感到連續(xù),60FPS感到流暢,再往上可以更加絲滑,但這都建立在源頭是無限(相對)的情況下,才能夠滿足不斷上升的幀數(shù),比如3D動畫通過插值獲得關鍵幀之間的運動,雖然關鍵幀是有限的,但插值函數(shù)是幾乎無限的,總能獲得一個數(shù)值,雖然變化可能過小以至于無法察覺。
但是2D序列幀動畫往往由有限的動作組成,而到目前為止在游戲中還沒有什么比較好的插值方法,也就是說如果制作標準是某個動作持***,畫了10幀,那么無論游戲運行是30FPS還是60FPS效果不會有區(qū)別。
也就是說制作的標準除了考慮游戲幀數(shù),也要考慮類型。

再回到移動的事情上,在什么情況下會出現(xiàn)瞬移?網(wǎng)絡丟包的時候人物會瞬移,原因是渲染幀差距過大,物體在兩個不同的畫面之間行進了過遠的距離。有意思的是這一過遠距離不是游戲世界中的距離,而是屏幕上的距離,說到底游戲中只有比例(不考慮數(shù)據(jù)類型精度問題的情況下)。
反過來思考,一個游戲所能容忍的最高移動速度如何確定?(不考慮加載問題)前段提到了屏幕上的距離,那么這一速度也應該用屏幕空間速度來考量。

這些?都是等間距分布的,區(qū)別在于本身的半徑不同,顯然最小的?之間的空隙最大,距離我們理想的一條直線的效果最遠。也就是說在屏幕上越小的東西,其屏幕空間最大移動速度應當越小。
根據(jù)奈奎斯特定理,采樣頻率大于信號最高頻率兩倍時采樣后才能完整保留原信號的信息,當然這個規(guī)律是針對更加抽象的信號傳輸,對于視覺感受有一些冗余。
另外是煙霧、火焰等效果,在實時渲染中基本只能以序列幀+粒子變換的形式實現(xiàn),序列幀的問題之前提過了,有許多類似的效果只需要少數(shù)甚至一個紋理就能實現(xiàn)較好的效果。(參考:Technical Artist Bootcamp: The VFX of Diablo)

說完了無插值有限序列的問題,再來提一下插值有限序列。
這一類序列的代表就是關鍵幀動畫,文件只記錄了其中幾個關鍵幀的數(shù)據(jù),中間的過程通過函數(shù)插值得到。這里的插值是以渲染幀為單位進行的,就像之前所說的,如果幀間隔物體移動距離過大就會出現(xiàn)瞬移的感覺,解決方法包括動作模糊等“糊弄”辦法。
值得一提的是被稱為smear的動畫方法。

畫面中同時出現(xiàn)了多手多腳,但人的知覺卻將其作為一個連續(xù)變換的一部分,這是一種利用知覺系統(tǒng)缺陷或者說優(yōu)勢的優(yōu)秀方法。

寫了這么多總該有個總結,第一點人對時間的感知是很細密的,很多零點幾秒的動作都能看清,但是零點零幾秒都不行了。

第二點,錄制與播放設備的能力往往是有限,必須要考慮游戲的目標幀數(shù)從而確定最小時間間隔和最大速度。

第三點,人的知覺系統(tǒng)很擅長腦補,所以只需要給一些“臺階”就能把姿態(tài)轉換的過程腦補出來。
