內容簡介
要想開發一款優秀的遊戲,人工智能必不可少。
《Unity3D人工智能編程精粹》精選瞭Unity3D遊戲開發中最關鍵、最實用的幾項人工智能關鍵技術,以實例的方式由淺入深地講解瞭深奧而強大的人工智能技術、設計原則以及編程實現方法,並且對書中的每一個案例都進行瞭詳細注釋,所有實例均運行測試通過。掌握瞭書中的技術,可以使遊戲角色具有良好的智能,大大增強遊戲的可玩性!
《Unity3D人工智能編程精粹》共分7章:第1章中給齣瞭遊戲人工智能的運動層、決策層、戰略層的架構模型,將遊戲角色模擬人的感知、決策和移動等問題進行分層處理與實現;第2章講解瞭多種操控角色自主移動的算法,讓角色在遊戲中的運動看起來更真實自然、運算速度更快;第3章采用圖示的方式詳細講解瞭遊戲尋路中著名的A*尋路技術,並進一步介紹瞭復雜地形、以及存在敵方火力威脅下的戰術尋路技術;第4章講解瞭遊戲角色感知遊戲世界的實現方法。例如,發現敵人的位置、追尋爆炸聲、讓角色具有短期記憶,根據腳印進行追蹤等;第5章~第6章講解瞭最常用的決策技術——狀態機與行為樹技術,並對比分析瞭有限狀態機與行為樹技術在遊戲人工智能中的適用範圍。在處理大規模的遊戲決策問題時,行為樹剋服瞭有限狀態機的許多缺點,層次清晰、易於發現差錯和調試,能大大減少編程者的負擔;第7章綜閤運用瞭A*尋路、行為樹等技術,給齣瞭一個具有較高人工智能水平的第三人稱射擊遊戲實例。
內頁插圖
目錄
第1章 Unity3D人工智能架構模型
1.1 遊戲AI的架構模型
1.1.1 運動層
1.1.2 決策層
1.1.3 戰略層
1.1.4 AI架構模型的其他部分
1.2 FPS/TPS遊戲中的AI解析
1.2.1 FPS/TPS中的運動層
1.2.2 FPS/TPS中的決策層
1.2.3 FPS/TPS中的戰略層
1.2.4 FPS/TPS中AI架構模型的支撐部分
第2章 實現AI角色的自主移動——操控行為
2.1 Unity3D操控行為編程的主要基類
2.1.1 將AI角色抽象成一個質點——Vehicle類
2.1.2 控製AI角色移動——AILocomotion類
2.1.3 各種操控行為的基類——Steering類
2.2 個體AI角色的操控行為
2.2.1 靠近
2.2.2 離開
2.2.3 抵達
2.2.4 追逐
2.2.5 逃避
2.2.6 隨機徘徊
2.2.7 路徑跟隨
2.2.8 避開障礙
2.3 群體的操控行為
2.3.1 組行為
2.3.2 檢測附近的AI角色
2.3.3 與群中鄰居保持適當距離——分離
2.3.4 與群中鄰居朝嚮一緻——隊列
2.3.5 成群聚集在一起——聚集
2.4 個體與群體的操控行為組閤
2.5 幾種操控行為的編程解析
2.5.1 模擬鳥群飛行
2.5.2 多AI角色障礙賽
2.5.3 實現動物遷徙中的跟隨領隊行為
2.5.4 排隊通過狹窄通道
2.6 操控行為的快速實現——使用Unity3D開源庫UnitySteer
2.7 操控行為編程的其他問題
第3章 尋找最短路徑並避開障礙物——A*尋路
3.1 實現A*尋路的3種工作方式
3.1.1 基本術語
3.1.2 方式1:創建基於單元的導航圖
3.1.3 方式2:創建可視點導航圖
3.1.4 方式3:創建導航網格
3.2 A*尋路算法是如何工作的
3.2.1 A*尋路算法的僞代碼
3.2.2 用一個實例來完全理解A*尋路算法
3.3 用A*算法實現戰術尋路
3.4 A*PathfindingProject插件的使用
3.4.1 基本的點到點尋路
3.4.2 尋找最近的多個道具(血包、武器、藥等)
3.4.3 戰術尋路——避開火力範圍
3.4.4 在復雜地形中尋路——多層建築物中的跨層尋路
3.4.5 RTS中的小隊尋路——用操控行為和A*尋路實現
3.4.6 使用A*PathfindingProject插件需要注意的問題
3.5 A*尋路的適用性
第4章 AI角色對遊戲世界的感知
4.1 AI角色對環境信息的感知方式
4.1.1 輪詢方式
4.1.2 事件驅動方式
4.1.3 觸發器
4.2 常用感知類型的實現
4.2.1 所有觸發器的基類——Trigger類
4.2.2 所有感知器的基類——Sensor類
4.2.3 事件管理器
4.2.4 視覺感知
4.2.5 聽覺感知
4.2.6 觸覺感知
4.2.7 記憶感知
4.2.8 其他類型的感知——血包、寶物等物品的感知
4.3 AI士兵的綜閤感知示例
4.3.1 遊戲場景設置
4.3.2 創建AI士兵角色
4.3.3 創建玩傢角色
4.3.4 顯示視覺範圍、聽覺範圍和記憶信息
4.3.5 遊戲運行結果
第5章 AI角色自主決策——有限狀態機
5.1 有限狀態機的FSM圖
5.1.1 《Pac-Man(吃豆人)》遊戲中紅幽靈的FSM圖
5.1.2 《QuakeⅡ(雷神2)》中Monster怪獸的有限狀態機
5.2 方法1:用Switch語句實現有限狀態機
5.2.1 遊戲場景設置
5.2.2 創建子彈預置體
5.2.3 創建敵人AI角色
5.2.4 創建玩傢角色及運行程序
5.3 方法2:用FSM框架實現通用的有限狀態機
5.3.1 FSM框架
5.3.2 FSMState類——AI狀態的基類
5.3.3 AdvancedFSM類——管理所有的狀態類
5.3.4 PatrolState類——AI角色的巡邏狀態
5.3.5 ChaseState類——AI角色的追逐狀態
5.3.6 AttackState類——AI角色的攻擊狀態
5.3.7 DeadState類——AI角色的死亡狀態
5.3.8 AIController類——創建有限狀態機,控製AI角色的行為
5.3.9 遊戲場景設置
第6章 AI角色的復雜決策——行為樹
6.1 行為樹技術原理
6.1.1 行為樹基本術語
6.1.2 行為樹中的葉節點
6.1.3 行為樹中的組閤節點
6.1.4 子樹的復用
6.1.5 使用行為樹與有限狀態機的權衡
6.1.6 行為樹執行時的協同(Coroutine)
6.2 行為樹設計示例
6.2.1 示例1:有限狀態機/行為樹的轉換
6.2.2 示例2:帶隨機節點的戰鬥AI角色行為樹
6.2.3 示例3:足球球員的AI行為樹
6.3 行為樹的執行流程解析——陣地軍旗爭奪戰
6.3.1 軍旗爭奪戰行為樹
6.3.2 軍旗爭奪戰的行為樹遍曆過程詳解
6.4 使用React插件快速創建敵人AI士兵行為樹
6.4.1 遊戲場景設置
6.4.2 創建行為樹
6.4.3 編寫腳本實現行為樹
6.4.4 創建敵人AI士兵角色
6.4.5 創建玩傢角色及運行程序
第7章 AI綜閤示例——第三人稱射擊遊戲
7.1 TPS遊戲示例總體設計
7.1.1 TPS遊戲示例概述
7.1.2 敵人AI角色行為樹設計
7.2 TPS遊戲示例場景的創建
7.2.1 遊戲場景設置
7.2.2 隱蔽點設置
7.3 為子彈和武器編寫腳本
7.3.1 創建子彈預置體
7.3.2 為M4槍編寫腳本
7.4 創建玩傢角色
7.5 創建第三人稱相機
7.6 創建敵人AI士兵角色
7.6.1 用React插件畫齣行為樹
7.6.2 為行為樹編寫代碼
7.6.3 敵人AI士兵角色控製腳本
7.7 創建GUI用戶界麵
7.8 遊戲截圖
參考文獻
前言/序言
Unity3D人工智能編程精粹 下載 mobi epub pdf txt 電子書