Unity 和 C# 游戲編程入門, 5/e (Learning C# by Developing Games with Unity 2020 : An enjoyable and intuitive approach to getting started with C# programming and Unity, 5/e)

Unity 和 C# 游戲編程入門, 5/e (Learning C# by Developing Games with Unity 2020 : An enjoyable and intuitive approach to getting started with C# programming and Unity, 5/e)

作者: [美]哈里森·費隆(Harrison Ferrone) 王冬 殷崇英 譯
出版社: 清華大學
出版在: 2022-04-01
ISBN-13: 9787302602101
ISBN-10: 7302602107
裝訂格式: 平裝
總頁數: 316 頁





內容描述


主要內容: ●通過簡單易懂的步驟和示例學習C#基礎編程 ●掌握如何在L Jnity中創建和應用腳本 ●用C#實現諸如角色控制和射擊等基本游戲機制 ●理解接口與抽象類的概念 ●利用**版C#的強大功能解決復雜的編程問題 ●熟悉堆棧、隊列、異常、錯誤處理等其他C#核心概念 ●探索游戲中人工智能( AI )的基礎知識並將其應用於 控制敵人行為


目錄大綱


目    錄
 
第1章瞭解開發環境 .............................................................................1 
1.1 技術要求 ................................................................................................. 2 
1.2 Unity 2020入門 ..................................................................................... 2 
1.2.1 使用 macOS....................................................................................................7 
1.2.2 創建一個新項目 .............................................................................................9 
1.2.3 瀏覽編輯器 .................................................................................................. 10 
1.3 在 Unity中使用 C# ............................................................................. 12 
1.3.1 使用 C#腳本................................................................................................ 12 
1.3.2 Visual Studio編輯器介紹 ........................................................................... 14 
1.3.3 同步 C#文件................................................................................................ 16 
1.4 探討技術文檔 ...................................................................................... 17 
1.4.1 訪問 Unity的技術文檔 .............................................................................. 17 
1.4.2 查找 C#資源................................................................................................ 19 
1.5 本章小結 ............................................................................................... 21 
1.6 小測驗——關於腳本 ........................................................................... 21 
第2章編程的構成要素 ........................................................................22 
2.1 變量的定義 ........................................................................................... 23 
2.1.1 變量的名稱很重要 ..................................................................................... 24 
2.1.2 變量充當占位符 .......................................................................................... 24 
2.2 瞭解方法 ............................................................................................... 27 
2.2.1 方法驅動行為 .............................................................................................. 28 
2.2.2 方法也是占位符 .......................................................................................... 28 
2.3 介紹類 ................................................................................................... 30 
2.3.1 一個常用的 Unity類 .................................................................................. 31 
2.3.2 類就像藍圖 .................................................................................................. 31 
2.4 使用註釋 ............................................................................................... 32 
2.4.1 實用的反斜杠 .............................................................................................. 33 
2.4.2 多行註釋 ...................................................................................................... 33 
2.5 將基礎模塊整合在一起 ...................................................................... 34 
2.5.1 腳本成為組件 .............................................................................................. 35 
2.5.2 來自 MonoBehavior的助力....................................................................... 36 
2.6 類之間的通信 ...................................................................................... 37 
2.7 本章小結 ............................................................................................... 38 
2.8 小測驗 —— C#的構成要素 ................................................................ 38 
第3章深入研究變量、類型和方法 .....................................................39 
3.1 編寫符合規範的 C#代碼 .................................................................... 40 
3.2 調試代碼 ............................................................................................... 41 
3.3 聲明變量 ............................................................................................... 42 
3.3.1 同時聲明類型和值 ..................................................................................... 43 
3.3.2 僅聲明類型 .................................................................................................. 43 
3.4 使用訪問修飾符 .................................................................................. 44 
3.5 瞭解數據類型 ...................................................................................... 46 
3.5.1 通用內置類型 .............................................................................................. 46 
3.5.2 類型轉換 ...................................................................................................... 49 
3.5.3 推斷式聲明 .................................................................................................. 50 
3.5.4 自定義類型 .................................................................................................. 51 
3.5.5 類型綜述 ...................................................................................................... 51 
3.6 命名變量 ............................................................................................... 52 
3.7 瞭解變量的作用域 .............................................................................. 53 
3.8 運算符 ................................................................................................... 54 
3.9 定義方法 ............................................................................................... 57 
3.9.1 基本語法 ...................................................................................................... 57 
3.9.2 修飾符和參數 .............................................................................................. 58 
3.10 指定參數............................................................................................. 61 
3.11指定返回值 ......................................................................................... 63 
3.12 剖析常見的 Unity方法..................................................................... 66 
3.12.1 Start( )方法................................................................................................. 67 
3.12.2 Update( )方法............................................................................................. 67 
3.13 本章小結............................................................................................. 68 
3.14 小測驗——變量和方法 ................................................................... 69 
第4章控制流和集合類型 ....................................................................70 
4.1 選擇語句 ............................................................................................... 71 
4.1.1 if-else語句................................................................................................... 71 
4.1.2 switch語句................................................................................................... 80 
4.1.3 小測驗 —— if語句與邏輯運算符 ............................................................84 
4.2 初識集合 ............................................................................................... 84 
4.2.1 數組 .............................................................................................................. 85 
4.2.2 列表 .............................................................................................................. 87 
4.2.3 字典 .............................................................................................................. 90 
4.2.4 小測驗——集合 .......................................................................................... 94 
4.3 迭代語句 ............................................................................................... 94 
4.3.1 for循環 ........................................................................................................ 94 
4.3.2 foreach循環................................................................................................. 97 
4.3.3 while循環.................................................................................................... 99 
4.3.4 超越無限 ....................................................................................................101 
4.4 本章小結 ............................................................................................. 102 
第5章類、結構體和 OOP ................................................................103 
5.1 定義類 ................................................................................................. 104 
5.1.1 基本語法 ....................................................................................................104 
5.1.2 實例化類對象 ............................................................................................105 
5.1.3 添加類字段 ................................................................................................106 
5.1.4 使用構造函數 ............................................................................................107 
5.1.5 聲明類方法 ................................................................................................110 
5.2 聲明結構體 ......................................................................................... 112 
5.3 理解引用和值類型 ............................................................................ 114 
5.3.1 引用類型 ....................................................................................................115 
5.3.2 值類型 ........................................................................................................116 
5.4 植入面向對象的思維 ........................................................................ 118 
5.4.1 封裝 ............................................................................................................118 
5.4.2 繼承 ............................................................................................................120 
5.4.3 組合 ............................................................................................................122 
5.4.4 多態 ............................................................................................................123 
5.4.5 面向對象編程綜述 ...................................................................................124 
5.5 在 Unity中應用面向對象編程 ......................................................... 125 
5.5.1 對象是類的行為 ........................................................................................125 
5.5.2 訪問組件 ....................................................................................................126 
5.6 本章小結 ............................................................................................. 131 
5.7 小測驗 —— OOP的相關內容 .......................................................... 132 
第6章親手實踐 Unity........................................................................133 
6.1 游戲設計入門 .................................................................................... 134 
6.1.1 游戲設計文檔 ............................................................................................134 
6.1.2 Hero Born游戲單頁文檔 .........................................................................135 
6.2 構建關卡 ............................................................................................. 136 
6.2.1 創建原始對象 ............................................................................................136 
6.2.2 用 3D思維思考 .........................................................................................138 
6.2.3 材質 ............................................................................................................140 
6.2.4 白盒 ............................................................................................................142 
6.3 光照基礎 ............................................................................................. 151 
6.3.1 創建光源 ....................................................................................................152 
6.3.2 Light組件屬性 ..........................................................................................153 
6.4 在 Unity中製作動畫 ......................................................................... 154 
6.4.1 創建動畫剪輯 ............................................................................................154 
6.4.2 錄制關鍵幀 ................................................................................................157 
6.4.3 曲線和切線 ................................................................................................159 
6.5 粒子系統 ............................................................................................. 162 
6.6 本章小結 ............................................................................................. 164 
6.7 小測驗 —— Unity基本功能 ............................................................. 164 
第7章角色移動、攝像機以及碰撞 ...................................................165 
7.1 角色移動 ............................................................................................. 166 
7.1.1 玩家設置 ....................................................................................................167 
7.1.2 理解向量 ....................................................................................................168 
7.1.3 獲取玩家輸入 ............................................................................................170 
7.2 添加攝像機跟隨 ................................................................................ 174 
7.3 使用 Unity物理系統 ......................................................................... 177 
7.3.1 剛體運動 ....................................................................................................179 
7.3.2 碰撞體和碰撞 ............................................................................................183 
7.3.3 使用碰撞體觸發器 ...................................................................................187 
7.3.4 物理系統綜述 ............................................................................................191 
7.4 本章小結 ............................................................................................. 192 
7.5 小測驗 ——玩家控制和物理系統 ................................................... 192 
第8章游戲機制腳本編寫 ..................................................................193 
8.1 添加跳躍 ............................................................................................. 194 
8.1.1 介紹枚舉 ....................................................................................................194 
8.1.2 使用層遮罩 ................................................................................................198 
8.2 發射子彈 ............................................................................................. 203 
8.2.1 實例化對象 ................................................................................................203 
8.2.2 管理游戲對象的堆積 ...............................................................................208 
8.3 創建游戲管理器 ................................................................................ 209 
8.3.1 追蹤玩家屬性 ............................................................................................209 
8.3.2 get和 set屬性............................................................................................211 
8.4  游戲的收尾打磨 ................................................................................ 216 
GUI.............................................................................................................216
8.4.1 
8.4.2 勝負條件 ....................................................................................................220 
8.4.3 使用指令和命名空間 ...............................................................................222 
8.5 本章小結 ............................................................................................. 225 
8.6 小測驗 ——游戲機制 ....................................................................... 226 
第9章 AI基礎與敵人行為 .................................................................227 
9.1 Unity導航系統 .................................................................................. 228 
9.2 移動敵人代理 .................................................................................... 231 
9.3 敵人游戲機制 .................................................................................... 240 
9.4 重構並保持“ DRY”........................................................................ 248 
9.5 本章小結 ............................................................................................. 250 
9.6 小測驗 —— AI和導航...................................................................... 250 
第10章 再談類型、方法和類 ............................................................251 
10.1 再談訪問修飾符 .............................................................................. 252 
10.1.1 常量和只讀屬性 ...................................................................................252 
10.1.2 使用 static關鍵字 .................................................................................253 
10.2 再談方法........................................................................................... 255 
10.2.1 方法重載 ...............................................................................................255 
10.2.2 ref參數..................................................................................................257 
10.2.3 out參數 .................................................................................................260 
10.3 再談面向對象 .................................................................................. 260 
10.3.1 接口 .......................................................................................................261 
10.3.2 抽象類 ...................................................................................................264 
10.3.3 類的擴展 ...............................................................................................266 
10.4 再談命名空間 .................................................................................. 269 
10.5 本章小結........................................................................................... 270 
10.6 小測驗——升級 .............................................................................. 270 
第11章棧、隊列和 HashSet ............................................................271 
11.1棧 ....................................................................................................... 272 
11.1.1 基本語法 ...............................................................................................272 
11.1.2 出棧和查看棧頂 ...................................................................................274 
11.1.3 常用方法 ...............................................................................................276 
11.2隊列 ................................................................................................... 278 
11.2.1 基本語法 ...............................................................................................278 
11.2.2 添加、刪除和查看 ...............................................................................279 
11.2.3 常用方法 ...............................................................................................279 
11.3使用 HashSet .................................................................................... 280 
11.3.1 基本語法 ...............................................................................................280 
11.3.2 執行集合運算 .......................................................................................281 
11.4本章小結 ........................................................................................... 283 
11.5小測驗 ——中級集合 ...................................................................... 283 
第12章探索泛型、委托等 ................................................................284 
12.1 泛型................................................................................................... 284 
12.1.1 泛型對象 ...............................................................................................285 
12.1.2 泛型方法 ...............................................................................................287 
12.1.3 約束類型參數 .......................................................................................290 
12.2 委托行為........................................................................................... 291 
12.2.1 基本語法 ...............................................................................................291 
12.2.2 將委托作為參數類型 ...........................................................................294 
12.3 觸發事件........................................................................................... 296 
12.3.1 基本語法 ...............................................................................................296 
12.3.2 處理事件訂閱 .......................................................................................298 
12.4 處理異常........................................................................................... 301 
12.4.1 拋出異常 ...............................................................................................301 
12.4.2 使用 try-catch........................................................................................304 
12.5 設計模式入門 .................................................................................. 307 
12.6 本章小結........................................................................................... 309 
12.7 小測驗——中級 C#......................................................................... 309 
第13章旅程繼續 ...............................................................................310 
13.1 有待深入的基礎知識 ...................................................................... 310 
13.2 牢記面向對象編程 .......................................................................... 311 
13.3 瞭解 Unity項目 ............................................................................... 312 
13.4 進一步學習 ....................................................................................... 313 
13.4.1 C#資源...................................................................................................313 
13.4.2 Unity資源.............................................................................................314 
13.4.3 Unity認證.............................................................................................314 
13.5 本章小結........................................................................................... 315 
小測驗答案 ............................................................................................317




相關書籍

虛擬現實

作者 Samuel Greengard 魏秉鐸 譯

2022-04-01

Learning C# Programming with Unity 3d, Second Edition

作者 Okita Alex

2022-04-01

游戲開發 -- 世嘉新人培訓教材

作者 [日]平山尚

2022-04-01