UE4藍圖AI角色製作(四)之Gameplay調試器

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感知文檔頁面中找到這些事件的詳細列表。其地址是:「//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事件。