-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Unity3D人工智能編程精粹

( 簡體 字)
作者:王洪源、陳慕羿、華宇寧、石征錦類別:1. -> 多媒體 -> 遊戲引擎 -> Unity
譯者:
出版社:清華大學出版社Unity3D人工智能編程精粹 3dWoo書號: 40000
詢問書籍請說出此書號!

缺書
不接受訂購

出版日:10/23/2014
頁數:296
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
不接受訂購
ISBN:9787302379737
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

寫作目的
Unity3D是近幾年非常流行的一個3D游戲開發引擎,已成為手機游戲開發的主要開發工具之一,也用于計算機虛擬現實領域的模擬飛行、模擬射擊、模擬駕駛等技術的開發。手機(或其他平臺)的游戲逐漸高檔化、復雜化,游戲角色也需要具有更高的“智能”。
游戲中角色的AI(人工智能)水平直接決定著游戲的驚險性、刺激性、趣味性,優秀的游戲會使人玩不釋手。在人機對戰的TPS(第三人稱視角射擊游戲)游戲中,為了讓游戲可以被玩家接受,使游戲變得更加有趣,很大程度上要依賴于AI。可以想象,如果敵人角色都只會呆滯地、向前徑直沖進玩家的炮火中,玩家很快就會對此失去興趣而棄之。游戲《半條命》因老練狡猾的敵人“海軍陸戰隊”的AI系統而聞名;《星際爭霸》游戲因廣泛使用了尋路技術而使我們看到了戰場上士兵的編隊移動,現已成為RTS(即時戰略游戲)游戲的潮流。
現在國內出版的Unity3D書籍多為入門級的初級水平讀物,尚無Unity3D游戲人工智能的專門中文書籍,而其專題內容一般只在互聯網“論壇”上出現,卻又缺少系統化詳解。
為此,本書精選了游戲AI中最必要、最實用的幾項關鍵技術,用大量Unity3D示例代碼、圖片,以深入淺出的方式講解游戲人工智能理論、設計原則和Unity3D編程實現方法。每個程序都有詳細的注釋并運行測試通過。程序對Unity3D的版本(3.X/4.X/5.X)依賴性不大。希望本書能給具備初步Unity3D游戲開發編程能力的讀者在創作“更高智能”游戲角色時提供系統地、快捷地幫助。
主要內容
1. 第1章?Unity3D人工智能架構模型
對于游戲中的AI,應該關注的問題是如何讓電腦能像人或動物那樣“感知、決策、移動”,使游戲中的角色看上去像真實的人或動物。為了用Unity3D實現這一目標,使用AI的架構模型來分層次處理運動層、決策層、戰略層的內容,并以此解析了FPS/TPS(第一、三人稱射擊游戲)中各層次的任務分解。
2. 第2章?實現AI角色的自主移動——操控行為
操控行為是指操作控制角色,讓它們能以模擬現實的方式在游戲世界中移動。它的工作方式是通過產生一定大小和方向的操控力,使角色以某種方式運動。操控行為包括一組基本“行為”:使單獨的AI角色靠近或離開目標、在角色接近目標時減速、使捕獵者追逐獵物、使獵物逃離捕獵者、使角色在游戲世界中隨機徘徊、使角色沿著某條預定路徑移動、使角色避開障礙物等行為。
操控組成小隊或群體的多個AI角色(如模擬群鳥飛行)時,需要令其與其他鄰居保持一定的距離、一致的朝向以及靠近其他鄰居等行為。
操控行為優點是:使AI角色看上去很真實;非常易于計算,算法速度快。使用Unity3D提供的開源庫UnitySteer可以快捷實現操控行為。
3. 第3章?找最短路徑并避開障礙物——A*尋路
著名的A*尋路算法在游戲中有著十分廣泛的應用,它可以保證在起點和終點之間找到最佳路徑,在同類算法中效率很高,對于多數路徑尋找問題它是最佳選擇。本章給出了利用操控行為和A*尋路實現RTS中的小隊尋路示例。
然而在實際游戲中,很多時候最短路徑并不是最好的選擇。在人類或坦克等在面對山地、森林等不同通過難度的地形時,在射擊類游戲需要選擇不易受敵人攻擊的路線時,就需要采用戰術尋路。本章給出了利用A* Pathfinding Project插件進行戰術尋路的示例。
4. 第4章?AI角色對游戲世界的感知
當控制游戲角色的移動時,角色需要感知周圍游戲世界的內部信息和外部信息。內部信息包括AI角色自身的生命值、武器、目標和運動狀態等,外部信息包括敵人的位置、救生包位置、戰友的位置及生命值、爆炸聲的來源等。
可以采用輪詢和事件驅動的方式對這些環境信息進行感知,引起相應的觸發器動作,使AI角色做出相應的反應或行動。本章給出AI士兵的綜合感知系統示例。
5. 第5∼6章?角色自主決策——有限狀態機及行為樹
決策系統會對從游戲世界中收集到的各種信息進行處理(包括內部信息,外部信息),從而確定AI角色下一步將要執行的行為。
(1)如果游戲的決策系統不是很復雜,只要利用FSM(有限狀態機)就可以實現。第5章分別給出了用Switch語句實現的FSM和用FSM框架實現的通用的FSM示例。
(2)在處理較大規模的問題時,FSM很難復用、維護和調試。為了讓AI角色的行為能夠滿足游戲的要求,就需要增加很多狀態,并手工轉換大量的編碼,非常容易出現錯誤。行為樹(Behavior Tree)層次清晰,易于模塊化,并且可以利用通用的編輯器簡化編程,簡潔高效。它為我們提供了豐富的流程控制方法,只要定義好一些條件和動作,策劃人員就可以通過簡單地拖曳和設置,來實現復雜的游戲AI。
作者在總結教學經驗中體會到,初學者對行為樹的設計思路理解較為困難,甚至互聯網論壇上也常常看到因為對行為控制流程理解錯誤,導致很大程度上影響了對于行為樹的正確應用。本章用較大篇幅詳解了一個行為樹的示例,一步步詳細分析了它的執行流程,以期使讀者能夠準確掌握行為樹并設計出具有更高“智能”的AI角色。
6. 第7章?AI綜合案例——第三人稱射擊游戲
在本章中給出一個具有較高AI水平的第三人稱射擊游戲示例。其中主要用到了第3章的A*尋路、第6章的行為樹等技術,使“敵人士兵”具有了較高的智能水平,它們可以自主尋找并移動到隱蔽點、躲藏在工事后面、下蹲以減少被玩家擊中的概率、舉槍瞄準玩家、對玩家射擊……這些戰術動作大大增加了游戲的驚險性、趣味性和挑戰性!
適用讀者
(1)對于具有初級開發水平的Unity3D游戲開發愛好者來說,這是一本非常好的AI入門讀物。本書精選了游戲AI中最重要、最實用的幾項關鍵技術,始終圍繞著AI的技術精髓展開,同時用簡單清晰的方式去實現它,讀者可以在自己的計算機上運行示例代碼,模仿書中提供的代碼去快速實現一個“更高智能”的“敵人士兵”或其他AI角色。
(2)對于游戲開發培訓學校的師生來說,本書可作為Unity3D游戲開發的高階教材。本書深入淺出,用實例講解理論性較強的人工智能理論、設計原則以及實現方法。書中配有大量的插圖,重視AI技術論述的條理性,便于組織教學。
(3)本書可作為數字媒體技術、數字媒體藝術等專業的《游戲人工智能》課程教材,計算機科學與技術、自動化專業本科生、研究生的《人工智能》課程教材與實驗參考書。由于一般院校都把《人工智能》作為專業選修課程,而且所使用的教材大多理論推導多、教材內容枯燥,如果以本書組織教學,將會大大提高學生的學習興趣,同時會提高學生的實際編程水平。
(4)對于計算機、虛擬現實技術等相關學科的科研人員而言,本書也很有益處。
游戲人工智能程序必須在有限的計算機硬件資源(CPU速度、內存大小、顯卡性能)下工作,本書的“操控行為”、“A*尋路”、“有限狀態機”、“行為樹”等算法的實時性、高效性有待于更深一步地研究提高。
本書由沈陽理工大學信息科學與工程學院王洪源、陳慕羿、華宇寧、石征錦老師共同著作完成,另外,參與本書編寫工作的還有張驥超、王清鵬、李鑫洋、楊竹、陳鵬艷等碩士研究生。在本書寫作過程中得到了清華大學出版社計算機與信息分社楊如林編輯的大力幫助,在此表示感謝。
作者
內容簡介:

要想開發一款優秀的游戲,人工智能必不可少。本書精選了Unity3D游戲開發中最關鍵、最實用的幾項人工智能關鍵技術,以實例的方式由淺入深地講解了深奧而強大的人工智能技術、設計原則以及編程實現方法,并且對書中的每一個案例都進行了詳細注釋,所有實例均運行測試通過。掌握了書中的技術,可以使游戲角色具有良好的智能,大大增強游戲的可玩性!
本書共分7章:第1章中給出了游戲人工智能的運動層、決策層、戰略層的架構模型,將游戲角色模擬人的感知、決策和移動等問題進行分層處理與實現;第2章講解了多種操控角色自主移動的算法,讓角色在游戲中的運動看起來更真實自然、運算速度更快;第3章采用圖示的方式詳細講解了游戲尋路中最著名的A*尋路技術,并進一步介紹了復雜地形、以及存在敵方火力威脅下的戰術尋路技術;第4章講解了游戲角色感知游戲世界的實現方法。例如,發現敵人的位置、追尋爆炸聲、讓角色具有短期記憶,根據腳印進行追蹤等;第5章∼第6章講解了最常用的決策技術——狀態機與行為樹技術,并對比分析了有限狀態機與行為樹技術在游戲人工智能中的適用范圍。在處理大規模的游戲決策問題時,行為樹克服了有限狀態機的許多缺點,層次清晰、易于發現差錯和調試,能大大減少編程者的負擔;第7章綜合運用了A*尋路、行為樹等技術,給出了一個具有較高人工智能水平的第三人稱射擊游戲實例。
本書能夠將具有初級Unity3D游戲開發水平的讀者引領到奧妙的人工智能領域,幫助讀者創造出驚險、刺激、趣味性強的優秀游戲!
本書適合作為高等院校計算機科學與技術、數字媒體技術、數字媒體藝術等專業本科教材、游戲學院Unity3D游戲開發的高階教材。
對于從事戰場模擬訓練、視景仿真技術等領域的科研人員而言,本書也很有益處。

目錄:

第1章 Unity3D人工智能架構模型·1
1.1 游戲AI的架構模型 3
1.1.1 運動層 4
1.1.2 決策層 4
1.1.3 戰略層 4
1.1.4 AI架構模型的其他部分 5
1.2 FPS/TPS游戲中的AI解析 5
1.2.1 FPS/TPS中的運動層 6
1.2.2 FPS/TPS中的決策層 6
1.2.3 FPS/TPS中的戰略層 7
1.2.4 FPS/TPS中AI架構模型的支撐部分 7
第2章 實現AI角色的自主移動——操控行為·9
2.1 Unity3D操控行為編程的主要基類 11
2.1.1 將AI角色抽象成一個質點——Vehicle類 12
2.1.2 控制AI角色移動——AILocomotion類 14
2.1.3 各種操控行為的基類——Steering類 16
2.2 個體AI角色的操控行為 17
2.2.1 靠近 17
2.2.2 離開 19
2.2.3 抵達 20
2.2.4 追逐 22
2.2.5 逃避 25
2.2.6 隨機徘徊 26
2.2.7 路徑跟隨 29
2.2.8 避開障礙 33
2.3 群體的操控行為 41
2.3.1 組行為 41
2.3.2 檢測附近的AI角色 42
2.3.3 與群中鄰居保持適當距離——分離 44
2.3.4 與群中鄰居朝向一致——隊列 46
2.3.5 成群聚集在一起——聚集 47
2.4 個體與群體的操控行為組合 49
2.5 幾種操控行為的編程解析 51
2.5.1 模擬鳥群飛行 51
2.5.2 多AI角色障礙賽 54
2.5.3 實現動物遷徙中的跟隨領隊行為 56
2.5.4 排隊通過狹窄通道 64
2.6 操控行為的快速實現——使用Unity3D開源庫UnitySteer 72
2.7 操控行為編程的其他問題 75
第3章 尋找最短路徑并避開障礙物——A*尋路·77
3.1 實現A*尋路的3種工作方式 78
3.1.1 基本術語 78
3.1.2 方式1:創建基于單元的導航圖 79
3.1.3 方式2:創建可視點導航圖 80
3.1.4 方式3:創建導航網格 81
3.2 A*尋路算法是如何工作的 83
3.2.1 A*尋路算法的偽代碼 84
3.2.2 用一個實例來完全理解A*尋路算法 86
3.3 用A*算法實現戰術尋路 97
3.4 A* Pathfinding Project插件的使用 100
3.4.1 基本的點到點尋路 100
3.4.2 尋找最近的多個道具(血包、武器、藥等) 106
3.4.3 戰術尋路——避開火力范圍 110
3.4.4 在復雜地形中尋路——多層建筑物中的跨層尋路 116
3.4.5 RTS中的小隊尋路——用操控行為和A*尋路實現 120
3.4.6 使用A* Pathfinding Project插件需要注意的問題 137
3.5 A*尋路的適用性 138
第4章 AI角色對游戲世界的感知·139
4.1 AI角色對環境信息的感知方式 141
4.1.1 輪詢方式 141
4.1.2 事件驅動方式 141
4.1.3 觸發器 142
4.2 常用感知類型的實現 143
4.2.1 所有觸發器的基類——Trigger類 143
4.2.2 所有感知器的基類——Sensor類 145
4.2.3 事件管理器 146
4.2.4 視覺感知 148
4.2.5 聽覺感知 153
4.2.6 觸覺感知 156
4.2.7 記憶感知 157
4.2.8 其他類型的感知——血包、寶物等物品的感知 159
4.3 AI士兵的綜合感知示例 164
4.3.1 游戲場景設置 165
4.3.2 創建AI士兵角色 166
4.3.3 創建玩家角色 176
4.3.4 顯示視覺范圍、聽覺范圍和記憶信息 179
4.3.5 游戲運行結果 182
第5章 AI角色自主決策——有限狀態機·184
5.1 有限狀態機的FSM圖 185
5.1.1 《Pac-Man(吃豆人)》游戲中紅幽靈的FSM圖 185
5.1.2 《QuakeⅡ(雷神2)》中Monster怪獸的有限狀態機 186
5.2 方法1:用Switch語句實現有限狀態機 191
5.2.1 游戲場景設置 192
5.2.2 創建子彈預置體 193
5.2.3 創建敵人AI角色 194
5.2.4 創建玩家角色及運行程序 202
5.3 方法2:用FSM框架實現通用的有限狀態機 205
5.3.1 FSM框架 205
5.3.2 FSMState類——AI狀態的基類 206
5.3.3 AdvancedFSM類——管理所有的狀態類 210
5.3.4 PatrolState類——AI角色的巡邏狀態 213
5.3.5 ChaseState類——AI角色的追逐狀態 215
5.3.6 AttackState類——AI角色的攻擊狀態 217
5.3.7 DeadState類——AI角色的死亡狀態 218
5.3.8 AIController類——創建有限狀態機,控制AI角色的行為 219
5.3.9 游戲場景設置 223
第6章 AI角色的復雜決策——行為樹·224
6.1 行為樹技術原理 226
6.1.1 行為樹基本術語 226
6.1.2 行為樹中的葉節點 227
6.1.3 行為樹中的組合節點 227
6.1.4 子樹的復用 232
6.1.5 使用行為樹與有限狀態機的權衡 233
6.1.6 行為樹執行時的協同(Coroutine) 233
6.2 行為樹設計示例 236
6.2.1 示例1:有限狀態機/行為樹的轉換 236
6.2.2 示例2:帶隨機節點的戰斗AI角色行為樹 237
6.2.3 示例3:足球球員的AI行為樹 238
6.3 行為樹的執行流程解析——陣地軍旗爭奪戰 239
6.3.1 軍旗爭奪戰行為樹 239
6.3.2 軍旗爭奪戰的行為樹遍歷過程詳解 240
6.4 使用React插件快速創建敵人AI士兵行為樹 248
6.4.1 游戲場景設置 249
6.4.2 創建行為樹 249
6.4.3 編寫腳本實現行為樹 253
6.4.4 創建敵人AI士兵角色 256
6.4.5 創建玩家角色及運行程序 257
第7章 AI綜合示例——第三人稱射擊游戲·258
7.1 TPS游戲示例總體設計 258
7.1.1 TPS游戲示例概述 258
7.1.2 敵人AI角色行為樹設計 259
7.2 TPS游戲示例場景的創建 261
7.2.1 游戲場景設置 261
7.2.2 隱蔽點設置 261
7.3 為子彈和武器編寫腳本 262
7.3.1 創建子彈預置體 262
7.3.2 為M4槍編寫腳本 265
7.4 創建玩家角色 268
7.5 創建第三人稱相機 274
7.6 創建敵人AI士兵角色 278
7.6.1 用React插件畫出行為樹 278
7.6.2 為行為樹編寫代碼 280
7.6.3 敵人AI士兵角色控制腳本 291
7.7 創建GUI用戶界面 297
7.8 游戲截圖 298
參考文獻·301
序: