熟悉第一人稱射擊FPS的玩家,或多或少會了解光線投射Ray Casting技術(shù),這是一種將槍口發(fā)射出去的射線當成子彈軌跡,與其相交的第一個對象即為命中目標。基于這種技術(shù)的算法被稱為命中掃描Hitscan,沒有子彈飛行時間,沒有子彈拋物線。
在虛擬的游戲世界中,F(xiàn)PS往往追求的是高效、快節(jié)奏,因此這套算法時至今日仍然被《彩虹六號:圍攻》的部分武器沿用。這一次,就讓我們用一種名為NVIDIA Reflex特別的技巧,《彩虹六號:圍攻》是如何讓子彈變快,甚至變準的。
Hitscan被忽略的特性
其實命中掃描Hitscan算法未必是偷懶,它恰好符合了FPS的快節(jié)奏需求,并且節(jié)省了大量的內(nèi)存和處理時間構(gòu)建物理對象,特別是多人在線游戲中,網(wǎng)絡(luò)資源占比也更少。3D游戲祖師級人物約翰·卡馬克就是使用命中掃描Hitscan的一把好手,無論是《DOOM》還是《德軍總部》系列,這套算法都幫助游戲奠定了快節(jié)奏的基調(diào)。
但命中掃描Hitscan并非完美,由于沒有子彈飛行時間,也不受重力影響,在按下鼠標之后,如果子彈與目標在一條直線上,且沒有遮擋物,那么游戲會即刻判定擊殺。
是的,在游戲中,子彈的速度其實比光速還快!
而對于FPS玩家而言,想在競技游戲中提升勝率,基本技能必須要有。比如甩槍動作,在射擊的一瞬間滑動鼠標,盡可能讓子彈命中面積更大。再比如提升游戲幀率和顯示器刷新率,早年玩FPS游戲玩家,游戲設(shè)置也是一把好手,甚至?xí)ㄟ^游戲中的命令行即刻調(diào)用不同的參數(shù)。
這個上古畫面相比已經(jīng)很陌生了
提升游戲幀率和顯示器刷新率,能夠在單位時間內(nèi)獲得更多信息,從而提升點擊鼠標之后命中率無疑是個有效的方式。但你有沒有想過,當你擁一個每秒鐘可以渲染10000FPS的GPU,但系統(tǒng)響應(yīng)慢了一拍,1秒后才能完全顯示在屏幕上。
說再簡單一些,如果在10000幀中,在第10000幀正是你按下鼠標命中敵人的關(guān)鍵幀,那么對手將有9999幀的機會躲過你的子彈,最終讓你錯過最佳的擊殺時機。
由此可見,提高刷新率,抓住關(guān)鍵幀,縮減系統(tǒng)延遲,放棄不必要的幀率變得多么重要。
到自助洗車店,品百態(tài)人生。
GHS還是第一生產(chǎn)力
網(wǎng)絡(luò)炫富的上半場已經(jīng)過去,現(xiàn)在到來的是賽博哭窮下一階段。