內容簡介
本書作者結合多年從事遊戲套用開發的經驗,詳細介紹了8款Unity 3D遊戲案例的開發。
本書主要內容包括Unity 3D的基礎知識、開發環境的搭建及其運行機制,益智休閒類遊戲、3D塔防類遊戲、3D桌球類遊戲、射擊類遊戲、第三人稱射擊類遊戲、休閒體育類遊戲、VR休閒競技類遊戲、多人線上角色扮演遊戲的開發。
本書適合有一定基礎、有志於遊戲開發的讀者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。
圖書目錄
第 1章 Unity 3D基礎和開發環境的搭建 1
1.1 Unity 3D基礎知識概覽 1
1.1.1 初識Unity 3D 1
1.1.2 Unity的誕生及其發展 1
1.1.3 Unity 3D廣闊的市場前景 2
1.1.4 獨具特色的Unity 3D 3
1.2 開發環匙勸妹境的搭故騙建 8
1.2.1 Unity集成開發環境的安裝 8
1.2.2 目標平台的SDK與Unity 3D的
集成 11
1.3 本書案例的導入及運行 13
1.4 本章小結 15
第 2章 益智休閒類遊戲——火車行槳簽說動 16
2.1 遊戲的開發背景和功能概述 16
2.1.1 遊戲背景簡介 16
2.1.2 遊戲功能簡介 17
2.2 遊戲的策劃和準備工作 18
2.2.1 遊戲的策劃 18
2.2.2 使用Unity開發遊戲前的準備
工作 19
2.3 遊戲的架構 21
2.3.1 各個場景的簡要介紹 21
2.3.2 遊戲架構簡介 22
2.4 主選單場景 22
2.4.1 場景的搭建及相關設定 22
2.4.2 各對象的腳本開發及相關
設定 27
2.5 遊戲場景 33
2.5.1 關卡一遊戲場景搭建 33
2.5.2 遊戲模型設定及腳本開發 37
2.5.3 遊戲UI層的開發 45
2.5.4 關卡二遊戲場景搭建 48
2.6 遊戲的最佳化與改進 50
2.7 本章小結 50
第3章 3D塔防類游協淚蘭腳戲——BN塔防 51
3.1 遊戲的開發背景和功能概述 51
3.1.1 遊戲背景簡介 51
3.1.2 遊戲功能簡介 52
3.2 遊戲的策劃和準備工作 54
3.2.1 遊戲的策劃 54
3.2.2 使用Unity開發遊戲前的準備
工作 55
3.3 遊戲的架構 58
3.3.1 各個場景簡介 59
3.3.2 遊戲架構簡介 59
3.4 玩家設定場景的開發 61
3.4.1 場景的搭建及其相關設定 61
3.4.2 各對象的腳本開發及其相關
設定 64
3.5 遊戲功能場景的開發 69
3.5.1 場景搭建及其相關設定 70
3.5.2 各對象的腳本開發及相關設定 71
3.6 屬性介紹場景的開發 74
3.6.1 英雄屬性介紹界面搭建 74
3.6.2 怪物屬性介紹界面搭建 75
3.6.3 英雄以及怪物模型創建 76
3.6.4 各對象的腳本開發及相關設定 77
3.7 選關場景的開發 81
3.7.1 場景的搭建及其相關設定 81
3.7.2 各對象的腳本恥習櫃姜開發及相關
設定 82
3.8 關卡場景的開發 83
3.8.1 場景地形的製作 83
3.8.2 攝像機的移動和縮放功能的
開發 85
3.8.3 敵人相關功能的開發 87
3.8.4 防禦塔功能的開發 93
3.8.5 英雄相關功能的開發 96
3.8.6 技能您愉肯的開發 99
3.8.7 創建聲音管理器 100
3.8.8 場景UI的製作與相關腳本凶只少的
開發 101
3.8.9 創建遊戲控制器 104
3.9 遊戲的最佳化與改進 106
第4章 3D極品桌球 107
4.1 遊戲背景和功能概述 107
4.1.1 遊戲背景簡介 107
4.1.2 遊戲功能簡介 107
4.2 遊戲的策劃和準備工作 110
4.2.1 遊戲的策劃 110
4.2.2 使用Unity開發遊戲前的
準備工作 110
4.3 遊戲的架構 112
4.3.1 各個場景簡介 112
4.3.2 遊戲框架簡介 113
4.4 主選單界面 114
4.4.1 項目的基本創建 114
4.4.2 腳本的編寫與掛載 115
4.5 遊戲界面 128
4.5.1 場景的搭建 128
4.5.2 多視角的製作與切換 131
4.5.3 遊戲界面腳本的編寫 134
4.5.4 功能腳本的編寫 141
4.6 遊戲的最佳化與改進 154
第5章 射擊類遊戲——固守陣線 155
5.1 遊戲背景和功能概述 155
5.1.1 遊戲背景簡介 155
5.1.2 遊戲功能簡介 155
5.2 遊戲的策劃及準備工作 158
5.2.1 遊戲的策劃 158
5.2.2 使用Unity開發遊戲前的
準備工作 159
5.3 遊戲的架構 161
5.3.1 各個場景簡介 161
5.3.2 遊戲架構簡介 162
5.4 主選單場景 162
5.4.1 場景搭建 163
5.4.2 主攝像機設定及腳本開發 164
5.4.3 主選單場景中各個界面移動的
實現 170
5.5 遊戲場景 171
5.5.1 場景搭建 171
5.5.2 主攝像機設定及腳本開發 172
5.5.3 操作界面的創建 173
5.5.4 子彈的創建 177
5.5.5 敵人小兵的創建及腳本開發 179
5.5.6 場景中結點的設定與腳本
開發 181
5.5.7 敵人裝甲車的創建與腳本
開發 182
5.5.8 敵人坦克的創建與腳本
開發 186
5.5.9 小地圖的製作 188
5.6 遊戲的最佳化與改進 189
第6章 第三人稱射擊類遊戲——海島危機 190
6.1 遊戲背景和功能概述 190
6.1.1 遊戲背景簡介 190
6.1.2 遊戲功能簡介 191
6.2 遊戲的策劃及準備工作 193
6.2.1 遊戲的策劃 193
6.2.2 使用Unity開發遊戲前的
準備工作 194
6.3 遊戲的架構 197
6.3.1 各個場景簡介 197
6.3.2 遊戲架構簡介 198
6.4 閃屏和主選單場景 200
6.4.1 閃屏場景的搭建與腳本
開發 200
6.4.2 常量類與簡單遊戲保存功能的
開發 203
6.4.3 主選單場景基本UI的搭建與
腳本開發 204
6.4.4 選擇關卡界面的搭建與腳本
開發 207
6.4.5 信息提示界面的搭建與腳本
開發 211
6.4.6 其他部分的搭建 212
6.5 遊戲載入場景 214
6.5.1 場景搭建 214
6.5.2 異步載入場景功能的實現與
腳本開發 214
6.6 關卡一遊戲場景 215
6.6.1 場景搭建 215
6.6.2 主人物模型的搭建及
腳本開發 216
6.6.3 虛擬搖桿和攝像機跟隨功能及
腳本開發 221
6.6.4 遊戲提示界面的搭建及
腳本開發 225
6.6.5 任務系統和觸發器的搭建及
腳本開發 226
6.6.6 準星和準星提示信息的搭建及
腳本開發 228
6.6.7 郵件界面的搭建及其功能的
腳本開發 230
6.7 其他遊戲場景 232
6.7.1 遊戲CG功能的實現及
腳本開發 232
6.7.2 血條和小地圖功能及
腳本開發 233
6.7.3 怪物的創建及腳本開發 236
6.7.4 船和直升飛機的搭建及
腳本開發 239
6.8 遊戲的最佳化與改進 241
第7章 休閒體育類遊戲——指尖網球 243
7.1 遊戲背景和功能概述 243
7.1.1 遊戲背景簡介 243
7.1.2 遊戲功能簡介 244
7.2 遊戲的策劃及準備工作 245
7.2.1 遊戲的策劃 245
7.2.2 使用Unity開發遊戲前的
準備工作 246
7.3 遊戲的架構 248
7.3.1 各個場景簡介 248
7.3.2 遊戲架構簡介 249
7.4 主選單場景 250
7.4.1 場景的搭建及其相關設定 250
7.4.2 各對象的腳本開發及
相關設定 254
7.5 單人模式遊戲場景 264
7.5.1 場景搭建 264
7.5.2 各對象的腳本開發及
相關設定 265
7.6 網路模式遊戲場景 283
7.6.1 場景搭建 283
7.6.2 各對象的腳本開發及
相關設定 283
7.7 伺服器端的開發 288
7.7.1 網路遊戲架構簡介 288
7.7.2 伺服器端簡介 289
7.7.3 伺服器端的開發 289
7.8 遊戲載入場景 290
7.8.1 場景搭建 290
7.8.2 各對象的腳本開發及
相關設定 291
7.9 遊戲的最佳化與改進 292
第8章 VR休閒競技類遊戲——Q賽車 293
8.1 遊戲背景和功能概述 293
8.1.1 遊戲背景簡介 293
8.1.2 遊戲功能簡介 293
8.2 遊戲的策劃及準備工作 295
8.2.1 遊戲的策劃 295
8.2.2 使用Unity開發遊戲前的
準備工作 296
8.3 遊戲的架構 297
8.3.1 各個場景的簡介 297
8.3.2 遊戲架構簡介 297
8.4 主選單場景 298
8.4.1 場景的搭建及其相關設定 298
8.4.2 Gvr Unity SDK下載及使用
介紹 300
8.4.3 腳本開發及相關設定 302
8.5 單人模式遊戲場景 305
8.5.1 場景搭建 305
8.5.2 遊戲場景的初始化腳本 307
8.5.3 賽車控制腳本及其相關設定 308
8.5.4 攝像機控制及暫停腳本開發 309
8.5.5 遊戲輸贏腳本開發 311
8.5.6 遊戲UI對象腳本開發 314
8.5.7 遊戲常量類腳本開發 314
8.6 網路模式遊戲場景 315
8.6.1 場景搭建 315
8.6.2 腳本開發及相關設定 315
8.7 伺服器端的開發 319
8.7.1 網路遊戲架構簡介 319
8.7.2 伺服器端簡介 320
8.7.3 伺服器端的開發 320
8.8 遊戲的最佳化與改進 322
第9章 多人線上角色扮演遊戲——
英雄傳說 323
9.1 遊戲背景和功能概述 323
9.1.1 遊戲背景簡介 323
9.1.2 遊戲功能簡介 323
9.2 遊戲的策劃及準備工作 326
9.2.1 遊戲的策劃 326
9.2.2 遊戲前的準備工作 327
9.3 遊戲的架構 333
9.4 網路遊戲伺服器概述 334
9.4.1 什麼是遊戲伺服器 334
9.4.2 伺服器結構 334
9.4.3 序列化協定簡介 335
9.4.4 Protocol Buffer的使用 336
9.4.5 遊戲伺服器的整體架構 338
9.5 遊戲伺服器執行緒類詳解 338
9.5.1 伺服器主執行緒類——
ServerThread 339
9.5.2 伺服器代理執行緒類——
ServerAgentThread 339
9.5.3 操作碼處理類——
OPCodeHandler 343
9.5.4 登錄和選人執行緒類——LogInThread和ChooseRoleThread 344
9.5.5 遊戲主場景執行緒類——
MainMapThread 345
9.5.6 副本執行緒類——
DungeonMapThread 347
9.6 遊戲伺服器動作類詳解 351
9.6.1 所有動作的父類——Action 352
9.6.2 登錄動作類——LogInAction 352
9.6.3 創建角色動作類——
CreateRoleAction 353
9.6.4 選擇角色動作類——
ChooseRoleResultAction 354
9.6.5 更新角色信息動作類——
UpdateRoleDataAction 355
9.6.6 返回主城動作類——
BackTOMainMapAction 356
9.6.7 同步動畫動作類——
BroadCastStateAction 357
9.6.8 創建副本動作類——
CreateDungeonAction 357
9.7 登錄場景及載入場景的搭建 358
9.7.1 登錄場景的搭建及相關設定 359
9.7.2 載入界面場景的搭建 366
9.8 客戶端與伺服器的連線 367
9.9 選人場景的搭建 373
9.9.1 選人3D場景的搭建 373
9.9.2 UI的開發 378
9.10 主城場景的搭建開發 384
9.10.1 主城中角色移動及NPC功能的
開發 384
9.10.2 主城場景UI的開發 389
9.10.3 組隊功能的實現 392
9.11 副本場景功能的開發 393
9.12 自動尋路系統 396
9.12.1 地圖信息標記點 397
9.12.2 自動尋路代碼 399
9.12.3 Java與Lua的互動 403
9.13 遊戲AI開發 406
9.13.1 伺服器端AI開發 406
9.13.2 客戶端AI開發 412
9.14 遊戲的最佳化與改進 418
9.15 本章小結 418
9.4.2 伺服器結構 334
9.4.3 序列化協定簡介 335
9.4.4 Protocol Buffer的使用 336
9.4.5 遊戲伺服器的整體架構 338
9.5 遊戲伺服器執行緒類詳解 338
9.5.1 伺服器主執行緒類——
ServerThread 339
9.5.2 伺服器代理執行緒類——
ServerAgentThread 339
9.5.3 操作碼處理類——
OPCodeHandler 343
9.5.4 登錄和選人執行緒類——LogInThread和ChooseRoleThread 344
9.5.5 遊戲主場景執行緒類——
MainMapThread 345
9.5.6 副本執行緒類——
DungeonMapThread 347
9.6 遊戲伺服器動作類詳解 351
9.6.1 所有動作的父類——Action 352
9.6.2 登錄動作類——LogInAction 352
9.6.3 創建角色動作類——
CreateRoleAction 353
9.6.4 選擇角色動作類——
ChooseRoleResultAction 354
9.6.5 更新角色信息動作類——
UpdateRoleDataAction 355
9.6.6 返回主城動作類——
BackTOMainMapAction 356
9.6.7 同步動畫動作類——
BroadCastStateAction 357
9.6.8 創建副本動作類——
CreateDungeonAction 357
9.7 登錄場景及載入場景的搭建 358
9.7.1 登錄場景的搭建及相關設定 359
9.7.2 載入界面場景的搭建 366
9.8 客戶端與伺服器的連線 367
9.9 選人場景的搭建 373
9.9.1 選人3D場景的搭建 373
9.9.2 UI的開發 378
9.10 主城場景的搭建開發 384
9.10.1 主城中角色移動及NPC功能的
開發 384
9.10.2 主城場景UI的開發 389
9.10.3 組隊功能的實現 392
9.11 副本場景功能的開發 393
9.12 自動尋路系統 396
9.12.1 地圖信息標記點 397
9.12.2 自動尋路代碼 399
9.12.3 Java與Lua的互動 403
9.13 遊戲AI開發 406
9.13.1 伺服器端AI開發 406
9.13.2 客戶端AI開發 412
9.14 遊戲的最佳化與改進 418
9.15 本章小結 418