TOP
1/1
無庫存,下單後進貨(採購期約45個工作天)
Unity實戰(簡體書)
人民幣定價:69.8元
定  價:NT$419元
優惠價: 87365
可得紅利積點:10 點

無庫存,下單後進貨(採購期約45個工作天)

商品簡介

作者簡介

目次

本書講授如何使用Unity遊戲開發平臺來編寫和部署遊戲, 從頭講解Unity的工具集, 呈現從應用編碼者蛻變為遊戲開發者所需的技能。引導讀者使用強大的C#語言、Unity的可視化工作流工具和頂尖的渲染引擎來構建和部署移動、桌面和控制台遊戲。每章都闡述特定的Unity特性和遊戲開發策略。閱讀完本書內容和完成書中練習後, 你將掌握創建生動的基於2D和3D驅動的遊戲應用的各方面技能。
Joseph Hocking 是一名軟件工程師,專門研究交互式媒體開發。他目前為InContext Solutions 公司工作,在為Synapse Games 公司工作期間撰寫了《Unity 5實戰 使用C#和Unity開發多平臺遊戲》。他還在伊利諾伊大學芝加哥分校、芝加哥藝術學院和哥倫比亞大學芝加哥分校授課。蔡俊鴻,擁有多年遊戲開發經驗,精通遊戲服務器與客戶端開發,擅長高性能服務器架構設計與實現,客戶端架構、渲染和性能優化。目前就職於360遊戲藝術,擔任技術總監一職。
目 錄

第Ⅰ部分 起步
第1章 初識Unity 3
1.1 為什麼Unity如此優秀 4
1.1.1 Unity的優勢 4
1.1.2 要意識到的缺點 6
1.1.3 使用Unity構建的遊戲示例 7
1.2 如何使用Unity 10
1.2.1 Scene視圖、Game視圖和工具欄 11
1.2.2 使用鼠標和鍵盤 12
1.2.3 Hierarchy視圖和Inspector面板 13
1.2.4 Project和Console標簽 13
1.3 開始使用Unity編程 14
1.3.1 代碼在Unity中運行:腳本組件 15
1.3.2 使用MonoDevelop,跨平臺的IDE 16
1.3.3 打印到控制台:Hello World! 18
1.4 小結 20
第2章 構建一個令人置身3D空間的演示遊戲 21
2.1 在開始之前 22
2.1.1 對項目做計劃 22
2.1.2 瞭解3D坐標空間 23
2.2 開始項目:在場景中放置對象 25
2.2.1 佈景:地板、外牆和內牆 25
2.2.2 燈光和攝像機 27
2.2.3 玩家的碰撞器和視口 28
2.3 移動對象:應用變換的腳本 29
2.3.1 圖示說明如何通過編程實現移動 30
2.3.2 編寫代碼實現圖中演示的運動 30
2.3.3 本地和全域坐標空間 32
2.4 用於觀察周圍的組件腳本:MouseLook 33
2.4.1 跟蹤鼠標移動的水平旋轉 34
2.4.2 有限制的垂直旋轉 35
2.4.3 同時水平旋轉和垂直旋轉 36
2.5 鍵盤輸入組件:第一人稱控件 38
2.5.1 響應按下的鍵 39
2.5.2 設置獨立於計算機運行速度的移動速率 40
2.5.3 移動CharacterController以檢測碰撞 41
2.5.4 將組件調整為走路而不是飛翔 42
2.6 小結 44
第3章 為3D遊戲添加敵人和子彈 45
3.1 通過射線射擊 46
3.1.1 什麼是射線發射 46
3.1.2 使用命令ScreenPointToRay射擊 47
3.1.3 為准心和擊中點添加可視化指示器 49
3.2 編寫能響應的目標 52
3.2.1 確定被擊中的對象 52
3.2.2 警告目標被擊中 53
3.3 基本漫遊AI 54
3.3.1 圖解基礎AI的工作原理 54
3.3.2 使用射線發射發現障礙物 55
3.3.3 跟蹤角色的狀態 56
3.4 生成敵人預設 58
3.4.1 什麼是預設 58
3.4.2 創建敵人預設 58
3.4.3 在不可見的SceneController中實例化 59
3.5 通過實例化對象進行射擊 62
3.5.1 創建子彈預設 62
3.5.2 發射子彈並和目標碰撞 63
3.5.3 傷害玩家 65
3.6 小結 66
第4章 為遊戲開發圖形 67
4.1 瞭解美術資源 67
4.2 構建基礎3D場景:白盒 70
4.2.1 白盒的解釋 70
4.2.2 為關卡繪製地板平面圖 71
4.2.3 根據平面圖佈局幾何體 71
4.3 使用2D圖像給場景貼圖 73
4.3.1 選擇文件格式 73
4.3.2 導入圖像文件 74
4.3.3 應用圖像 76
4.4 使用貼圖圖像產生天空視覺效果 77
4.4.1 什麼是天空盒 77
4.4.2 創建一個新天空盒材質 78
4.5 使用自定義3D模型 80
4.5.1 選擇文件格式 81
4.5.2 導出和導入模型 81
4.6 使用粒子系統創建效果 84
4.6.1 調整默認效果的參數 85
4.6.2 為火焰應用新貼圖 86
4.6.3 將粒子效果附加到3D對象上 87
4.7 小結 88
第Ⅱ部分 輕鬆工作
第5章 使用Unity的2D功能構建一款記憶力遊戲 91
5.1 設置2D圖形 92
5.1.1 為項目做準備 92
5.1.2 顯示2D圖像(亦稱精靈) 94
5.1.3 將攝像機切換為2D模式 96
5.2 構建卡片對象並使它響應單擊 97
5.2.1 從精靈中構建對象 97
5.2.2 鼠標輸入代碼 98
5.2.3 當單擊時顯示卡片正面 99
5.3 顯示不同的卡片圖像 99
5.3.1 通過編程加載圖像 99
5.3.2 通過不可見的SceneController設置圖像 100
5.3.3 實例化一疊卡片 102
5.3.4 打亂卡片 104
5.4 實現匹配和匹配得分 105
5.4.1 保存並比較翻開的卡片 106
5.4.2 隱藏不匹配的卡片 106
5.4.3 顯示分數的文本 107
5.5 重啟按鈕 109
5.5.1 使用SendMessage編寫UIButton組件 109
5.5.2 從SceneController中調用LoadScene 111
5.6 小結 112
第6章 創建基本的2D平臺遊戲 113
6.1 設置圖形 114
6.1.1 放置牆壁和地板 114
6.1.2 導入精靈表 115
6.2 左右移動玩家 116
6.2.1 編寫鍵盤控制 117
6.2.2 與牆壁碰撞 117
6.3 播放精靈動畫 118
6.3.1 講解Mecanim動畫系統 118
6.3.2 在代碼中觸發動畫的播放 120
6.4 添加跳躍功能 121
6.4.1 因重力而下落 121
6.4.2 施加向上的躍動 122
6.4.3 檢測地面 123
6.5 平臺遊戲的附加功能 123
6.5.1 不同尋常的樓層:斜坡和單向平臺 124
6.5.2 實現移動的平臺 125
6.5.3 攝像機控制 128
6.6 小結 129
第7章 在遊戲中放置GUI 131
7.1 在開始寫代碼之前 133
7.1.1 立即模式GUI還是高級2D界面 133
7.1.2 規劃佈局 134
7.1.3 導入UI圖像 134
7.2 設置GUI顯示 135
7.2.1 為界面創建畫布 135
7.2.2 按鈕、圖像和文本標簽 136
7.2.3 控制UI元素的位置 139
7.3 編寫UI中的交互 140
7.3.1 編寫不可見的UIController 141
7.3.2 創建彈出窗口 143
7.3.3 使用滑動條和輸入域設置值 145
7.4 通過響應事件更新遊戲 147
7.4.1 集成事件系統 148
7.4.2 從場景中廣播和偵聽事件 148
7.4.3 從HUD廣播和偵聽事件 150
7.5 小結 151
第8章 創建第三人稱3D遊戲:玩家移動和動畫 153
8.1 將攝像機視圖調整為第三人稱視角 155
8.1.1 導入一個用於觀察的角色 155
8.1.2 將陰影添加到場景 156
8.1.3 攝像機環繞玩家角色 158
8.2 編寫程序控制攝像機的相對移動 160
8.2.1 旋轉角色,以朝向移動方向 160
8.2.2 朝某方向移動 162
8.3 實現跳躍動作 164
8.3.1 應用垂直速度和加速度 164
8.3.2 修改地面檢測來處理邊緣和斜坡 166
8.4 設置玩家角色上的動畫 169
8.4.1 在導入的模型上定義動畫剪輯 171
8.4.2 為動畫創建動畫控制器 172
8.4.3 編寫操作Animator組件的代碼 175
8.5 小結 176
第9章 在遊戲中添加交互設施和物件 177
9.1 創建門和其他設施 178
9.1.1 用按鍵控制開關的門 178
9.1.2 用開門之前檢查距離和朝向 179
9.1.3 創建一個變色監控器 181
9.2 通過碰撞與對象交互 182
9.2.1 和具有物理功能的障礙物碰撞 182
9.2.2 用觸發器對象操作門 183
9.2.3 收集當前關卡散落的物件 186
9.3 管理倉庫數據和遊戲狀態 187
9.3.1 設置玩家和倉庫管理器 188
9.3.2 編程實現遊戲管理器 189
9.3.3 把物品存儲在集合對象中:List與Dictionary 193
9.4 使用和裝備物品的倉庫UI 195
9.4.1 在UI中顯示倉庫物品 195
9.4.2 裝備一個用來開門的鑰匙 198
9.4.3 通過使用血量包來恢復玩家的血量 199
9.5 小結 201
第Ⅲ部分 衝刺階段
第10章 將遊戲連接到互聯網 205
10.1 創建戶外場景 207
10.1.1 使用天空盒生成天空視覺效果 207
10.1.2 通過代碼設置大氣環境 208
10.2 從互聯網服務下載天氣數據 210
10.2.1 使用協程請求HTTP數據 213
10.2.2 解析XML 217
10.2.3 解析JSON 218
10.2.4 基於天氣數據影響場景 220
10.3 添加一個網絡佈告欄 221
10.3.1 從互聯網加載圖像 222
10.3.2 在佈告欄上顯示圖像 224
10.3.3 緩存下載的圖像以供重用 225
10.4 將數據發送到Web服務器 227
10.4.1 跟蹤當前的天氣:發送post請求 227
10.4.2 PHP中的服務器端代碼 229
10.5 小結 230
第11章 播放音頻:音效和音樂 231
11.1 導入音效 232
11.1.1 支持的文件格式 232
11.1.2 導入音頻文件 234
11.2 播放音效 235
11.2.1 音頻剪輯、音源和聲音偵聽器 235
11.2.2 設定循環播放的聲音 236
11.2.3 用代碼觸發音效 237
11.3 音頻控制接口 238
11.3.1 建立中心AudioManager 239
11.3.2 音量控制UI 241
11.3.3 播放UI聲音 244
11.4 背景音樂 245
11.4.1 播放循環音樂 245
11.4.2 獨立控制音樂的音量 248
11.4.3 歌曲間的淡入淡出 250
11.5 小結 253
第12章 將各部分整合為一個完整的遊戲 255
12.1 再次利用項目構建動作RPG演示遊戲 256
12.1.1 將多個項目的資源和代碼裝配在一起 257
12.1.2 編寫指向-單擊控件:移動和設備 259
12.1.3 使用新界面替換舊GUI 264
12.2 開發總體的遊戲結構 270
12.2.1 控制任務流和多個關卡 270
12.2.2 到達出口,完成一個關卡 274
12.2.3 被敵人捉到時關卡失敗 276
12.3 處理玩家在遊戲過程中的進度 278
12.3.1 保存並加載玩家進度 278
12.3.2 完成三個關卡,遊戲通關 282
12.4 小結 284
第13章 將遊戲部署到玩家的設備 285
13.1 構建用於桌面的應用包:Windows、Mac和Linux 287
13.1.1 構建應用 288
13.1.2 調整Player Settings:設置遊戲的名稱和圖標 289
13.1.3 平臺依賴的編譯 290
13.2 為Web構建遊戲 292
13.2.1 Unity Player和HTML5/WebGL 292
13.2.2 構建嵌入網頁的遊戲 292
13.2.3 與瀏覽器中的JavaScript通信 292
13.3 構建移動應用的平臺:iOS和Android 296
13.3.1 設置構建工具 296
13.3.2 貼圖壓縮 300
13.3.3 開發插件 301
13.4 小結 308
附錄A 場景導航和快捷鍵 309
A.1 使用鼠標進行場景導航 309
A.2 有用的快捷鍵 310
附錄B 與Unity一同使用的外部工具 311
B.1 編程工具 311
B.1.1 Visual Studio 311
B.1.2 Xcode 311
B.1.3 Android SDK 312
B.1.4 SVN、Git或Mercurial 312
B.2 3D美術應用 312
B.2.1 Maya 312
B.2.2 3ds Max 312
B.2.3 Blender 313
B.2.4 SketchUp 313
B.3 2D圖像編輯器 313
B.3.1 Photoshop 313
B.3.2 GIMP 313
B.3.3 TexturePacker 313
B.3.4 Aseprite, Pyxel Edit 314
B.4 音頻軟件 314
B.4.1 Pro Tools 314
B.4.2 Audacity 314
附錄C 在Blender中建模一個板凳 315
C.1 構建網格幾何體 316
C.2 模型的貼圖映射 319
附錄D 在線學習資源 323
D.1 其他指南 323
D.2 代碼庫 324
後序 327

購物須知

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

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

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

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