UE4藍圖AI角色製作(四)之Gameplay偵錯程式

achevery發表於2021-10-20

8、 尋路網格體和Gameplay偵錯程式

為了及時識別出AI系統中的導航問題,UE4提供了一個工具用來解決這類問題,它叫Gameplay偵錯程式。開啟專案設定,在左側找到“引擎”,然後找到“Gameplay debugger”。檢視“輸入分段”,檢查啟用鍵有沒有繫結。記住繫結的鍵盤鍵,然後播放遊戲,通過快捷鍵開啟“Gameplay debugger”,然後看向AI所在的位置,在螢幕上會出現許多資訊並在不斷更新。按“shift+F1”會出現游標,點選暫停,我們可以仔細看顯示的引數。在左上方,我們可以看到一個列表,提示我們可以按哪些鍵來顯示Gameplay偵錯程式中的各種功能,它可以告訴我們Gameplay偵錯程式繫結了哪個鍵。表下面是偵錯程式最重要的幾個功能,導航網格體、AI、行為樹、EQS和感知。繼續播放,按“Tab”鍵可以進入旁觀者模式。

 

其中,數字鍵0對應著左上角資訊中導航網格體資訊的展示或關閉,數字鍵1對應著AI相關的資訊,數字鍵2對應著行為樹資訊。

9、AI感知原理

在本模組中,我們將對AI感知系統一探究竟,瞭解如何將它們整合到AI中,以及系統中的各個部分如何幫助AI感知整個環境。我們還將瞭解這些部分如何通過藍圖程式碼傳遞它們的資訊。

虛幻引擎提供了一個AI感知系統,它能控制Actor的感知內容和能夠感知到的場景區域。AI感知系統中有兩個關鍵元件,分別是AI感知元件和AI感知刺激源。AI感知刺激源元件將決定Actor擁有哪些“可感知”屬性,而AI感知元件則決定哪些感官可以使用或者被感知到。  AI感知元件這個元件允許我們設定感知系統可以使用哪些感官或“看到”哪些內容。同一個元件中可以新增多種感官。此外,在確定被感知Actor的位置時,你可以通過“主導感官”屬性指定優先使用哪種感官進行感知。例如,在視訊遊戲中,你可能會希望“視覺”優先於“聽覺”。

 

AI感知刺激源:為Actor新增這個元件將決定AI感知系統會註冊哪些感官。例如,假如你將某個AI感知刺激源設定為只對視覺產生刺激,那麼擁有視覺感官的AI就會感知到這個刺激源Actor。單個元件可以註冊多個刺激。

事件和刺激:在確定了場景中會生成哪些Actor作為刺激源後,AI就需要針對這些資訊進行思考,並考慮基於它們感知到的資訊可能要採取哪些行動。為此,你需要使用On Target Perception Updated事件。這個事件會通過AIStimulus結構體為我們提供有關被感知刺激源的實用資訊。此外在專案中,你還會找到許多其他有用的感知事件。你可以在AI感知文件頁面中找到這些事件的詳細列表。其地址是:“https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/AIPerception/index.html”。

AI的感知方式:1、確認來源和刺激源:為了讓AI感知到物件,場景中的物件需要新增刺激源元件。2、為了讓AI角色感知到刺激,我們腰圍AI新增一個AI感知元件。如果某個Actor要成為刺激源,它就必須被賦予一個AI感知刺激源元件。3、感知刺激:如果我們在玩家的AI感知元件中新增“視覺”感官,那麼當AI角色看到玩家角色時,它就會檢查AI感知元件。如果玩家角色擁有可以被感知的刺激,並且該刺激在AI感知元件中是有效的,那麼玩家就會觸發AI角色中的On Target Perception Updated事件。

相關文章