注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計Unity實戰(zhàn)(第3版)

Unity實戰(zhàn)(第3版)

Unity實戰(zhàn)(第3版)

定 價:¥99.80

作 者: [美]約瑟夫·霍金(Joseph Hocking)著,王冬 殷崇英 譯
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302638254 出版時間: 2023-08-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字數(shù):  

內(nèi)容簡介

  編寫游戲能獲得較豐厚的回報并且充滿樂趣——使用Unity,很容易上手編寫游戲!Unity會為我們處理繁重的工作,所以你可以專注于游戲玩法、圖像和用戶體驗。C#的支持和一個龐大的預(yù)構(gòu)建組件生態(tài)系統(tǒng)甚至可以幫助開發(fā)新手快速從繪圖板轉(zhuǎn)向屏幕。 《Unity實戰(zhàn)(第3版)》介紹如何使用Unity游戲平臺創(chuàng)建游戲。其中包含的許多2D、3D和AR/VR游戲示例能讓你親身體驗Unity的工作流程和**進的渲染引擎?!禪nity實戰(zhàn)(第3版)》已完全更新,介紹了Unity的XR工具包,展示了如何開始構(gòu)建VR和AR應(yīng)用。 ● 創(chuàng)建跑、跳、撞東西的角色 ● 用AI編寫敵人腳本 ● 播放音樂和空間感知音效 ● 將游戲部署到桌面、手機和網(wǎng)頁上

作者簡介

  Joseph Hocking 是一位專門從事交互式媒體開發(fā)的軟件工程師。他目前在高通公司工作,在BUNDLAR 工作時編寫了本書第3 版的大部分內(nèi)容,在Synapse Games 工作時編寫了本書的第1 版。他還曾在伊利諾伊大學(xué)芝加哥分校、芝加哥藝術(shù)學(xué)院和芝加哥哥倫比亞學(xué)院授課。他與妻子和兩個孩子住在芝加哥郊區(qū)。更多信息可以訪問他的個人網(wǎng)站(見鏈接[1])。

圖書目錄

第Ⅰ部分 起步
第1 章 初識Unity.3
1.1 為什么Unity 如此優(yōu)秀4
1.1.1 Unity 的優(yōu)勢4
1.1.2 要意識到的缺點6
1.1.3 使用Unity 構(gòu)建的游戲示例7
1.2 如何使用Unity10
1.2.1 Scene 視圖、Game 視圖和工具欄12
1.2.2 使用鼠標(biāo)和鍵盤.14
1.2.3 Hierarchy 視圖和Inspector面板14
1.2.4 Project 和Console 標(biāo)簽.15
1.3 開始使用Unity 編程16
1.3.1 在Unity 中運行代碼:腳本組件16
1.3.2 使用附帶的IDE:Visual Studio.18
1.3.3 打印到Console 視圖:Hello World!19
1.4 小結(jié)21
第2 章 構(gòu)建一個令人置身3D 空間的演示游戲.23
2.1 在開始之前24
2.1.1 對項目做計劃24
2.1.2 了解3D 坐標(biāo)空間.25
2.2 開始項目:在場景中放置對象 27
2.2.1 布景:地面、外墻和內(nèi)墻 27
2.2.2 光源和攝像機. 29
2.2.3 玩家的碰撞器和視點. 31
2.3 移動對象:應(yīng)用變換的腳本 32
2.3.1 圖示說明如何通過編程實現(xiàn)移動 32
2.3.2 編程實現(xiàn)圖中演示的運動 32
2.3.3 理解局部和全局坐標(biāo)空間 34
2.4 用于觀察周圍情況的腳本組件:MouseLook. 35
2.4.1 跟蹤鼠標(biāo)移動的水平旋轉(zhuǎn) 37
2.4.2 有限制的垂直旋轉(zhuǎn) 38
2.4.3 同時進行水平和垂直旋轉(zhuǎn) 40
2.5 鍵盤輸入組件:第一人稱控制 42
2.5.1 響應(yīng)按鍵. 43
2.5.2 設(shè)置獨立于計算機運行速度的移動速率 44
2.5.3 移動CharacterController以檢測碰撞 44
2.5.4 將組件調(diào)整為走路而不是飛翔46
2.6 小結(jié)48
第3 章 在3D 游戲中添加敵人和子彈.49
3.1 通過射線投射射擊50
3.1.1 什么是射線投射.50
3.1.2 使用ScreenPointToRay命令射擊.51
3.1.3 為瞄準(zhǔn)點和擊中點添加可視化指示器53
3.2 編寫反應(yīng)性目標(biāo)腳本.56
3.2.1 確定被擊中的對象56
3.2.2 警告目標(biāo)被擊中.57
3.3 漫游AI 基礎(chǔ)58
3.3.1 圖解基礎(chǔ)AI 的工作原理.58
3.3.2 使用射線投射發(fā)現(xiàn)障礙物59
3.3.3 跟蹤角色的狀態(tài).61
3.4 生成敵人預(yù)制體62
3.4.1 什么是預(yù)制體63
3.4.2 創(chuàng)建敵人預(yù)制體.63
3.4.3 在不可見的Scene Controller 中實例化.64
3.5 通過實例化對象進行射擊.67
3.5.1 創(chuàng)建子彈預(yù)制體.67
3.5.2 發(fā)射子彈并和目標(biāo)碰撞69
3.5.3 傷害玩家.71
3.6 小結(jié)72
第4 章 為游戲開發(fā)圖形.73
4.1 了解美術(shù)資源.73
4.2 構(gòu)建基礎(chǔ)3D 場景:白盒76
4.2.1 白盒的解釋76
4.2.2 為關(guān)卡繪制平面圖 77
4.2.3 根據(jù)平面圖布局幾何體 77
4.3 使用2D 圖像為場景貼圖. 79
4.3.1 選擇文件格式. 80
4.3.2 導(dǎo)入圖像文件. 81
4.3.3 應(yīng)用圖像. 83
4.4 使用貼圖圖像產(chǎn)生天空視覺效果 84
4.4.1 什么是天空盒. 84
4.4.2 新建天空盒材質(zhì) 85
4.5 使用自定義3D 模型 87
4.5.1 選擇文件格式. 88
4.5.2 導(dǎo)出和導(dǎo)入模型 89
4.6 使用粒子系統(tǒng)創(chuàng)建效果 91
4.6.1 調(diào)整默認效果的參數(shù). 92
4.6.2 為火焰應(yīng)用新貼圖 94
4.6.3 將粒子效果附加到3D對象上 95
4.7 小結(jié) 96
第Ⅱ部分 輕松工作
第5 章 使用Unity 的2D 功能構(gòu)建一款記憶力游戲.99
5.1 設(shè)置2D 圖形100
5.1.1 為項目做準(zhǔn)備100
5.1.2 顯示2D 圖像(sprite).103
5.1.3 將攝像機切換為2D模式.104
5.2 構(gòu)建卡片對象并使它響應(yīng)單擊106
5.2.1 用sprite 構(gòu)建對象.106
5.2.2 鼠標(biāo)輸入代碼107
5.2.3 當(dāng)單擊時顯示卡片正面.107
5.3 顯示不同的卡片圖像. 108
5.3.1 通過編程加載圖像 109
5.3.2 通過不可見的Scene
Controller 設(shè)置圖像. 110
5.3.3 實例化卡片的網(wǎng)格 112
5.3.4 打亂卡片. 113
5.4 實現(xiàn)匹配并為匹配評分 114
5.4.1 保存并比較翻開的卡片 115
5.4.2 隱藏不匹配的卡片 116
5.4.3 分數(shù)的文本顯示. 117
5.5 重啟按鈕 119
5.5.1 使用SendMessage編寫UIButton 組件. 119
5.5.2 從SceneController 中調(diào)用LoadScene 121
5.6 小結(jié) 122
第6 章 創(chuàng)建基本的2D 平臺游戲 123
6.1 設(shè)置圖形 124
6.1.1 放置墻壁和地面. 124
6.1.2 導(dǎo)入sprite sheet 125
6.2 左右移動玩家. 126
6.2.1 編寫鍵盤控制 127
6.2.2 與墻壁碰撞 128
6.3 播放sprite 動畫. 129
6.3.1 講解Mecanim 動畫系統(tǒng) 129
6.3.2 在代碼中觸發(fā)動畫的播放 131
6.4 添加跳躍功能. 132
6.4.1 因重力而下落 132
6.4.2 實現(xiàn)向上躍動 133
6.4.3 檢測地面. 134
6.5 平臺游戲的附加功能. 135
6.5.1 不同尋常的地面:斜坡和單向平臺.136
6.5.2 實現(xiàn)移動的平臺.137
6.5.3 攝像機控制140
6.6 小結(jié)141
第7 章 在游戲中放置GUI143
7.1 在開始寫代碼之前.144
7.1.1 立即模式GUI 還是高級2D 界面144
7.1.2 規(guī)劃布局146
7.1.3 導(dǎo)入UI 圖像.146
7.2 設(shè)置GUI 顯示147
7.2.1 為界面創(chuàng)建畫布.147
7.2.2 按鈕、圖像和文本標(biāo)簽.148
7.2.3 控制UI 元素的位置.151
7.3 編程實現(xiàn)UI 中的交互153
7.3.1 編程實現(xiàn)不可見的UIController154
7.3.2 創(chuàng)建彈出窗口155
7.3.3 使用滑動條和輸入字段設(shè)置值159
7.4 通過響應(yīng)事件更新游戲161
7.4.1 集成事件系統(tǒng)162
7.4.2 從場景中廣播和監(jiān)聽事件.162
7.4.3 從HUD 廣播和監(jiān)聽事件.163
7.5 小結(jié)165
第8 章 創(chuàng)建第三人稱3D 游戲:玩家移動和動畫.167
8.1 將攝像機視圖調(diào)整為第三人稱視角169
8.1.1 導(dǎo)入用于觀察的角色. 170
8.1.2 將陰影添加到場景 171
8.1.3 圍繞玩家角色旋轉(zhuǎn)攝像機 172
8.2 編程控制攝像機的相對移動 175
8.2.1 旋轉(zhuǎn)角色以面向移動方向 176
8.2.2 朝某方向前進 178
8.3 實現(xiàn)跳躍動作. 179
8.3.1 應(yīng)用垂直速度和加速度 180
8.3.2 修改地面檢測來處理邊緣和斜坡 181
8.4 設(shè)置玩家角色上的動畫 185
8.4.1 在導(dǎo)入的模型上定義動畫剪輯 187
8.4.2 創(chuàng)建動畫控制器. 188
8.4.3 編寫操作Animator 組件的代碼 192
8.5 小結(jié) 193
第9 章 在游戲中添加交互設(shè)施和物件. 195
9.1 創(chuàng)建門和其他設(shè)施 196
9.1.1 用按鍵控制開關(guān)的門. 196
9.1.2 在開門之前檢查距離和朝向 197
9.1.3 創(chuàng)建變色監(jiān)控器. 199
9.2 通過碰撞與對象交互. 200
9.2.1 和具有物理屬性的障礙物碰撞 201
9.2.2 用觸發(fā)器對象操作門. 202
9.2.3 收集當(dāng)前關(guān)卡散落的物件 205
9.3 管理倉庫數(shù)據(jù)和游戲狀態(tài).206
9.3.1 設(shè)置玩家和倉庫管理器.207
9.3.2 編程實現(xiàn)游戲管理器208
9.3.3 把物品存儲在集合對象中:List 與Dictionary.212
9.4 用于使用和裝備物品的倉庫UI215
9.4.1 在UI 中顯示倉庫物品215
9.4.2 裝備用于開門的鑰匙217
9.4.3 使用血量包恢復(fù)玩家的血量.219
9.5 小結(jié)220
第Ⅲ部分 沖刺階段
第10 章 將游戲連接到互聯(lián)網(wǎng).223
10.1 創(chuàng)建戶外場景224
10.1.1 使用天空盒生成天空視覺效果.225
10.1.2 通過代碼設(shè)置氛圍226
10.2 從互聯(lián)網(wǎng)服務(wù)下載天氣數(shù)據(jù).228
10.2.1 使用協(xié)程請求HTTP數(shù)據(jù)231
10.2.2 解析XML .235
10.2.3 解析JSON.236
10.2.4 基于天氣數(shù)據(jù)更新場景239
10.3 添加網(wǎng)絡(luò)布告欄240
10.3.1 從互聯(lián)網(wǎng)加載圖像240
10.3.2 在布告欄上顯示圖像.243
10.3.3 緩存下載的圖像以供重用244
10.4 將數(shù)據(jù)發(fā)送到Web服務(wù)器. 246
10.4.1 跟蹤當(dāng)前的天氣:發(fā)送post 請求. 247
10.4.2 PHP 中的服務(wù)器端代碼 248
10.5 小結(jié) 249
第11 章 播放音頻:音效和音樂 251
11.1 導(dǎo)入音效 252
11.1.1 支持的文件格式 252
11.1.2 導(dǎo)入音頻文件. 254
11.2 播放音效 255
11.2.1 音頻剪輯、音源和聲音監(jiān)聽器 255
11.2.2 設(shè)定循環(huán)播放的聲音 256
11.2.3 用代碼觸發(fā)音效 257
11.3 使用音頻控制接口. 258
11.3.1 建立中心Audio Manager 259
11.3.2 音量控制UI. 261
11.3.3 播放UI 聲音 264
11.4 添加背景音樂 265
11.4.1 播放循環(huán)音樂. 266
11.4.2 獨立控制音樂的音量 269
11.4.3 背景音樂的淡入淡出 271
11.5 小結(jié) 274
第12 章 將各部分整合為一個完整的游戲 275
12.1 再次利用項目構(gòu)建動作RPG 演示游戲. 276
12.1.1 將多個項目的資源和代碼裝配在一起277
12.1.2 編程實現(xiàn)“點擊”控制:角色移動和設(shè)備操控.279
12.1.3 使用新界面替換舊GUI.285
12.2 開發(fā)總體游戲結(jié)構(gòu).291
12.2.1 控制任務(wù)流和多個關(guān)卡292
12.2.2 到達出口,完成一個關(guān)卡296
12.2.3 被敵人捉到時闖關(guān)失敗298
12.3 處理玩家在游戲過程中的進度.299
12.3.1 保存并加載玩家進度299
12.3.2 完成三個關(guān)卡,游戲通關(guān)303
12.4 小結(jié).305
第13 章 將游戲部署到玩家設(shè)備上307
13.1 構(gòu)建到桌面端:Windows、Mac 和Linux.309
13.1.1 構(gòu)建應(yīng)用程序.310
13.1.2 調(diào)整Player Settings:設(shè)置游戲的名稱和圖標(biāo)311
13.1.3 平臺依賴的編譯311
13.2 構(gòu)建到Web 端.313
13.2.1 構(gòu)建嵌入網(wǎng)頁的游戲314
13.2.2 與瀏覽器中的JavaScript通信 314
13.3 構(gòu)建到移動端:iOS 和Android 318
13.3.1 設(shè)置構(gòu)建工具. 319
13.3.2 貼圖壓縮 323
13.3.3 開發(fā)插件 324
13.4 XR(擴展現(xiàn)實)開發(fā). 332
13.4.1 支持虛擬現(xiàn)實頭戴式設(shè)備 333
13.4.2 面向移動端增強現(xiàn)實的AR Foundation 334
13.5 小結(jié) 339
后記 341
附錄A 場景導(dǎo)航和快捷鍵 343
A.1 使用鼠標(biāo)進行場景導(dǎo)航. 343
A.2 常用的快捷鍵 344
附錄B 與Unity 一同使用的外部工具. 345
B.1 編程工具. 345
B.1.1 Rider 345
B.1.2 Xcode 345
B.1.3 Android SDK 346
B.1.4 版本控制(Git、SVN) .346
B.2 3D 美術(shù)應(yīng)用程序346
B.2.1 Maya346
B.2.2 3ds Max346
B.2.3 Blender .347
B.2.4 SketchUp.347
B.3 2D 圖像編輯器.347
B.3.1 Photoshop347
B.3.2 GIMP.347
B.3.3 TexturePacker 347
B.3.4 Aseprite 和Pyxel Edit .347
B.4 音頻軟件.348
B.4.1 Pro Tools .348
B.4.2 Audacity 348
附錄C 在Blender 中創(chuàng)建長凳模型.349
C.1 構(gòu)建網(wǎng)格幾何體350
C.2 模型的貼圖映射353
附錄D 在線學(xué)習(xí)資源357
D.1 其他指南.357
D.2 代碼庫358

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號