TOP
1/1
庫存:1
Unity 3D/2D手機遊戲開發:從學習到產品(第4版)(簡體書)
人民幣定價:99元
定  價:NT$594元
優惠價: 79469
可得紅利積點:14 點

庫存:1

商品簡介

作者簡介

目次

本書以實例教學為主線,循序漸進地介紹了Unity 2018在手機遊戲開發方面的不同功能。第1章,由零開始,引導讀者熟悉Unity編輯器的各個功能模塊和特性。第2~4章是3個不同特色的3D遊戲實例,使讀者對Unity遊戲開發有一個較全面的認識。第5章是一個2D遊戲實例,全方位地介紹了Unity在2D遊戲方面的應用。第6章和第7章重點介紹了Unity在網絡方面的應用。第8~10章介紹了如何將Unity遊戲移植到網頁、iOS和Android平臺。第11章詳細介紹了Unity的新GUI系統。第12章是關於創建Unity遊戲美術資源的工作流程。第13章和第14章分別介紹了行為樹和Play Maker兩款插件,第15章介紹了使用HTC Vive創建VR應用,第16章介紹了Unity結合Vuforia 在AR方面的應用,第17和第18章介紹了Shader圖形編程和Lua腳本在Unity中的應用。本書最後還附有C#語言的快速教程,幫助缺乏程序開發基礎的讀者快速入門,同時也包括Unity編輯器菜單欄的中英文對照表供讀者查閱。
本書提供了所有實例的源代碼與素材文件,供讀者上機練習使用,讀者可從網上下載本書資源文件。
本書適合廣大遊戲開發人員、遊戲開發愛好者、軟件培訓機構以及計算機專業的學生等使用。
金璽曾,資深遊戲開發工程師,擁有10餘年遊戲行業從業經驗,先後在上海盛大網絡,上海愛客士電腦軟件,上海皿鎏軟件從事遊戲開發工作,參與過很多原創和外包項目。
目 錄

第1章 Unity基礎 1
1.1 初識遊戲引擎和Unity 2
1.2 運行Unity 3
1.2.1 Unity的版本 3
1.2.2 下載並安裝Unity 4
1.2.3 在線激活Unity 4
1.2.4 運行示例工程 4
1.3 創建一個Hello World程序 7
1.3.1 安裝Visual Studio 8
1.3.2 編寫腳本 8
1.3.3 編譯輸出 10
1.4 調試程序 11
1.4.1 顯示Log 11
1.4.2 在Visual Studio中設置斷點 11
1.5 Unity腳本基礎 12
1.5.1 Script(腳本)組件 12
1.5.2 腳本的執行順序 13
1.5.3 腳本的序列化 14
1.5.4 組件式編程 15
1.5.5 協程編程 16
1.6 預置文件Prefab和資源管理 17
1.6.1 創建Prefab 17
1.6.2 Unity資源包 18
1.6.3 管理Unity插件 18
1.7 讀取資源和實例化 19
1.7.1 在腳本中創建一個Game Object 19
1.7.2 通過序列化方式引用資源 19
1.7.3 通過IO方式讀取資源 20
1.8 保存工程 20
1.9 時間和動畫 21
1.10 小結 21
第2章 太空射擊遊戲 23
2.1 遊戲介紹 24
2.1.1 遊戲操作 24
2.1.2 主角和敵人 24
2.1.3 遊戲UI 24
2.2 導入美術資源 24
2.3 創建場景 25
2.3.1 創建火星背景和星空動畫 26
2.3.2 設置攝像機和燈光 30
2.4 創建主角 31
2.4.1 創建腳本 32
2.4.2 控制飛船移動 33
2.4.3 創建子彈 35
2.4.4 創建子彈Prefab 36
2.4.5 發射子彈 37
2.5 創建敵人 38
2.6 物理碰撞 39
2.6.1 添加碰撞體 39
2.6.2 觸發碰撞 40
2.7 高級敵人 43
2.7.1 創建敵人 43
2.7.2 發射子彈 44
2.8 聲音與特效 46
2.9 敵人生成器 48
2.10 遊戲UI和戰鬥管理 50
2.10.1 創建顯示得分的UI界面 50
2.10.2 創建顯示遊戲失敗的UI界面 51
2.10.3 編寫腳本 52
2.11 關卡跳轉 54
2.12 用鼠標控制主角 56
2.13 精確的碰撞檢測 58
2.14 自動創建Prefab 60
2.15 發佈遊戲 62
2.16 使用PoolManager創建對象池 64
2.17 小結 66
第3章 第一人稱射擊遊戲 68
3.1 策劃 69
3.1.1 遊戲介紹 69
3.1.2 UI界面 69
3.1.3 主角 69
3.1.4 敵人 69
3.2 遊戲場景 69
3.3 主角 70
3.3.1 角色控制器 70
3.3.2 攝像機 72
3.3.3 武器 73
3.4 敵人 74
3.4.1 尋路 74
3.4.2 設置動畫 76
3.4.3 行為 77
3.5 UI界面 80
3.6 交互 84
3.6.1 主角的射擊 84
3.6.2 敵人的進攻與死亡 86
3.7 出生點 88
3.8 小地圖 90
3.9 小結 93
第4章 塔防遊戲 94
4.1 策劃 95
4.1.1 場景 95
4.1.2 攝像機 95
4.1.3 勝負判定 95
4.1.4 敵人 95
4.1.5 防守單位 95
4.1.6 UI界面 95
4.2 地圖編輯器 96
4.2.1 “格子”數據 96
4.2.2 在Inspector窗口添加自定義UI
控件 98
4.2.3 創建一個自定義窗口 100
4.3 遊戲場景 102
4.4 製作UI 103
4.5 創建遊戲管理器 105
4.6 攝像機 109
4.7 路點 111
4.8 敵人 115
4.9 敵人生成器 118
4.9.1 創建敵人生成器 118
4.9.2 遍歷敵人 121
4.10 防守單位 121
4.11 生命條 130
4.12 小結 132
第5章 2D遊戲 133
5.1 Unity 2D系統簡介 134
5.2 創建Sprite 134
5.2.1 使用SpriteEditor創建Sprite 134
5.2.2 使用SpritePacker創建Sprite 136
5.2.3 圖層排序 137
5.2.4 Sprite邊框和重複顯示 138
5.3 動畫製作 138
5.3.1 序列幀動畫 138
5.3.2 使用腳本實現序列幀動畫 140
5.3.3 骨骼動畫 141
5.4 2D物理 142
5.5 捕魚遊戲 146
5.5.1 遊戲玩法 146
5.5.2 準備2D資源 146
5.5.3 創建魚 148
5.5.4 創建魚群生成器 150
5.5.5 創建子彈和大炮 151
5.5.6 物理碰撞 153
5.6 2D材質 154
5.6.1 修改Sprite顏色 154
5.6.2 自定義的黑白效果材質 155
5.7 小結 155
第6章 與Web服務器的交互 156
6.1 Web服務器簡介 157
6.2 在Windows上安裝部署Apache 158
6.2.1 安裝Apache 158
6.2.2 Apache常用命令 159
6.2.3 安裝MySQL 159
6.2.4 安裝PHP 161
6.2.5 安裝Redis 162
6.3 PHP開發環境 163
6.3.1 第一個PHP程序 163
6.3.2 調試PHP代碼 164
6.3.3 PHP基本語法 165
6.4 WWW基本應用 167
6.4.1 創建簡單的UI界面 167
6.4.2 GET請求 168
6.4.3 POST請求 169
6.4.4 上傳下載圖片 170
6.4.5 下載聲音文件 171
6.5 分數排行榜 172
6.5.1 創建數據庫 172
6.5.2 創建PHP腳本 173
6.5.3 上傳下載分數 175
6.5.4 使用Redis緩存數據 177
6.6 MD5驗證 179
6.7 小結 180
第7章 TCP UDP實例 181
7.1 網絡開發簡介 182
7.2 簡單的網絡通信程序 184
7.2.1 簡單的TCP程序 184
7.2.2 簡單的UDP程序 186
7.3 異步TCP網絡通信 188
7.3.1 創建數據包對象 188
7.3.2 邏輯處理 190
7.3.3 核心TCP網絡功能 192
7.3.4 創建聊天協議 196
7.4 Unity聊天客戶端 197
7.5 聊天服務器端 200
7.6 JSON.NET簡介 205
7.7 小結 206
第8章 HTML5(WebGL)遊戲移植 207
8.1 關於HTML5和WebGL 208
8.2 導出Unity遊戲到WebGL平臺 208
8.2.1 導出WebGL遊戲 208
8.2.2 設置WebGL模板 210
8.2.3 默認的index.html 210
8.2.4 文件訪問 211
8.3 自定義Loading頁面 212
8.4 編寫WebGL遊戲插件 215
8.4.1 訪問JavaScript示例一 215
8.4.2 訪問JavaScript示例二 216
8.5 在網頁上保存遊戲記錄 217
8.6 小結 217
第9章 iOS遊戲移植 218
9.1 iOS簡介 219
9.2 軟件安裝 219
9.3 申請開發權限 219
9.4 設置iOS開發環境 219
9.5 測試iOS遊戲 222
9.6 發佈iOS遊戲 223
9.7 對接iOS原生語言 223
9.7.1 在Xcode中創建Objectiv-C
代碼 223
9.7.2 在Unity中引用Objectiv-C
代碼 226
9.8 內消費 227
9.9 本地存儲位置 227
9.10 使用命令行編譯Xcode工程 228
9.10.1 編譯Xcode工程 228
9.10.2 打包.ipa文件 228
9.11 小結 228
第10章 Android遊戲移植 229
10.1 Android簡介 230
10.2 安裝Android SDK 230
10.3 運行Android遊戲 231
10.3.1 準備測試環境 231
10.3.2 設置Android遊戲工程 232
10.3.3 測試Android遊戲 234
10.3.4 發佈Android遊戲 234
10.3.5 Obb數據包 236
10.4 使用Android Studio 236
10.4.1 Android Studio簡介 237
10.4.2 配置Android Studio 237
10.4.3 創建Hello world程序 238
10.5 從Unity到Android Studio 239
10.5.1 創建Unity工程 240
10.5.2 創建Android Studio工程 241
10.5.3 查看Log 243
10.5.4 發佈程序 244
10.6 使用腳本編譯遊戲 245
10.6.1 在Unity中使用腳本導出
Android工程 245
10.6.2 使用Python腳本訪問Unity
命令行 247
10.6.3 使用命令行編譯Android Studio
工程 248
10.7 獲得簽名證書的sha1值 249
10.8 導入庫文件 250
10.9 Plugins目錄 251
10.10 代碼混淆 251
10.11 百度地圖實例 252
10.11.1 導入百度地圖SDK 252
10.11.2 實現百度地圖控件 253
10.12 觸屏操作 256
10.13 AssetBundle 261
10.13.1 創建AssetBundle資源 261
10.13.2 下載、實例化AssetBundle
資源 263
10.13.3 批量創建AssetBundle 264
10.14 小結 265
第11章 Unity新GUI完全攻略 266
11.1 Unity的GUI系統 267
11.2 Canvas(畫布) 267
11.2.1 創建Canvas 268
11.2.2 設置Canvas 268
11.2.3 Canvas的屏幕適應模式 271
11.2.4 Canvas層級內UI控件的
排序 271
11.2.5 Canvas的隱藏和顯示 272
11.2.6 查找UI層級下的子控件 272
11.3 UI坐標對齊方式 272
11.4 Text(文字) 273
11.5 自定義字體 274
11.5.1 創建字體貼圖 274
11.5.2 創建Shader 276
11.6 Image(圖像) 278
11.6.1 創建Image控件 278
11.6.2 設置Alpha 279
11.6.3 設置Raycast Target 279
11.6.4 設置UI圖像為Sliced類型 280
11.6.5 設置UI圖像為Tiled類型 281
11.6.6 設置UI圖像為Filled類型 281
11.6.7 Mask(蒙版) 282
11.7 Button(按鈕)控件 283
11.7.1 創建按鈕 283
11.7.2 設置按鈕狀態變化 283
11.7.3 在編輯器中設置按鈕觸發
事件 284
11.7.4 在腳本中定義按鈕單擊事件 285
11.7.5 判斷按壓按鈕事件 286
11.8 Toggle(開關)控件 286
11.8.1 創建Toggle控件 286
11.8.2 Toggle組 287
11.8.3 Toggle控件的腳本 288
11.9 Raw Image控件 288
11.10 Slider(滑塊)控件 290
11.10.1 創建Slider控件 290
11.10.2 改變滑塊大小 290
11.10.3 使用腳本控制滑塊 291
11.11 Input Field(文本輸入)控件 291
11.12 Scroll View(卷軸視圖)控件 292
11.13 Dropdown(下拉列表)控件 294
11.14 實用UI功能 295
11.14.1 判斷是否單擊了UI 295
11.14.2 拖動UI控件方法1 295
11.14.3 拖動UI控件方法2 297
11.14.4 在UI前面顯示粒子特效 298
11.15 使用插件DOTween製作動畫 299
11.15.1 在編輯器中設置DOTween
動畫 299
11.15.2 在腳本中設置DOTween
動畫 300
11.16 使用插件EnhancedScroller優化
卷軸視圖 301
11.16.1 創建數據模型 302
11.16.2 創建UI視圖控制腳本 302
11.16.3 創建控制器 302
11.16.4 創建卷軸視圖UI 303
11.17 小結 305
第12章 遊戲開發中的美術工作
流程 306
12.1 Unity和藝術家 307
12.2 視圖操作捕捉 307
12.3 光照和渲染系統 308
12.3.1 光源類型 308
12.3.2 渲染管道 309
12.3.3 質量設置 310
12.3.4 實時陰影 310
12.3.5 環境光 312
12.3.6 Fog(霧) 313
12.3.7 直接照明與間接照明 314
12.3.8 Lightmapping(光照貼圖) 316
12.3.9 環境反射採樣 321
12.3.10 光照採樣 322
12.4 色彩空間 324
12.5 物理材質 326
12.6 攝像機 329
12.7 地形 331
12.8 粒子特效 334
12.9 物理設置 339
12.10 遊戲資源 341
12.10.1 貼圖 341
12.10.2 在3ds Max中創建
法線貼圖 342
12.10.3 3ds Max靜態模型導出 343
12.10.4 3ds Max動畫導出 345
12.10.5 Maya模型導出 345
12.11 Unity兩足動畫系統 346
12.11.1 修改3ds Max兩足動畫
骨骼 347
12.11.2 導入3ds Max兩足角色到
Unity 348
12.11.3 導入角色動畫到Unity 348
12.11.4 表情動畫 349
12.11.5 動畫控制器 350
12.12 動畫插件Skele 351
12.13 電影片段製作 355
12.14 美術資源的優化 357
12.15 小結 358
第13章 Behavior Designer――行為
樹AI 359
13.1 行為樹和AI 360
13.1.1 行為樹插件的安裝 360
13.1.2 簡單的AI處理方式 360
13.1.3 狀態機AI處理方式 361

13.1.4 Behavior Designer的行為樹AI
處理方式 362
13.2 行為樹任務 363
13.2.1 任務返回值 363
13.2.2 Action(動作) 363
13.2.3 Composite(組合) 363
13.2.4 Conditional(條件) 365
13.2.5 Decorator(修飾) 366
13.3 行為樹實例 366
13.3.1 主角的行為樹 367
13.3.2 遊蕩的敵人 372
13.3.3 行為樹的交互 373
13.4 行為樹系統擴展 376
13.4.1 外部行為樹 376
13.4.2 自定義任務 377
13.4.3 自定義共享數據類型 378
13.4.4 在腳本中設置行為樹 380
13.4.5 在腳本中發送事件 380
13.5 優化 380
13.6 小結 381
第14章 玩轉PlayMaker 382
14.1 關於PlayMaker 383
14.1.1 優點和缺點 383
14.1.2 安裝 383
14.2 PlayMaker的模塊和工作機制 384
14.2.1 有限狀態機 384
14.2.2 創建PlayMaker狀態機 384
14.2.3 State(狀態) 385
14.2.4 Event(事件) 385
14.2.5 Action(動作) 386
14.2.6 變量 387
14.2.7 發送事件 388
14.3 自定義Action 388
14.4 小結 391
第15章 VR虛擬現實開發 392
15.1 VR簡介 393
15.2 設置HTC Vive開發環境 393
15.3 VR操作示例 394
15.3.1 創建VR場景 394
15.3.2 手柄控制器 395
15.4 小結 397
第16章 AR增強現實開發 398
16.1 AR和Vuforia 399
16.2 創建Vuforia工程 399
16.3 準備AR參考目標 401
16.4 設置AR參考目標 402
16.5 小結 404
第17章 Shader編程與後期特效 405
17.1 Shader簡介 406
17.2 渲染管線 406
17.3 ShaderLab語言 407
17.4 CG語言簡介 409
17.5 Vertex and Fragment Shader示例 409
17.5.1 顯示紋理和色彩 409
17.5.2 使用通道表現多個紋理 412
17.5.3 添加基本光照 414
17.5.4 UV動畫效果 415
17.5.5 黑白效果 416
17.5.6 簡單描邊效果 417
17.5.7 Alpha透明效果 419
17.6 屏幕特效示例 421
17.7 後期特效 423
17.8 小結 424
第18章 動態編程和Lua 425
18.1 動態語言簡介 426
18.2 動態讀取程序集實現熱更新 426
18.2.1 創建.dll文件 426
18.2.2 測試熱更新.dll文件 427
18.2.3 通過反射訪問.dll文件 428
18.3 Lua語言快速教程 429
18.3.1 MoonSharp和Lua開發環境的
安裝 429
18.3.2 Lua提供的類型 429
18.3.3 Lua的判斷和循環語句 430
18.3.4 Lua的函數 431
18.3.5 Lua的IO操作 431
18.3.6 Lua的數組操作 432
18.3.7 Lua的字符串操作 433
18.3.8 Lua的協程 433
18.4 Lua與Unity的交互 435
18.4.1 在Unity中讀取Lua代碼 435
18.4.2 將Unity 功能導入到
Lua中 436
18.5 Lua腳本的熱更新 437
18.6 小結 438
附錄A C#語言 439
A.1 C#基礎 440
A.1.1 C#簡介 440
A.1.2 運行控制台程序 440
A.1.3 類型 441
A.1.4 內置類型 441
A.1.5 標識符 442
A.1.6 語句和表達式 442
A.1.7 變量和常量 443
A.1.8 枚舉 443
A.1.9 數學操作符 443
A.1.10 關係操作符 444
A.1.11 邏輯操作符 444
A.1.12 操作符優先級 445
A.1.13 方法 445
A.1.14 遞歸 446
A.1.15 條件分支語句 446
A.1.16 循環語句 447
A.1.17 三元操作符 448
A.1.18 預處理 448
A.2 面向對象編程 449
A.2.1 類 449
A.2.2 this關鍵字 450
A.2.3 封裝 451
A.2.4 繼承與多態 452
A.2.5 靜態成員 454
A.2.6 異常處理 455
A.3 字符串 456
A.4 數組 458
A.4.1 創建數組 458
A.4.2 遍歷數組和迭代器 458
A.5 基本I/O操作 460
A.5.1 寫文件 460
A.5.2 讀文件 461
A.5.3 刪除文件 462
A.5.4 二進制讀寫 462
A.6 泛型 463
A.6.1 實現泛型的基本語法 463
A.6.2 List的常見操作 464
A.6.3 List的排序 465
A.7 委託 468
A.7.1 委託 468
A.7.2 Lambda表達式 469
A.7.3 泛型委託 470
A.7.4 Action和Func 470
A.8 反射和特性 471
A.8.1 反射 471
A.8.2 特性 471
A.9 小結 472
附錄B 特殊文件夾 473
附錄C Unity編輯器菜單中英文對照 475

購物須知

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約20個工作天;
海外無庫存之書籍,平均作業時間約45個工作天,然不保證確定可調到貨,尚請見諒。