基於.NET的Unity遊戲開發——Unity和Microsoft Game Dev遊戲開發教程
[新西蘭]陳嘉棟(Jiadong Chen),姬婧,鄭錚
- 出版商: 清華大學
- 出版日期: 2025-06-01
- 售價: $774
- 語言: 簡體中文
- ISBN: 7302688001
- ISBN-13: 9787302688006
-
相關分類:
.NET、遊戲引擎 Game-engine、遊戲設計 Game-design
- 此書翻譯自: Game Development with Unity for .NET Developers: The ultimate guide to creating games with Unity and Microsoft Game Stack
下單後立即進貨 (約4週~6週)
相關主題
商品描述
目錄大綱
目 錄
第1部分 Unity的基本概念
第1章
初識Unity
1.1 技術要求2
1.2 開始使用Unity編輯器3
1.2.1 選擇合適的Unity版本3
1.2.2 選擇合適的訂閱計劃4
1.2.3 下載和安裝Unity編輯器4
1.2.4 探索Unity編輯器12
1.3 在Unity中使用不同的功能24
1.3.1 什麼是遊戲引擎24
1.3.2 Unity的功能25
1.4 Unity中的.NET/C#和腳本26
1.4.1 Unity中的.NET配置文件26
1.4.2 Unity的腳本後端27
1.5 使用Visual Studio構建Unity遊戲29
1.6 本章小結32
第2章
Unity中的腳本概念
2.1 技術要求33
2.2 理解Unity中腳本的概念33
2.2.1 遊戲對象-組件架構33
2.2.2 Unity中的常見類34
2.2.3 Unity中的預制件39
2.2.4 Unity中的特殊文件夾44
2.3 腳本對象的生命周期44
2.3.1 初始化45
2.3.2 更新47
2.3.3 渲染48
2.4 創建腳本並用作組件51
2.4.1 如何在Unity中創建腳本51
2.4.2 將腳本作為組件附加到場景中的
遊戲對象上54
2.4.3 訪問附加到遊戲對象的組件57
2.5 Unity Package Manager和包60
2.5.1 Unity Package Manager60
2.5.2 包63
2.6 本章小結65
第2部分 C#腳本與Unity內置模塊的協同工作
第3章
使用Unity UI系統開發UI
3.1 Unity中的C#腳本和通用UI組件68
3.1.1 Canvas組件69
3.1.2 Image組件80
3.1.3 Text組件84
3.1.4 可選UI組件88
3.2 Unity中的C#腳本和UI事件系統90
3.2.1 輸入模塊91
3.2.2 新的Input System包92
3.3 MVVM模式和UI93
3.4 提高UI的性能99
3.4.1 Unity Profiler99
3.4.2 多個Canvas對象100
3.4.3 使用Sprite Atlas100
3.5 本章小結102
第4章
使用Unity動畫系統創建動畫
4.1 技術要求103
4.2 Unity動畫系統中的概念104
4.2.1 動畫剪輯104
4.2.2 動畫控制器109
4.2.3 Avatar112
4.2.4 Animator組件116
4.3 在Unity中實現3D動畫117
4.3.1 導入動畫資源117
4.3.2 配置動畫控制器120
4.4 在Unity中實現2D動畫124
4.5 提高Unity動畫系統的性能127
4.5.1 Unity Profiler工具127
4.5.2 Animator窗口的Culling Mode
屬性130
4.5.3 Anim.Compression130
4.6 本章小結131
第5章
使用Unity物理系統
5.1 技術要求132
5.2 Unity物理系統中的概念132
5.2.1 Collider(碰撞體)133
5.2.2 Rigidbody(剛體)137
5.2.3 Trigger(觸發器)141
5.3 使用物理系統編寫腳本141
5.3.1 Collider的方法141
5.3.2 Trigger的方法143
5.3.3 Rigidbody的方法144
5.4 制作一個基於物理系統的簡單遊戲147
5.5 提高物理系統的性能158
5.5.1 Unity Profiler158
5.5.2 增加固定時間間隔159
5.5.3 減少不必要的分層碰撞檢測160
5.6 本章小結160
第6章
在Unity項目中集成音頻和視頻
6.1 技術要求161
6.2 Unity音頻系統和視頻系統中的概念161
6.2.1 Audio Clip(音頻剪輯)161
6.2.2 Audio Source(音頻源)165
6.2.3 Audio Listener(音頻監聽器)167
6.2.4 Video Clip(視頻剪輯)168
6.2.5 Video Player(視頻播放器)171
6.3 使用音頻和視頻編寫腳本174
6.3.1 AudioSource.Play175
6.3.2 AudioSource.Pause176
6.3.3 AudioSource.Stop178
6.3.4 VideoPlayer.Clip178
6.3.5 VideoPlayer.url180
6.3.6 VideoPlayer.Play181
6.3.7 VideoPlayer.frame和VideoPlayer.
frameCount182
6.4 使用Unity開發Web應用程序的
註意事項184
6.4.1 URL184
6.4.2 幀率187
6.5 提高音頻系統的性能187
6.5.1 Unity Profiler187
6.5.2 使用Force To Mono來節省內存189
6.6 本章小結190
第3部分 Unity高級腳本編程
第7章
理解Unity中計算機圖形學的數學原理
7.1 從使用坐標系開始194
7.1.1 理解左手坐標系和右手坐標系195
7.1.2 局部空間196
7.1.3 世界空間198
7.1.4 屏幕空間200
7.2 使用向量202
7.2.1 向量相加203
7.2.2 向量相減204
7.2.3 點積運算205
7.2.4 叉積運算207
7.3 使用變換矩陣208
7.3.1 平移矩陣208
7.3.2 旋轉矩陣210
7.3.3 縮放矩陣210
7.4 使用四元數212
7.4.1 創建旋轉213
7.4.2 操縱旋轉214
7.4.3 使用歐拉角216
7.5 本章小結217
第8章
Unity中的可編程渲染管線
8.1 可編程渲染管線簡介218
8.1.1 Fontainebleau Demo項目219
8.1.2 Spaceship Demo項目219
8.1.3 BoatAttack Demo項目220
8.1.4 The Heretic: Digital Human項目220
8.1.5 The Heretic: VFX Character項目221
8.1.6 通用渲染管線221
8.1.7 高清渲染管線224
8.2 使用Unity的通用渲染管線225
8.2.1 探索示例場景226
8.2.2 通用渲染管線資源231
8.2.3 Volume框架和後期處理234
8.3 通用渲染管線的著色器和材質237
8.3.1 常用著色器237
8.3.2 將項目中的材質升級為通用渲染
管線材質240
8.3.3 創建著色器和著色器圖形242
8.4 提高通用渲染管線的性能249
8.4.1 Frame Debugger工具249
8.4.2 SRP Batcher251
8.5 本章小結252
第9章
Unity中面向數據的技術堆棧
9.1 技術支持254
9.2 DOTS概述254
9.2.1 OOP模式與DOTS的比較255
9.2.2 C# Job System258
9.2.3 ECS258
9.2.4 Burst編譯器259
9.3 多線程和C# Job System259
9.3.1 協程260
9.3.2 async/await260
9.3.3 使用C# Job System263
9.4 在Unity中使用ECS273
9.5 使用C#和Burst編譯器284
9.6 本章小結285
第10章
Unity中的序列化系統、資源管理和Azure
10.1 技術要求286
10.2 Unity的序列化系統287
10.3 Unity的資源工作流程298
10.3.1 GUID和文件ID299
10.3.2 meta文件303
10.3.3 AssetPostprocessor類和導入
管線305
10.3.4 Library文件夾307
10.4 Unity的特殊文件夾308
10.4.1 Resources文件夾308
10.4.2 StreamingAssets文件夾310
10.5 Azure Blob存儲與Unity的可尋址
資源系統311
10.5.1 設置Azure Blob存儲服務311
10.5.2 安裝可尋址資源系統包317
10.5.3 構建可尋址內容318
10.5.4 將內容部署到Azure325
10.5.5 從Azure加載可尋址內容326
10.6 本章小結328
第11章
Microsoft Game Dev、Azure、PlayFab和Unity協同工作
11.1 技術要求329
11.2 Microsoft Game Dev、Azure和
PlayFab的介紹329
11.2.1 Microsoft Game Dev329
11.2.2 Azure330
11.2.3 PlayFab331
11.3 為Unity項目設置PlayFab331
11.3.1 創建一個新的PlayFab賬戶332
11.3.2 在PlayFab中創建Game
Studio和Title334
11.3.3 在Unity項目中添加Azure
PlayFab SDK336
11.4 在Unity中使用PlayFab完成
玩家註冊和登錄338
11.4.1 在PlayFab中註冊玩家339
11.4.2 在PlayFab中登錄玩家343
11.5 在Unity中使用PlayFab實現
一個排行榜346
11.5.1 在PlayFab中設置一個排行榜346
11.5.2 使用Azure PlayFab API從
Unity中更新玩家分數350
11.5.3 從Unity中的PlayFab加載排
行榜數據354
11.6 本章小結358