Bot怪AI

UC中只有一種怪Bot,這是一種很簡單的怪,它不會跑,只會旋轉並原地射擊,因此也沒有用什麼行爲樹之類的,因此這裏圍繞Bot怪如何發現玩家、攻擊玩家、被玩家攻擊分析Bot怪編輯器

image

1 當遊戲開始時

能夠看到在編輯器時Bot怪是沒有帶武器的,是在遊戲開始是把武器刷出來,放在手上的動畫

image

2. 發現玩家

當遊戲開始時,Bot怪就啓動了一個0.5秒的定時器,執行CheckForPlayer去掃玩家,3d

image

CheckForPlayer實現是簡單的,就是計算Bot怪的頭與玩家的Camero的距離,若是小於一個值,就認爲是發現玩家了,而後計算出Bot怪的旋轉量,爲何要計算這個旋轉量,由於Bot怪的視野,也就是玩家與Bot怪之間造成的夾角不能小於31度,不然Bot怪就無視玩家了blog

image

imageimageimage

3攻擊玩家

攻擊玩家是Bot怪AI最有趣的部分,整體邏輯來講,Bot怪的Update(Tick)事件裏,會一直檢查是否發現了玩家,若是是就會一真調整本身的方向,使本身與玩家的夾角大於31度,而後會設置一個很重要的變量HasLOS,這個變量會改變Bot怪動畫BP裏的狀態機由Idel轉向Shoot,而後播放Shoot動畫,Shoot動畫會有一個Notify,通知Bot怪射擊遊戲

image

image

Shotting動畫裏的Notify事件

image當播放到SpawnProjectile這一幀時,就會觸發Bot怪射擊了get

image這時就調用武器射擊it

3Bot怪被刀劃

image

Bot怪被刀劃後,HitPoints-2,在擊中位置刷一個血污效果,而且給它一個衝力,而後怪就死亡了,變量

image

4. 被子彈擊中

imageimageimage

 

-----------轉載請標明出處date

相關文章
相關標籤/搜索