簡單潛行遊戲視野檢測 Simple Stealth Game Detection

引言

    視野檢測是遊戲開發中的基礎課題,從戰鬥到潛行,進行視野檢測都是十分重要的一門技術。由於我在上班途中,閒閒沒事做了幾張圖,所以順便寫一篇短文來紀錄一下。

視野

    首先,需要一個進行視野檢測第一關的多邊形,一般會被叫做視野錐體。但其實任何類型的碰撞方塊(Collision Shape)都能實現同樣的效果,重要的只是確定玩家是否存在於視野範圍內。只不過,因為圓形或扇形的檢測更快,時間複雜度更低,因此,推薦使用圓形或扇形作為視野錐體的碰撞方塊。



    當玩家的人物在被視野錐體檢測到,視野檢測會進入的第二關。在第二關的視野檢測會發射一個Raycast,以檢測玩家是否被物件阻擋。部份更複雜的3D遊戲會發出多於一個Raycast來檢測,例如玩家的手、腳、軀幹都進行檢測,檢查各部位是否會有被物件阻擋。


結語

    簡單而言,視野檢測有兩關,一、視野錐體的碰撞方塊檢測,二、Raycast的被阻擋檢測,當兩層的檢測都為true了,那代表在視野內。就這樣。

熱門文章