RPG游戲中普通攻擊的判定
2022-08-18 15:51 作者:游戲開發(fā)RAIN | 我要投稿
在一個(gè)游戲里面,最重要的要數(shù)那些算法了。比如追擊AI算法,尋路算法。一個(gè)優(yōu)質(zhì)的算法能讓你的游戲體驗(yàn)更好。
那么在RPG游戲里面,我們玩家角色的普攻一般情況下,如果選擇的人物是那種劍士職業(yè)的(這里打個(gè)比方),那么我們應(yīng)該讓他的普攻具有群體效果。
就像DNF鬼劍士那樣,只要在自己前方一定的范圍和角度內(nèi),就會(huì)全部被攻擊。
那么這個(gè)算法具體應(yīng)該怎么實(shí)現(xiàn)呢?我們需要一個(gè)一個(gè)問題的解決。先看下效果圖吧:
?


。
首先,我們先計(jì)算攻擊范圍,就是在我攻擊范圍內(nèi)過后,再才有怪物是不是在我面前。
普攻邏輯:首先需要一個(gè)集合來保存所有需要被攻擊的怪物。然后我們先遍歷場(chǎng)上所有怪物,然后再判斷距離及角度。
把符合條件的放入集合,然后遍歷集合,一次調(diào)受傷函數(shù)就可以了。具體的怎么判斷距離和角度呢?
這個(gè)很簡(jiǎn)單,需要用到unity自帶的函數(shù)Vector3.Distance和Vector3.Angle;代碼如下:

代碼中都有注釋,問題應(yīng)該不大。
這里爆炸力說一下,因?yàn)槲覍懥艘粋€(gè)范圍攻擊,希望它有擊退和擊飛效果。所以用了剛體的爆炸力函數(shù)。效果還是可以的。
以上就是攻擊判斷的內(nèi)容了。
標(biāo)簽: