Unity 3D人工智能編程/遊戲開發與設計技術叢書
內容描述
<內容簡介>
本書重點關註如何將人工智能技術應用於Unity3D遊戲項目。書中從有限狀態機開始,接著探討瞭如何為你的遊戲增加一些隨機性,讓遊戲變得更加難以預測,更加有趣。如何在一個遊戲中加入一個感應系統讓遊戲中的角色可以感知周圍的環境,同時使得代碼不會隨著項目規模的擴大變得難以維護。如何將群組行為用於一組移動的對象,這樣可以有效地控制一組移動對象的行為。然後探討瞭如何讓人工智能角色跟隨一條規定的路徑進行移動,在此基礎上,講述瞭如何實現A*尋路算法,以對遊戲引擎的尋路原理有更深一層的理解。緊接著介紹瞭如何在Unity3D中使用導航網格方便快捷地實現尋路。然後講解了當遊戲規模變大,有限狀態機的代碼變得冗長,難以維護時,使用行為樹來解決這個問題,並講解瞭如何在Unity3D中使用Behave這個免費插件來實現行為樹。最後,用一個車輛戰鬥遊戲將本書中提到的大多數知識點融會貫通,應用於最後這個規模稍大的遊戲中。
<章節目錄>
前言第1章 人工智能導論 1.1 人工智能 1.2 遊戲中的人工智能 1.3 人工智能技術 1.3.1 有限狀態機 1.3.2 人工智能中的隨機性和概率 1.3.3 感應器系統 1.3.4 群組、蜂擁和羊群效應 1.3.5 路徑跟隨和引導 1.3.6 A尋路演算法 1.3.7 導航網格 1.3.8 行為樹 1.3.9 運動 1.3.10 Dijkstra演算法 1.4 本章小結第2章 有限狀態機 2.1 玩家的坦克 2.1.1 PlayerTankController類 2.1.2 初始化 2.2 子彈類 2.3 設置航點 2.4 抽象有限狀態機類 2.5 敵方坦克的人工智能 2.5.1 巡邏狀態 2.5.2 追逐狀態 2.5.3 攻擊狀態 2.5.4 死亡狀態 2.6 使用有限狀態機框架 2.6.1 AdvanceFSM類 2.6.2 FSMState類 2.6.3 狀態類 2.6.4 NPCTankController類 2.7 本章小結第3章 隨機性和概率 3.1 隨機性 3.2 概率的定義 3.2.1 獨立與關聯事件 3.2.2 條件概率 3.3 人物個性 3.4 有限狀態機和概率 3.5 動態人工智能 3.6 示例老虎機 3.6.1 隨機老虎機 3.6.2 加權概率 3.7 本章小結第4章 感應器的實現 4.1 基本的感覺系統 4.2 場景設置 4.3 玩家的坦克與切麵
4.3.1 玩家的坦克 4.3.2 切麵 4.4 人工智能角色 4.4.1 感觀 4.4.2 視覺 4.4.3 觸覺 4.5 測試 4.6 本章小結第5章 群組行為 5.1 島嶼示例中的群組行為 5.1.1 個體的行為 5.1.2 控制器 5.2 替代實現 5.3 本章小結第6章 路徑跟隨和引導行為 6.1 跟隨一條路徑 6.1.1 路徑腳本 6.1.2 路徑跟隨 6.2 避開障礙物 6.2.1 添加定製圖層 6.2.2 避開障礙 6.3 本章小結第7章 A尋路演算法 7.1 回顧A*尋路演算法 7.2 實現 7.2.1 Node 7.2.2 PriorityQueue 7.2.3 GridManager 7.2.4 AStar 7.2.5 TestCode類 7.3 場景設置 7.4 測試 7.5 本章小結第8章 導航網格 8.1 簡介 8.2 設置地圖 8.2.1 NavigationStatic 8.2.2 烘焙導航網格 8.2.3 導航網格代理 8.3 有斜坡的場景 8.4 NavMeshLayers 8.5 分離網格鏈接 8.5.1 生成分離網格鏈接 8.5.2 手動生成分離網格鏈接 8.6 本章小結第9章 行為樹 9.1 Behave插件 9.2 工作流 9.3 行為節點 9.4 與腳本的接口
9.5 裝飾節點 9.6 Behave調試器 9.7 順序節點 9.8 探索Behave的結果 9.9 選擇節點 9.10 優先級選擇節點 9.11 並行節點 9.12 引用 9.13 機器人與外星人項目 9.14 本章小結第10章 融會貫通 10.1 場景設置 10.2 車輛 10.2.1 玩家控制的車輛 10.2.2 人工智能車輛控制器 10.2.3 有限狀態機 10.3 武器 10.3.1 槍 10.3.2 子彈 10.3.3 發射器 10.3.4 導彈 10.4 本章小結