游戲開發(fā)基礎(chǔ)——基于Unity游戲引擎
定 價:69.9 元
- 作者:張帆
- 出版時間:2024/8/1
- ISBN:9787121477348
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP317.6
- 頁碼:340
- 紙張:
- 版次:01
- 開本:16開
本書是國家級一流本科專業(yè)(數(shù)字媒體技術(shù))課程“游戲開發(fā)基礎(chǔ)”的指定教材,同時被列為浙江省普通本科高校“十四五”重點立項建設(shè)教材。本書以Unity游戲引擎為平臺,詳細闡述了12款經(jīng)典游戲的實現(xiàn)方法,這些游戲包括《打地鼠》、《記憶翻牌》、《拼圖》、《推箱子》、《俄羅斯方塊》、《華容道》、《連連看》、《三消》、《掃雷》、《貪吃蛇》、《五子棋》和《跳棋》。通過本書的學(xué)習(xí)和實踐,讀者能夠全面理解和掌握游戲開發(fā)的核心算法,同時深刻領(lǐng)悟數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)知識在游戲開發(fā)中的實際應(yīng)用,培養(yǎng)全面的工程思維。通過學(xué)習(xí)本書內(nèi)容,讀者不僅能夠熟練掌握游戲引擎的運用,更能夠靈活運用數(shù)據(jù)結(jié)構(gòu)、數(shù)學(xué)思路等理論知識進行游戲創(chuàng)作。本書既適合作為各院校相關(guān)專業(yè)的教材,又適合作為對游戲開發(fā)感興趣的讀者的參考書。
浙江傳媒學(xué)院數(shù)字媒體技術(shù)專業(yè)主任,數(shù)字媒體與網(wǎng)絡(luò)工程系副主任(主持工作),教師。澳門科技大學(xué)人文藝術(shù)學(xué)院博士。Unity價值專家,Unity全球認證講師。中國大學(xué)生計算機設(shè)計大賽省級賽和國賽評委,全國高等院校計算機基礎(chǔ)教育研究會文科專委會委員,浙江省電子競技協(xié)會副秘書長,中國文化管理協(xié)會電子競技工作委員會委員,全國高等院校計算機基礎(chǔ)教育研究會網(wǎng)絡(luò)科技與智能媒體設(shè)計專業(yè)委員會委員。主講課程“游戲開發(fā)基礎(chǔ)”獲浙江省本科院校“互聯(lián)網(wǎng)+教學(xué)”示范課堂;配套大規(guī)模在線開放課程“一刻鐘學(xué)會:游戲開發(fā)基礎(chǔ)”(“中國大學(xué)MOOC”平臺)獲浙江省省級線上一流課程,并被Unity官方中文課堂收錄!队螒蜷_發(fā)基礎(chǔ)——基于Unity游戲引擎》被列為浙江省普通本科高!笆奈濉敝攸c立項建設(shè)教材。曾獲第三屆全國高校數(shù)字創(chuàng)意教學(xué)技能大賽一等獎,浙江傳媒學(xué)院“教學(xué)十佳”,“課程思政”微課比賽一等獎,以及智慧精彩一堂課一等獎等。主要研究方向:數(shù)字娛樂技術(shù)、人機交互技術(shù)、技術(shù)美術(shù)和人工智能等。
第1章 游戲引擎介紹 1
1.1 多平臺發(fā)布的Unity 1
1.2 Unity的下載和安裝 1
1.2.1 下載Unity 2
1.2.2 安裝Unity 2
1.2.3 注冊Unity 4
1.2.4 啟動Unity 4
1.3 Unity編輯器的布局 5
1.3.1 標(biāo)題欄 5
1.3.2 主菜單欄 6
1.3.3 Project(項目資源)窗口 13
1.3.4 Hierarchy(層級)窗口 19
1.3.5 Scene(場景)窗口 21
1.3.6 Inspector(組件)窗口 30
1.3.7 Game(游戲預(yù)覽)窗口 35
1.3.8 Console(控制臺)窗口 36
1.4 自定義窗口布局 37
1.4.1 使用Unity內(nèi)置的窗口
布局功能 37
1.4.2 自由設(shè)定窗口布局 39
1.5 本章小結(jié) 40
1.6 練習(xí)題 40
第2章 打地鼠 41
2.1 游戲簡介 41
2.2 游戲規(guī)則 41
2.3 游戲開發(fā)核心思路 41
2.3.1 洞口位置的存儲結(jié)構(gòu)和計算 41
2.3.2 地鼠出現(xiàn)頻率的控制 42
2.3.3 地鼠的隨機生成和銷毀 42
2.3.4 游戲時長和分?jǐn)?shù) 42
2.3.5 游戲流程圖 43
2.4 游戲?qū)崿F(xiàn) 43
2.4.1 資源的導(dǎo)入與Sorting Layer 43
2.4.2 生成洞口 45
2.4.3 地鼠的生成 46
2.4.4 打擊地鼠 49
2.4.5 計時功能 50
2.4.6 計分功能 52
2.4.7 游戲結(jié)束 53
2.4.8 修改地鼠出現(xiàn)頻率 53
2.4.9 修改圖標(biāo) 54
2.4.10 添加音效 55
2.4.11 重新開始游戲 56
2.4.12 導(dǎo)出游戲 56
2.5 本章小結(jié) 57
2.6 練習(xí)題 57
第3章 記憶翻牌 58
3.1 游戲簡介 58
3.2 游戲規(guī)則 58
3.3 游戲開發(fā)核心思路 58
3.3.1 生成卡牌池 58
3.3.2 洗牌 59
3.3.3 卡牌狀態(tài) 60
3.3.4 游戲計分 60
3.3.5 游戲流程圖 61
3.4 游戲?qū)崿F(xiàn) 61
3.4.1 游戲資源的導(dǎo)入與場景搭建 61
3.4.2 卡牌的位置排列 62
3.4.3 洗牌功能的實現(xiàn) 63
3.4.4 顯示卡牌的背面與
卡牌的圖案 64
3.4.5 設(shè)置卡牌狀態(tài) 66
3.4.6 卡牌圖案的配對 67
3.4.7 計算分?jǐn)?shù)與步數(shù) 69
3.5 本章小結(jié) 72
3.6 練習(xí)題 72
第4章 拼圖 73
4.1 游戲簡介 73
4.2 游戲規(guī)則 73
4.3 游戲開發(fā)核心思路 73
4.3.1 碎片對象的生成與位置初始化 73
4.3.2 原圖與碎片位置的對應(yīng)關(guān)系 73
4.3.3 拖動碎片 74
4.3.4 碎片放置位置正確性的判斷 75
4.3.5 游戲流程圖 76
4.4 游戲?qū)崿F(xiàn) 76
4.4.1 新建工程與導(dǎo)入資源 76
4.4.2 批量讀取碎片 78
4.4.3 生成碎片對象 79
4.4.4 初始化碎片位置 79
4.4.5 計算每個碎片的目標(biāo)位置 80
4.4.6 拖動鼠標(biāo) 81
4.4.7 判斷游戲是否勝利 86
4.5 本章小結(jié) 87
4.6 練習(xí)題 87
第5章 推箱子 88
5.1 游戲簡介 88
5.2 游戲規(guī)則 88
5.3 游戲開發(fā)核心思路 89
5.3.1 地圖的生成 89
5.3.2 角色位置及移動方向與數(shù)組的對應(yīng)關(guān)系 89
5.3.3 分析角色可移動和不可移動情況 90
5.3.4 角色移動的代碼邏輯 90
5.3.5 游戲勝利的判定 92
5.3.6 游戲流程圖 92
5.4 游戲?qū)崿F(xiàn) 92
5.4.1 資源的導(dǎo)入與切割 92
5.4.2 角色動畫的制作 94
5.4.3 地圖生成的程序?qū)崿F(xiàn)與代碼重構(gòu) 95
5.4.4 角色移動方向位置上的Tile類型檢測與實現(xiàn) 97
5.4.5 角色可移動情況的代碼框架實現(xiàn) 99
5.4.6 角色在場景中的移動功能 101
5.4.7 打印地圖快照信息 102
5.4.8 角色移動與地圖快照信息的實時更新 104
5.4.9 推動箱子的功能實現(xiàn) 104
5.4.10 移動代碼的重構(gòu)優(yōu)化 109
5.4.11 游戲勝利條件判斷 112
5.5 本章小結(jié) 114
5.6 練習(xí)題 114
第6章 俄羅斯方塊 115
6.1 游戲簡介 115
6.2 游戲規(guī)則 115
6.3 游戲開發(fā)核心思路 116
6.3.1 初始化地圖 116
6.3.2 方塊類(Block)的編寫 117
6.3.3 初始化方塊——方塊在地圖中的隨機生成 117
6.3.4 移動和旋轉(zhuǎn)方塊——修改位置坐標(biāo) 117
6.3.5 移動和旋轉(zhuǎn)方塊——邊界判斷 117
6.3.6 移動方塊——向下移動 118
6.3.7 消除滿行方塊 118
6.3.8 游戲結(jié)束判斷 118
6.3.9 附加功能——提示下一個方塊 118
6.3.10 游戲流程圖 118
6.4 游戲?qū)崿F(xiàn) 119
6.4.1 資源的導(dǎo)入 119
6.4.2 地圖的初始化與顯示 121
6.4.3 地圖快照信息的顯示 122
6.4.4 方塊的初始化 124
6.4.5 方塊的隨機生成 128
6.4.6 方塊的移動和旋轉(zhuǎn) 130
6.4.7 方塊的移動、旋轉(zhuǎn)與地圖的刷新 134
6.4.8 邊界的判斷 138
6.4.9 滿行的消除 141
6.4.10 游戲結(jié)束的判斷 142
6.4.11 附加功能——控制方塊 自動下落的速度 144
6.4.12 附加功能——顯示下 一個方塊的類型 145
6.4.13 附加功能——優(yōu)化重復(fù) 代碼 147
6.5 本章小結(jié) 149
6.6 練習(xí)題 149
第7章 華容道 150
7.1 游戲簡介 150
7.2 游戲規(guī)則 150
7.3 游戲開發(fā)核心思路 151
7.3.1 棋子類(Chess)的編寫 151
7.3.2 棋盤盤面布局的生成 151
7.3.3 移動棋子的實現(xiàn) 151
7.3.4 游戲勝利的判斷 156
7.3.5 游戲流程圖 156
7.4 游戲?qū)崿F(xiàn) 157
7.4.1 資源的導(dǎo)入 157
7.4.2 棋子類的編寫 158
7.4.3 棋盤布局的生成 159
7.4.4 移動棋子——選擇棋子 163
7.4.5 移動棋子——移動1×1棋子 169
7.4.6 移動棋子——移動1×2棋子 173
7.4.7 移動棋子——移動2×1棋子 177
7.4.8 移動棋子——移動2×2棋子 181
7.4.9 游戲勝利的判斷 184
7.5 本章小結(jié) 188
7.6 練習(xí)題 188
第8章 連連看 189
8.1 游戲簡介 189
8.2 游戲規(guī)則 189
8.3 游戲開發(fā)核心思路 190
8.3.1 編寫Tile類 190
8.3.2 初始化地圖 190
8.3.3 消除操作 191
8.3.4 繪制連接線 193
8.4 游戲?qū)崿F(xiàn) 194
8.4.1 導(dǎo)入資源 194
8.4.2 編寫Tile類 196
8.4.3 初始化地圖 197
8.4.4 選擇Tile對象 202
8.4.5 連接判斷——直連、二連、三連 205
8.4.6 連接線的繪制 209
8.5 本章小結(jié) 214
8.6 練習(xí)題 214
第9章 三消 215
9.1 游戲簡介 215
9.2 游戲規(guī)則 215
9.3 游戲開發(fā)核心思路 216
9.3.1 編寫Gemstone類 216
9.3.2 初始化游戲場景和地圖 216
9.3.3 消除檢測 217
9.3.4 消除寶石 218
9.3.5 重新洗牌 219
9.3.6 游戲流程圖 219
9.4 游戲?qū)崿F(xiàn) 220
9.4.1 導(dǎo)入資源與設(shè)置場景 220
9.4.2 編寫Gemstone類 221
9.4.3 初始化地圖數(shù)據(jù)結(jié)構(gòu)和場景 223
9.4.4 選擇寶石 225
9.4.5 消除寶石 228
9.4.6 重新洗牌操作 233
9.5 本章小結(jié) 235
9.6 練習(xí)題 235
第10章 掃雷 236
10.1 游戲簡介 236
10.2 游戲規(guī)則 236
10.2.1 《掃雷》游戲的布局 236
10.2.2 《掃雷》游戲的基本 操作 237
10.3 游戲開發(fā)核心思路 237
10.3.1 初始化游戲地圖 237
10.3.2 編寫Tile類 237
10.3.3 隨機生成地雷 238
10.3.4 編寫輔助函數(shù),顯示 地圖信息 238
10.3.5 Tile的交互 238
10.3.6 方格的單擊(左鍵、 遍歷翻開、右鍵) 239
10.3.7 游戲結(jié)束判斷 239
10.3.8 UI控制 239
10.3.9 游戲流程圖 240
10.4 游戲?qū)崿F(xiàn) 240
10.4.1 資源導(dǎo)入與場景設(shè)置 240
10.4.2 初始化場景 241
10.4.3 左、右鍵操作 248
10.4.4 游戲結(jié)束判斷 252
10.4.5 UI控制 256
10.4.6 重新開始一局游戲 269
10.5 本章小結(jié) 270
10.6 練習(xí)題 270
第11章 貪吃蛇 271
11.1 游戲簡介 271
11.2 游戲規(guī)則 271
11.3 游戲開發(fā)核心思路 271
11.3.1 地圖的生成 271
11.3.2 食物的出現(xiàn) 272
11.3.3 蛇的數(shù)據(jù)結(jié)構(gòu) 272
11.3.4 貪吃蛇的移動算法 272
11.3.5 判斷蛇頭是否撞到了 自身 272
11.3.6 邊界的判斷 273
11.3.7 游戲流程圖 273
11.4 游戲?qū)崿F(xiàn) 273
11.4.1 資源導(dǎo)入和場景設(shè)置 273
11.4.2 編寫Node類 275
11.4.3 初始化場景 276
11.4.4 貪吃蛇的移動 280
11.4.5 結(jié)束判定 285
11.5 本章小結(jié) 286
11.6 練習(xí)題 286
第12章 五子棋 287
12.1 游戲簡介 287
12.2 游戲規(guī)則 287
12.2.1 《五子棋》游戲的 棋盤和棋子 287
12.2.2 《五子棋》游戲的 基本規(guī)則 288
12.2.3 落子順序 288
12.3 游戲開發(fā)核心思路 288
12.3.1 繪制棋盤 288
12.3.2 繪制棋子 289
12.3.3 落子 289
12.3.4 獲勝規(guī)則 289
12.3.5 判斷黑方禁手功能 290
12.3.6 游戲流程圖 290
12.4 游戲?qū)崿F(xiàn) 291
12.4.1 前期準(zhǔn)備 291
12.4.2 初始化棋盤地圖 292
12.4.3 編寫落子框架 294
12.4.4 落子 296
12.4.5 連子判斷和勝負判斷 297
12.5 本章小結(jié) 302
12.6 練習(xí)題 302
第13章 跳棋 303
13.1 游戲簡介 303
13.2 游戲規(guī)則 303
13.3 游戲開發(fā)核心思路 304
13.3.1 棋盤排列 304
13.3.2 生成棋子 305
13.3.3 棋子在Unity中笛卡兒
坐標(biāo)系下的位置映射 305
13.3.4 計算可移動位置 306
13.3.5 回合限制 307
13.3.6 游戲勝負判斷 307
13.3.7 游戲流程圖 307
13.4 游戲?qū)崿F(xiàn) 308
13.4.1 前期準(zhǔn)備 308
13.4.2 創(chuàng)建棋格 310
13.4.3 創(chuàng)建棋子 312
13.4.4 選擇棋子 314
13.4.5 判斷鄰近可走棋格 316
13.4.6 單步移動棋子 319
13.4.7 跳子 320
13.4.8 回合限制 322
13.4.9 勝負判斷 324
13.5 本章小結(jié) 327
13.6 練習(xí)題 327