當前位置: 華文問答 > 遊戲

FPS類遊戲子彈是有飛行時間的嗎?

2020-05-07遊戲

可以有也可以沒有。

沒有的叫做 hitscan,在發射的那一刻進行命中掃描。這時候等同於武器發射了一束雷射,遊戲計算這束雷射穿越了哪些表面來判斷結果。不能穿墻的子彈掃描到墻就結束了,可以穿墻的子彈還要考慮墻後面能掃描到什麽。

對於 hitscan 來說,即使遊戲有動畫顯示子彈飛行的過程,飛行結果也跟命中無關,命中在開槍那一刻已經計算了。如果動畫時間過長,例如說射擊距離非常遠,那會讓人感覺到不真實。

需要計算飛行時間的叫做 projectile,也就是投射物。遊戲需要每一幀都要計算這個投射物飛到哪裏了,是否跟其它物體發生碰撞了。因為飛行過程中其它物體並非完全靜止,所以這不是計算飛行時間,而是模擬飛行過程。

不同遊戲會選擇不同的模式。同一個遊戲不同武器選擇不同方式也很常見。用子彈的武器 hitscan 實作起來很方便,而且符合大家對現實中的子彈預期,打擊感也好。但現實中就飛得慢(不是瞬時完成打擊)的東西,例如說榴彈、火箭炮,做成 hitscan 就很違反直覺,只能做成 projectile。