第1章Unity中的C#語言 11.1為何選擇C#語言 1
1.2創建腳本文件 2
1.3腳本的實例化操作 4
1.4變量 6
1.5條件語句 7
1.5.1if語句 8
1.5.2switch語句 10
1.6數組 13
1.7循環 16
1.7.1foreach循環 16
1.7.2for循環 17
1.7.3while循環 18
1.7.4無限循環 20
1.8函數 20
1.9事件 23
1.10類和面向對象程序設計 24
1.11類和繼承機制 26
1.12類和多態 28
1.13C#屬性 32
1.14注釋 34
1.15變量的可見性 37
1.16?操作符 38
1.17SendMessage和BroadcastMessage 38
1.18本章小結 40
第2章調試機制 41
2.1編譯錯誤和控制臺 41
2.2利用Debug.Log進行調制——定制消息 44
2.3覆寫ToString方法 46
2.4可視化調試 50
2.5錯誤日志 52
2.6編輯器調試 56
2.7使用分析工具 59
2.8基于MonoDevelop的調試 62
2.9Watch窗口 66
2.10恢復執行程序和步進操作 70
2.11調用棧 71
2.12Immediate窗口 73
2.13設置條件斷點 74
2.14跟蹤點 76
2.15本章小結 78
第3章單例模式、靜態模式、GameObject以及場景世界 79
3.1GameObject對象 79
3.2組件間的交互方式 81
3.2.1GetComponent函數 82
3.2.2獲取多個組件 83
3.2.3組件和消息 84
3.3GameObject和場景世界 85
3.3.1獲取GameObject 86
3.3.2對象比較 88
3.3.3獲取最近對象 88
3.3.4獲取特定類型的對象 89
3.3.5GameObject之間的路徑 90
3.3.6訪問對象的層次結構 92
3.4場景、時間和更新操作 93
3.4.1規則1——幀的重要性 95
3.4.2規則2——相對于時間的運動 95
3.5永久對象 96
3.6理解單例模式和靜態模式 98
3.7本章小結 101
第4章事件驅動程序設計 102
4.1事件 102
4.2事件管理 106
4.2.1基于接口的事件管理 107
4.2.2定義EventManager 109
4.3MonoDevelop中的代碼折疊——#region和#endregion 114
4.3.1使用EventManager 115
4.3.2基于委托機制的替代方案 116
4.3.3MonoBehaviour事件 121
4.3.4鼠標事件 122
4.3.5應用程序焦點和暫停 125
4.4本章小結 127
第5章相機、渲染和場景 128
5.1相機Gizmo 128
5.2可見性 131
5.2.1檢測對象的可見性 132
5.2.2關于對象可見性的其他問題 133
5.2.3視錐體測試——渲染器 134
5.2.4視錐體測試——點 135
5.2.5視錐體測試——遮擋 136
5.2.6相機前、后視覺 137
5.3正交相機 138
5.4相機渲染和后處理 142
5.5相機震動 148
5.6相機和動畫 150
5.7相機和曲線 152
5.8本章小結 158
第6章與Mono協同工作 159
6.1表和集合 160
6.1.1List類 160
6.1.2Dictionary類 163
6.1.3Stack類 164
6.2IEnumerable和IEnumerator接口 166
6.3字符串和正則表達式 172
6.3.1null、空字符串和空格 172
6.3.2字符串比較 173
6.3.3字符串的格式化 174
6.3.4字符串循環 175
6.3.5創建字符串 176
6.3.6搜索字符串 176
6.3.7正則表達式 176
6.4無窮參數 178
6.5語言集成查詢 178
6.6Linq和正則表達式 181
6.7與文本數據資源協同工作 182
6.8從本地文件中加載文本數據 184
6.8.1從INI文件中加載文本數據 185
6.8.2從CVS文件中加載文本數據 187
6.8.3從Web中加載文本數據 187
6.9本章小結 188
第7章人工智能 189
7.1游戲中的人工智能 189
7.2開始項目 191
7.3烘焙導航網格 192
7.4NPC主體對象 195
7.5Mecanim中的有限狀態機 198
7.6C#語言中的有限狀態機 202
7.7構建Idle狀態 204
7.8構建Patrol狀態 207
7.9構建Chase狀態 211
7.10構建Attack狀態 213
7.11構建Seek-Health(或逃跑)狀態 214
7.12本章小結 217
第8章定制Unity編輯器 219
8.1批量重命名 219
8.2C#屬性和反射 224
8.3顏色混合 227
8.4顯示屬性 232
8.5本地化 238
8.6本章小結 246
第9章與紋理、模型和2D元素協同工作 247
9.1天空盒 247
9.2過程式網格 252
9.3UV動畫——紋理滾動 259
9.4紋理繪制 261
9.4.1創建紋理混合著色器 262
9.4.2創建紋理繪制腳本 265
9.4.3設置紋理繪制 272
9.5本章小結 275
第10章資源控制和其他 276
10.1Git——資源控制 276
10.1.1下載 277
10.1.2構建Unity項目 278
10.1.3基于源控制配置Unity 279
10.1.4構建Git存儲庫 280
10.1.5忽略文件 281
10.1.6創建首次提交 282
10.1.7修改文件 284
10.1.8從存儲庫中獲取文件 285
10.1.9瀏覽存儲庫 288
10.2資源文件夾和外部文件 289
10.3AssetBundles和外部文件 290
10.4持久數據和游戲保存 294
10.5本章小結 298