關(guān)于我們
書單推薦
新書推薦
|
Unity 3D游戲開發(fā)(第3版)
本書分為兩大部分,其中第一部分“基礎(chǔ)篇”包括第1~11章,第二部分“進(jìn)階篇”包括第12~18章。Unity 3D初學(xué)者在學(xué)習(xí)第一部分后,完全可以制作出屬于自己的游戲。但是能做出來不代表做得好,這里的“好”主要是指游戲性能高以及開發(fā)難度大。從商業(yè)游戲的角度來說,必須做到這兩點(diǎn),所以第二部分主要講解Unity 3D的性能與原理。除第1章外,書中的每一章都包含豐富的示例和源代碼,它們是非常寶貴的實(shí)戰(zhàn)經(jīng)驗(yàn),可以直接應(yīng)用在實(shí)際開發(fā)中。
全新升級:熱銷書強(qiáng)勢升級,基于Unity 2023版本,前兩版共售70000+冊
業(yè)界推崇:Unity中國CEO張俊波作序推薦,Unity中國平臺技術(shù)總監(jiān)楊棟、Unity官方講師達(dá)哥、Unity中國技術(shù)經(jīng)理高川、Unity開發(fā)者社區(qū)負(fù)責(zé)人劉玥傾力推薦
作者靠譜:UUG北京站負(fù)責(zé)人、雨松MOMO技術(shù)博客博主傾力打造
內(nèi)容全面:涵蓋基礎(chǔ)篇和進(jìn)階篇,涉及編輯器、游戲腳本、UGUI、UI Toolkit、DOTS、靜態(tài)對象、持久化數(shù)據(jù)、多媒體、Netcode 與網(wǎng)絡(luò)編程、URP渲染管線、擴(kuò)展編輯器、資源管理等
案例豐富:含224個案例,手把手教你運(yùn)用Unity進(jìn)行游戲開發(fā)
贈品豐厚:附贈源代碼和PPT
宣雨松,雨松MOMO技術(shù)博客博主,15年以上游戲開發(fā)經(jīng)驗(yàn),Unity終身價值專家,UUG北京站負(fù)責(zé)人。
第 一部分 基礎(chǔ)篇
第 1章 基礎(chǔ)知識 2
1.1 Unity簡介 2
1.2 跨平臺 2
1.3 協(xié)作開發(fā) 3
1.4 Unity版本 4
1.5 Package Manager 5
1.6 示例項目與發(fā)布 7
1.7 Unity服務(wù) 8
1.8 小結(jié) 9
第 2章 編輯器的結(jié)構(gòu) 10
2.1 Unity Hub 10
2.2 編輯器布局 11
2.3 Project視圖 12
2.4 Hierarchy視圖 13
2.5 Inspector視圖 14
2.6 Scene視圖 15
2.7 Game視圖 16
2.8 導(dǎo)航欄視圖 17
2.9 小結(jié) 17
第3章 游戲腳本 18
3.1 C#運(yùn)行時 18
3.2 C#與引擎交互 22
3.3 游戲?qū)ο?27
3.4 游戲組件 29
3.4.1 Transform(變換)組件 29
3.4.2 Mesh Filter(網(wǎng)格過濾器)組件 30
3.4.3 Mesh Renderer(網(wǎng)格渲染)組件 31
3.4.4 Skinned Mesh Renderer(蒙皮網(wǎng)格渲染)組件 32
3.5 游戲腳本 35
3.6 腳本的生命周期 35
3.6.1 初始化和銷毀 37
3.6.2 二次初始化 38
3.6.3 固定更新 39
3.6.4 內(nèi)置協(xié)程回調(diào) 43
3.6.5 鼠標(biāo)事件 45
3.6.6 腳本邏輯更新 46
3.6.7 場景渲染 47
3.6.8 編輯器UI 更新 48
3.7 腳本的管理 50
3.7.1 腳本的執(zhí)行順序 50
3.7.2 多腳本優(yōu)化 51
3.8 腳本序列化 52
3.8.1 查看數(shù)據(jù) 53
3.8.2 序列化數(shù)據(jù)標(biāo)簽 54
3.8.3 SerializedObject 55
3.8.4 監(jiān)聽修改事件 56
3.8.5 序列化/反序列化監(jiān)聽 58
3.8.6 序列化嵌套 60
3.8.7 序列化引用 61
3.8.8 序列化繼承 62
3.8.9 ScriptableObject 63
3.9 腳本屬性 65
3.9.1 序列化屬性 65
3.9.2 Header屬性 66
3.9.3 編輯模式下執(zhí)行腳本 66
3.9.4 枚舉序列化別名 67
3.9.5 必須包含的組件 68
3.9.6 其他UI擴(kuò)展面板 68
3.9.7 可選擇屬性 69
3.9.8 自定義屬性 69
3.10 協(xié)程任務(wù) 70
3.10.1 異步代碼流程 71
3.10.2 當(dāng)前幀最后執(zhí)行 71
3.10.3 定時器 73
3.10.4 CustomYieldInstruction 75
3.10.5 Awaitable 76
3.11 通過腳本操作對象和組件 78
3.11.1 對象的創(chuàng)建與刪除 78
3.11.2 對象層級排序 80
3.11.3 對象子節(jié)點(diǎn)的獲取 80
3.11.4 多場景根節(jié)點(diǎn) 81
3.11.5 腳本的添加與刪除 82
3.11.6 DontDestroyOnLoad 83
3.12 調(diào)試 83
3.13 小結(jié) 85
第4章 UGUI 86
4.1 游戲界面 86
4.1.1 Text組件 86
4.1.2 富文本 89
4.1.3 描邊和陰影 91
4.1.4 動態(tài)字體 92
4.1.5 字體花屏 93
4.1.6 Text Mesh Pro 94
4.1.7 SDF字體 97
4.1.8 圖文混排 99
4.1.9 樣式 101
4.1.10 文字fallback 103
4.1.11 點(diǎn)擊事件 104
4.1.12 Image組件 105
4.1.13 Raw Image組件 107
4.1.14 Button組件 109
4.1.15 Toggle組件 110
4.1.16 Scroll View組件 111
4.1.17 其他組件 113
4.2 界面布局 114
4.2.1 Rect Transform組件 114
4.2.2 拉伸 117
4.2.3 自動布局 118
4.2.4 文本自適應(yīng) 120
4.2.5 Layout Element組件 121
4.2.6 Layout Group組件 122
4.2.7 Content Size Fitter組件 123
4.3 Canvas組件 126
4.3.1 UI攝像機(jī) 126
4.3.2 3D界面 128
4.3.3 自適應(yīng)UI 130
4.3.4 Canvas與3D排序 133
4.3.5 裁剪 135
4.3.6 裁剪粒子 136
4.4 Atlas 137
4.4.1 創(chuàng)建Atlas 138
4.4.2 讀取Atlas 139
4.4.3 Variant 140
4.4.4 監(jiān)聽加載事件 140
4.4.5 多圖集管理 141
4.5 事件系統(tǒng) 141
4.5.1 Graphic Raycaster組件 142
4.5.2 UI事件 143
4.5.3 UI事件管理 144
4.5.4 UnityAction和UnityEvent 146
4.5.5 C#事件系統(tǒng) 147
4.5.6 3D事件 148
4.5.7 K幀動畫 149
4.5.8 使用Scroll Rect組件制作游戲搖桿 150
4.5.9 點(diǎn)擊區(qū)域優(yōu)化 151
4.5.10 顯示幀率 152
4.5.11 查看UGUI源代碼 153
4.6 小結(jié) 153
第5章 UI Toolkit 154
5.1 UI Toolkit簡介 154
5.2 UI Builder編輯器 154
5.2.1 StyleSheets視圖 156
5.2.2 Hierarchy視圖 159
5.2.3 Library視圖 161
5.2.4 Viewport視圖 162
5.2.5 Inspector視圖 64
5.3 UI組件 180
5.3.1 Text組件 181
5.3.2 Visual Element組件 183
5.3.3 其他UI組件 184
5.3.4 基礎(chǔ)容器 185
5.3.5 ScrollView組件 186
5.3.6 ListView組件 188
5.3.7 ListView事件 190
5.3.8 TreeView組件 191
5.3.9 GroupBox組件 192
5.3.10 控制組件 192
5.3.11 加載與嵌套 195
5.3.12 自適應(yīng)UI 196
5.3.13 動態(tài)圖集 198
5.3.14 自定義UI組件 199
5.4 事件系統(tǒng) 200
5.4.1 點(diǎn)擊事件 200
5.4.2 焦點(diǎn)事件 201
5.4.3 鍵盤事件 202
5.4.4 拖動事件 202
5.5 進(jìn)階技巧 203
5.5.1 3D與2D坐標(biāo)轉(zhuǎn)換 203
5.5.2 覆蓋樣式 204
5.5.3 多樣式管理 206
5.5.4 調(diào)試 207
5.5.5 編輯器窗口面板 208
5.5.6 編輯器腳本面板 209
5.5.7 編輯器組合面板 210
5.5.8 布局與裁剪 211
5.5.9 與UGUI混合使用 213
5.5.10 UI動畫 213
5.6 UI Toolkit渲染 214
5.6.1 IMGUI 214
5.6.2 UGUI 214
5.6.3 圖集 214
5.6.4 UI Toolkit與UGUI的比較 216
5.7 UI Toolk學(xué)習(xí)資料 217
5.8 小結(jié) 218
第6章 2D游戲開發(fā) 219
6.1 Sprite Renderer組件 220
6.1.1 渲染原理 222
6.1.2 渲染排序 224
6.1.3 裁剪 226
6.1.4 2D幀動畫 227
6.1.5 腳本播放動畫 231
6.1.6 2D骨骼動畫 232
6.1.7 IK反向運(yùn)動 238
6.1.8 精靈資源庫 239
6.2 Tile地圖 241
6.2.1 創(chuàng)建Tile 242
6.2.2 創(chuàng)建地圖 243
6.2.3 編輯Tile 245
6.2.4 Tile排序 247
6.2.5 擴(kuò)展筆刷 248
6.2.6 擴(kuò)展Tile 251
6.2.7 更新Tile 252
6.2.8 Tile動畫 253
6.3 2D物理系統(tǒng) 254
6.3.1 Collider 2D組件 254
6.3.2 Rigidbody 2D組件 255
6.3.3 碰撞事件 257
6.3.4 碰撞方向 259
6.3.5 觸發(fā)器監(jiān)聽 261
6.3.6 復(fù)合碰撞體 262
6.3.7 自定義碰撞體 263
6.3.8 Effectors 2D組件 264
6.3.9 關(guān)節(jié) 264
6.3.10 物理材質(zhì)和恒定力 264
6.3.11 計算區(qū)域 265
6.4 像素風(fēng) 265
6.5 精靈形狀 267
6.6 精靈編輯器 268
6.7 小結(jié) 270
第7章 3D游戲開發(fā) 271
7.1 Renderer 271
7.1.1 Mesh Renderer(網(wǎng)格渲染器) 271
7.1.2 Skinned Mesh Renderer(蒙皮網(wǎng)格渲染器) 273
7.1.3 Particle System(粒子系統(tǒng)) 275
7.1.4 Trail Renderer(拖尾渲染器) 276
7.1.5 Line Renderer(線渲染器) 276
7.1.6 Terrain(地形) 277
7.2 游戲?qū)ο蠛唾Y源 278
7.2.1 靜態(tài)對象 278
7.2.2 標(biāo)記 279
7.2.3 層 280
7.2.4 Prefab 280
7.2.5 Prefab嵌套 282
7.2.6 Prefab和游戲?qū)ο?285
7.2.7 實(shí)例化 286
7.2.8 游戲資源 287
7.2.9 場景 289
7.2.10 場景模板 291
7.3 動畫系統(tǒng) 293
7.3.1 動畫文件 293
7.3.2 制作動畫 296
7.3.3 動畫事件 297
7.3.4 骨骼動畫優(yōu)化 298
7.3.5 播放動畫 300
7.3.6 切換動畫 301
7.3.7 動畫混合 302
7.3.8 老版動畫 304
7.3.9 Simple Animation組件 305
7.3.10 控制動畫進(jìn)度 307
7.3.11 特殊動畫行為 308
7.3.12 Playable組件 309
7.3.13 使用Playable自定義腳本 312
7.3.14 模型換裝 313
7.4 3D物理系統(tǒng) 316
7.4.1 角色控制器 316
7.4.2 碰撞體 319
7.4.3 Rigidbody組件 321
7.4.4 碰撞事件 321
7.4.5 布娃娃系統(tǒng) 323
7.4.6 布料系統(tǒng) 324
7.4.7 其他 325
7.5 輸入系統(tǒng) 325
7.5.1 實(shí)體輸入事件 326
7.5.2 虛擬輸入事件 327
7.5.3 鼠標(biāo)位置 328
7.5.4 點(diǎn)選模型 330
7.5.5 通過點(diǎn)擊控制移動 332
7.5.6 射線 333
7.6 Transform組件 334
7.6.1 控制角色移動 335
7.6.2 攝像機(jī)跟隨 336
7.6.3 插值移動 337
7.6.4 約束條件 338
7.7 小結(jié) 339
第8章 靜態(tài)對象 340
8.1 光照貼圖 341
8.1.1 光源 341
8.1.2 開始烘焙 342
8.1.3 烘焙結(jié)果在不同平臺上的差異 346
8.1.4 烘焙貼圖UV 347
8.1.5 光照探針 348
8.1.6 運(yùn)行時更換烘焙貼圖 349
8.1.7 復(fù)制烘焙信息 350
8.1.8 復(fù)制工具 351
8.2 反射探針 352
8.3 遮擋剔除 354
8.3.1 遮擋關(guān)系 354
8.3.2 遮擋與被遮擋事件 356
8.3.3 動態(tài)剔除 356
8.3.4 遮擋剔除的原理 356
8.3.5 裁剪組 357
8.4 靜態(tài)合批 358
8.4.1 設(shè)置靜態(tài)合批 358
8.4.2 腳本靜態(tài)合批 360
8.4.3 動態(tài)合批 361
8.5 導(dǎo)航網(wǎng)格 361
8.5.1 設(shè)置尋路 362
8.5.2 動態(tài)阻擋 364
8.5.3 連接兩點(diǎn) 365
8.5.4 連接兩個區(qū)域 366
8.5.5 烘焙修改器 366
8.5.6 運(yùn)行時烘焙 367
8.5.7 獲取尋路路徑 368
8.5.8 導(dǎo)出導(dǎo)航網(wǎng)格信息 369
8.6 小結(jié) 372
第9章 持久化數(shù)據(jù) 373
9.1 Excel 373
9.1.1 EPPlus 374
9.1.2 讀取Excel文件 374
9.1.3 寫入Excel文件 376
9.2 SQLite 377
9.2.1 創(chuàng)建數(shù)據(jù)庫 378
9.2.2 跨平臺讀取數(shù)據(jù)庫 379
9.3 JSON 382
9.3.1 JsonUtility 382
9.3.2 JSON支持字典 384
9.3.3 Newtonsoft Json 385
9.4 文件的讀取與寫入 386
9.4.1 PlayerPrefs 386
9.4.2 EditorPrefs 387
9.4.3 用PlayerPrefs保存復(fù)雜的數(shù)據(jù)結(jié)構(gòu) 388
9.4.4 PlayerPrefs版本升級 389
9.4.5 文件讀寫 389
9.4.6 文件流 390
9.4.7 打包后讀寫文本 392
9.4.8 PersistentDataPath目錄 393
9.5 XML 393
9.5.1 創(chuàng)建XML字符串 393
9.5.2 讀取與修改 394
9.5.3 XML文件 395
9.5.4 XML與JSON的轉(zhuǎn)換 397
9.6 YAML 397
9.6.1 YamlDotNet 398
9.6.2 序列化和反序列化 398
9.7 生成代碼 400
9.7.1 把數(shù)據(jù)從Excel表導(dǎo)出到數(shù)據(jù)庫 400
9.7.2 運(yùn)行時讀取數(shù)據(jù) 402
9.7.3 RazorEngine 403
9.7.4 生成代碼的條件 404
9.7.5 模板文件 405
9.8 小結(jié) 406
第 10章 多媒體 407
10.1 音頻 407
10.1.1 音頻文件 407
10.1.2 Audio Source 408
10.1.3 3D音頻 410
10.1.4 代碼控制播放 411
10.1.5 AudioMixer 412
10.1.6 混音區(qū) 414
10.1.7 麥克風(fēng) 415
10.1.8 聲音進(jìn)度 416
10.2 視頻 417
10.2.1 視頻文件 417
10.2.2 視頻渲染模式 419
10.2.3 視頻自適應(yīng) 420
10.2.4 UI覆蓋在視頻之上 421
10.2.5 視頻渲染在材質(zhì)上 422
10.2.6 視頻渲染在紋理上 422
10.2.7 播放網(wǎng)絡(luò)視頻 423
10.2.8 自定義視頻顯示 424
10.2.9 視頻進(jìn)度 425
10.2.10 下載視頻 425
10.2.11 全景視頻 426
10.3 小結(jié) 426
第 11章 Netcode與網(wǎng)絡(luò)編程 427
11.1 UnityWebRequest 427
11.1.1 下載文件和上傳文件 428
11.1.2 下載進(jìn)度與異常 429
11.1.3 驗(yàn)證文件 431
11.1.4 DownloadHandlerScript 431
11.1.5 控制下載速度 433
11.2 Socket 436
11.2.1 拼接包 439
11.2.2 Protocol Buffer 440
11.3 Netcode 442
11.3.1 托管服務(wù)器 443
11.3.2 UNet與Netcode的區(qū)別 445
11.3.3 前后端同步 446
11.3.4 軟連接 448
11.3.5 同步坐標(biāo) 450
11.3.6 服務(wù)器RPC 452
11.3.7 客戶端RPC 454
11.3.8 網(wǎng)絡(luò)變量 457
11.3.9 網(wǎng)絡(luò)場景 459
11.3.10 網(wǎng)絡(luò)底層消息 460
11.3.11 FastBufferWriter與FastBufferReader 463
11.3.12 網(wǎng)絡(luò)連接事件 464
11.3.13 網(wǎng)絡(luò)對象 465
11.3.14 隱藏與顯示 467
11.3.15 前后端時間 468
11.3.16 網(wǎng)絡(luò)腳本內(nèi)置方法 469
11.3.17 前后端打包 469
11.3.18 密碼 472
11.4 小結(jié) 474
第二部分 進(jìn)階篇
第 12章 渲染管線 476
12.1 SRP 476
12.1.1 SRP Core 479
12.1.2 安裝與配置 480
12.1.3 攝像機(jī)組件工具 482
12.1.4 Look Dev 483
12.1.5 Render Graph Viewer 484
12.1.6 對URP的展望 485
12.2 URP 489
12.2.1 URP調(diào)試與修改 489
12.2.2 URP與內(nèi)置渲染管線對比 491
12.2.3 升級著色器 503
12.2.4 LightMode 509
12.2.5 Shader Graph 510
12.2.6 Renderer Pipeline Asset 512
12.2.7 Renderer Pipeline Asset Data 516
12.2.8 URP Global Settings 519
12.2.9 URP Renderer Feature 520
12.3 SRP Batch 527
12.3.1 不透明物體繪制 527
12.3.2 半透明物體繪制 528
12.3.3 Early-Z 529
12.3.4 Alpha Test 529
12.3.5 Alpha Blend 530
12.3.6 Set Pass Call與Draw Call 531
12.3.7 SRP Batch原理 534
12.3.8 SRP Batch使用 536
12.4 渲染技術(shù) 538
12.4.1 Blinn-Phong光照計算 538
12.4.2 PBR光照計算 540
12.4.3 陰影 543
12.4.4 渲染數(shù)據(jù)傳遞 546
12.4.5 SRP流程 549
12.4.6 GPU渲染管線 550
12.4.7 SRP裁剪 553
12.4.8 前向渲染流程 554
12.4.9 多攝像機(jī)與FinalBlit 557
12.4.10 ScriptableRenderPass 560
12.5 自定義渲染管線 562
12.5.1 參與渲染的對象 562
12.5.2 MVP矩陣計算 563
12.5.3 Render Objects 566
12.5.4 Rendering Layer Mask 568
12.5.5 自定義Render Feature 569
12.5.6 裁剪與層 571
12.5.7 后處理與自定義 573
12.5.8 UI部分模糊 576
12.5.9 降低分辨率不包含UI 576
12.6 小結(jié) 578
第 13章 DOTS 1.0 579
13.1 DOTS的組成 579
13.1.1 ECS簡介 581
13.1.2 Job System簡介 583
13.1.3 Burst Compiler簡介 584
13.1.4 安裝 585
13.2 游戲?qū)ο筠D(zhuǎn)到ECS 585
13.2.1 傳統(tǒng)的對象與組件 585
13.2.2 Entity(實(shí)體)586
13.2.3 Archetype(原型)587
13.2.4 Component(組件)589
13.2.5 System(系統(tǒng))591
13.3 實(shí)體組件 592
13.3.1 非托管組件 592
13.3.2 托管組件 593
13.3.3 共享組件 593
13.3.4 清理組件 594
13.3.5 標(biāo)記組件 595
13.3.6 動態(tài)緩沖組件 595
13.3.7 Chunk組件 596
13.3.8 啟動組件 598
13.4 系統(tǒng) 599
13.4.1 系統(tǒng)組件 600
13.4.2 系統(tǒng)分組與排序 601
13.4.3 系統(tǒng)遍歷 602
13.4.4 系統(tǒng)查詢 603
13.4.5 寫組與版本號 604
13.4.6 SystemAPI.Query 606
13.5 Job 607
13.5.1 線程與同步 608
13.5.2 Job的種類 610
13.5.3 Entity Command Buffers實(shí)體緩沖 611
13.6 Burst 612
13.6.1 啟動Burst 613
13.6.2 高性能C# 615
13.6.3 Unity.Mathematics數(shù)學(xué)庫 617
13.7 渲染 619
13.7.1 自定義材質(zhì) 620
13.7.2 更換模型材質(zhì) 621
13.7.3 修改材質(zhì)屬性 622
13.7.4 GPU Instancing 624
13.7.5 BatchRendererGroup 627
13.7.6 Aspect包裝器 629
13.7.7 調(diào)試 630
13.8 小結(jié) 634
第 14章 擴(kuò)展編輯器 635
14.1 擴(kuò)展Project視圖 635
14.1.1 擴(kuò)展右鍵菜單 635
14.1.2 創(chuàng)建腳本模板 637
14.1.3 擴(kuò)展布局 639
14.1.4 監(jiān)聽資源導(dǎo)入 640
14.1.5 監(jiān)聽資源修改事件 641
14.1.6 自定義資源導(dǎo)入類型 642
14.2 擴(kuò)展Hierarchy視圖 643
14.2.1 擴(kuò)展菜單 643
14.2.2 擴(kuò)展布局 644
14.2.3 自動選擇游戲?qū)ο?645
14.3 擴(kuò)展Inspector視圖 645
14.3.1 擴(kuò)展原生組件 646
14.3.2 擴(kuò)展繼承組件 646
14.3.3 限制組件編輯 648
14.3.4 Context菜單 649
14.4 擴(kuò)展Scene視圖 650
14.4.1 工具欄擴(kuò)展 650
14.4.2 輔助元素 651
14.4.3 輔助UI 652
14.4.4 常駐輔助UI 653
14.5 擴(kuò)展Game視圖 654
14.6 導(dǎo)航欄擴(kuò)展 654
14.6.1 自定義菜單 655
14.6.2 菜單項自動執(zhí)行 655
14.6.3 導(dǎo)航條 656
14.6.4 標(biāo)題欄擴(kuò)展 657
14.6.5 默認(rèn)面板 658
14.7 查看源代碼 658
14.8 小結(jié) 659
第 15章 資源管理 660
15.1 編輯器模式 660
15.1.1 游戲資源 660
15.1.2 加載資源 661
15.1.3 卸載資源 663
15.1.4 創(chuàng)建與修改資源 663
15.1.5 創(chuàng)建與修改游戲?qū)ο?664
15.2 運(yùn)行模式 665
15.2.1 參與打包的資源 665
15.2.2 Resources 666
15.2.3 通過腳本計算依賴 667
15.2.4 StreamingAssets 668
15.2.5 場景資源 668
15.3 AssetBundle 668
15.3.1 設(shè)置AB 669
15.3.2 設(shè)置依賴 670
15.3.3 純腳本打包 671
15.3.4 差異打包 672
15.3.5 AB壓縮格式 672
15.3.6 加載AB 673
15.3.7 內(nèi)存與卸載 674
15.3.8 場景AB 675
15.3.9 CDN下載流程 675
15.3.10 加載流程 676
15.3.11 多進(jìn)程AB構(gòu)建 676
15.4 代碼編譯 677
15.4.1 Plugins 677
15.4.2 Assembly 677
15.4.3 Editor 678
15.4.4 IL2CPP 678
15.4.5 AB中的腳本 679
15.4.6 熱更新代碼 680
15.5 Shader(著色器)編譯 682
15.5.1 打包與運(yùn)行 682
15.5.2 Shader重復(fù)打包 682
15.5.3 Shader宏 683
15.5.4 Shader與AB包 686
15.5.5 Shader打包剝離 686
15.6 美術(shù)資源管理 688
15.6.1 版本管理 688
15.6.2 材質(zhì)丟失 689
15.6.3 協(xié)作開發(fā)與多工程 689
15.6.4 美術(shù)資源生成 690
15.7 小結(jié) 690
第 16章 自動化與打包 691
16.1 自動化設(shè)置資源 691
16.1.1 設(shè)置貼圖格式 691
16.1.2 動畫控制器 694
16.1.3 設(shè)置模型格式 695
16.1.4 導(dǎo)出動畫文件 695
16.1.5 生成角色Prefab 696
16.1.6 生成場景 697
16.1.7 場景無法保存 699
16.1.8 自動生成UI圖集 699
16.1.9 更換Shader殘留宏 700
16.1.10 自動生成變種收集器 703
16.1.11 剔除頂點(diǎn)色 704
16.2 自動化打包 705
16.2.1 打包過程中的事件 706
16.2.2 打包機(jī)的選擇 707
16.2.3 打包后自動壓縮 707
16.2.4 調(diào)用shell腳本 708
16.2.5 命令行打開工程 709
16.2.6 腳本化打包參數(shù) 711
16.2.7 Jenkins 712
16.3 小結(jié) 714
第 17章 代碼優(yōu)化 715
17.1 Unity代碼優(yōu)化 715
17.1.1 緩存對象 715
17.1.2 減少腳本 716
17.1.3 減少Update()執(zhí)行 716
17.1.4 緩存池 717
17.1.5 日志優(yōu)化 718
17.2 C#代碼優(yōu)化 719
17.2.1 入棧和出棧 720
17.2.2 值類型和引用類型 721
17.2.3 裝箱和拆箱 722
17.2.4 字符串 723
17.2.5 struct 724
17.2.6 GC 725
17.3 Profiler內(nèi)存管理 726
17.3.1 內(nèi)存泄漏 726
17.3.2 耗時函數(shù)統(tǒng)計 727
17.3.3 自定義采樣 729
17.3.4 堆內(nèi)存分配 730
17.3.5 原生內(nèi)存分配 731
17.3.6 Unity內(nèi)存 732
17.3.7 Memory Profiler 733
17.3.8 真機(jī)Profiler 735
17.3.9 Profiler寫入和讀取 736
17.3.10 渲染性能調(diào)試 737
17.4 著色器優(yōu)化 739
17.4.1 頂點(diǎn)著色器 740
17.4.2 片元著色器 741
17.4.3 條件分支 742
17.5 小結(jié) 742
第 18章 通用案例與優(yōu)化 743
18.1 客戶端框架 743
18.1.1 UI框架 743
18.1.2 UI代碼生成 745
18.1.3 協(xié)議代碼生成 746
18.1.4 其他代碼生成 747
18.1.5 數(shù)據(jù)監(jiān)聽 747
18.1.6 事件管理器 749
18.2 客戶端優(yōu)化與案例 752
18.2.1 懶加載 752
18.2.2 懶加載UI 752
18.2.3 懶加載UI 特效 754
18.2.4 編輯與運(yùn)行時加載資源 756
18.2.5 資源名與路徑 758
18.2.6 異步加載 759
18.2.7 界面返回 760
18.2.8 過度繪制 760
18.2.9 UGUI網(wǎng)格重建 763
18.2.10 RaycastTarget優(yōu)化 765
18.2.11 小地圖優(yōu)化 766
18.2.12 覆蓋材質(zhì) 766
18.2.13 通用Shader面板 767
18.2.14 離線合并貼圖 770
18.2.15 運(yùn)行時合并ASTC貼圖 771
18.2.16 運(yùn)行時合并圖集 773
18.2.17 運(yùn)行時合并網(wǎng)格 774
18.2.18 Prefab嵌套與只讀 776
18.2.19 AB文件合并 777
18.3 小結(jié) 778
你還可能感興趣
我要評論
|