1. 程式人生 > 其它 >UE4藍圖AI角色製作(五)之建立AI感知

UE4藍圖AI角色製作(五)之建立AI感知

建立AI感知、AI感知和Gameplay偵錯程式

10、建立AI感知

在介紹完理論知識後,我們將為AI角色新增一個AI感知元件,首先,我們將設定第一種感受——視覺,接著,我們會把玩家角色標記成AI能夠感知的物件,為此,我們將為角色新增一個刺激源元件。

首先為AI角色新增一個AI感知元件,在內容瀏覽器中開啟“AI ThirdPersonCharacter”,找到左上角的元件面板,選擇“新增元件”,然後輸入“AI感知”直至在下拉選單中看到它,選中它,然後找到右側的細節面板。在細節面板的“AI感知”分段中,找到“感官配置”,當前是一個空陣列。這意味著預設狀態AI不會有任何感官。點選加號圖示,在陣列中新增一個元素,並在下拉選單中選擇“AI視力配置”,現在AI就獲得了一種感官。展開這個分段,然後展開“感官”分段,檢視感官配置的全部細節。“視線半徑”定義了AI能夠感知到目標的距離;“失去視線半徑”則定義了檢視已被看到的目標的最大視線距離;底部是“次要視覺半形角度”定義了AI視線相對於AI本身正向向量的錐角。暫時我們無法定義目標是敵人、中立單位或是敵方,所以直接勾選“檢測中立方”選項。之後在配置玩家時,它會被正確地識別為中立。

接下來,我們需要將玩家角色標記為刺激源,這樣AI就可以在場景中看到玩家。首先在內容瀏覽器中開啟第三人稱玩家,在元件面板中點選“新增元件”按鈕,輸入“AI感知刺激源”,新增元件後,選中它。在右側細節面板中,在“AI感知”分段中,勾選“自動註冊為源”。現在我們需要確定其為正確的感官註冊源。在感官註冊源中新增一個元素,在下拉選單中選擇“AISense_Sight”。

11、AI感知和Gameplay偵錯程式

在這一部分,為了更好觀察AI角色,需要將AI角色靜止,這隻需在其藍圖中,使用“Alt+左鍵”將事件“Beginplay”連線的線取消即可。記得編譯。在播放遊戲前,我們最好禁止臨時抗鋸齒,這是因為TAA工作時會把若干幀混合在一起,這樣單畫素線條,例如我們即將看到的除錯線條會很難看到。找到“專案設定”中“渲染”,“預設設定”,然後找到“抗鋸齒方法”,在下拉選單中從“臨時抗鋸齒”改為無。

現在我們播放遊戲,啟用Gameplay偵錯程式,按1和2數字鍵取消行為樹和AI相關資訊,按5來顯示感知資訊,如圖所示,如果玩家周圍出現繪製的球體,則說明此時玩家可以被AI觀察到。資訊“視線”是1表示完全可見;“age”表示感知資料的年齡,其值為0表示是最新的資訊。

按“Tab”鍵進入旁觀者模式,拉開距離如圖可以看到綠色和粉色的邊界線,說明AI角色的感知距離過大,不合適。我們可以調整視覺感官的引數,讓他更加符合當前的場景大小。回到AI角色的感官配置,大幅降低內測和外側的範圍。