Unity 3D腳本編程

Unity 3D腳本編程 pdf epub mobi txt 電子書 下載 2025

陳嘉棟
圖書標籤:
想要找書就要到 靜思書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
第1 章 Hello Unity 3D 1
1.1 Unity 3D 遊戲引擎進化史 1
1.2 Unity 3D 編輯器初印象 5
1.2.1 Project 視圖 5
1.2.2 Inspector 視圖 8
1.2.3 Hierarchy 視圖 9
1.2.4 Game 視圖 10
1.2.5 Scene 視圖 12
1.2.6 繪圖模式 14
1.2.7 渲染模式 16
1.2.8 場景視圖控製 17
1.2.9 Effects 菜單和Gizmos 菜單 18
1.3 Unity 3D 的組成 18
1.4 為何需要遊戲腳本 20
1.5 本章小結 21
第2 章 Mono 所搭建的腳本核心基礎 22
2.1 Mono 是什麼 22
2.1.1 Mono 的組成 22
2.1.2 Mono 運行時 23
2.2 Mono 如何扮演腳本的角色 24
2.2.1 Mono 和腳本 24
2.2.2 Mono 運行時的嵌入 26
2.3 Unity 3D 為何能跨平颱?聊聊CIL 38
2.3.1 Unity 3D 為何能跨平颱 38
2.3.2 CIL 是什麼 40
2.3.3 Unity 3D 如何使用CIL 跨平颱 44
2.4 腳本的選擇,C# 或 JavaScript 48
2.4.1 最熟悉的陌生人——UnityScript 48
2.4.2 UnityScript 與 JavaScript 51
2.4.3 C#與UnityScript 55
2.5 本章總結 57
第3 章 Unity 3D 腳本語言的類型係統 58
3.1 C#的類型係統 58
3.2 值類型和引用類型 65
3.3 Unity 3D 腳本語言中的引用類型 73
3.4 Unity 3D 遊戲腳本中的值類型 90
3.4.1 Vector2、Vector3 以及Vector4 90
3.4.2 其他常見的值類型 94
3.5 裝箱和拆箱 95
3.6 本章總結 98
第4 章 Unity 3D 中常用的數據結構 99
4.1 Array 數組 100
4.2 ArrayList 數組 101
4.3 List<T>數組 102
4.4 C#中的鏈錶——LinkedList<T> 103
4.5 隊列(Queue<T>)和棧(Stack<T>) 107
4.6 Hash Table(哈希錶)和Dictionary<K,T>(字典) 112
4.7 本章總結 120
第5 章 在Unity 3D 中使用泛型 121
5.1 為什麼需要泛型機製 121
5.2 Unity 3D 中常見的泛型 124
5.3 泛型機製的基礎 127
5.3.1 泛型類型和類型參數 128
5.3.2 泛型類型和繼承 131
5.3.3 泛型接口和泛型委托 131
5.3.4 泛型方法 136
5.4 泛型中的類型約束和類型推斷 139
5.4.1 泛型中的類型約束 139
5.4.2 類型推斷 144
5.5 本章總結 146
第6 章 在Unity 3D 中使用委托 149
6.1 嚮Unity 3D 中的SendMessage 和BroadcastMessage 說拜拜 150
6.2 認識迴調函數機製——委托 151
6.3 委托是如何實現的 154
6.4 委托是如何調用多個方法的 160
6.5 用事件(Event)實現消息係統 164
6.6 事件是如何工作的 169
6.7 定義事件的觀察者,實現觀察者模式 172
6.8 委托的簡化語法 177
6.8.1 不必構造委托對象 177
6.8.2 匿名方法 178
6.8.3 Lambda 錶達式 196
6.9 本章總結 201
第7 章 Unity 3D 中的定製特性 202
7.1 初識特性——Attribute 202
7.1.1 DllImport 特性 203
7.1.2 Serializable 特性 205
7.1.3 定製特性到底是誰 207
7.2 Unity 3D 中提供的常用定製特性 208
7.3 定義自己的定製特性類 213
7.4 檢測定製特性 216
7.5 親手拓展Unity 3D 的編輯器 217
7.6 本章總結 227
第8 章 Unity 3D 協程背後的迭代器 228
8.1 初識Unity 3D 中的協程 228
8.1.1 使用StartCoroutine 方法開啓協程 229
8.1.2 使用StopCoroutine 方法停止一個協程 233
8.2 使用協程實現延時效果 234
8.3 Unity 3D 協程背後的秘密——迭代器 238
8.3.1 你好,迭代器 238
8.3.2 原來是狀態機 242
8.3.3. 狀態管理 248
8.4 WWW和協程 253
8.5 Unity 3D 協程代碼實例 257
8.6 本章總結 259
第9 章 在Unity 3D 中使用可空型 260
9.1 如果沒有值 260
9.2 錶示空值的一些方案 261
9.2.1 使用魔值 261
9.2.2 使用標誌位 261
9.2.3 藉助引用類型來錶示值類型的空值 265
9.3 使用可空值類型 267
9.4 可空值類型的簡化語法 272
9.5 可空值類型的裝箱和拆箱 278
9.6 本章總結 280
第10 章 從序列化和反序列化看Unity 3D 的存儲機製 281
10.1 初識序列化和反序列化 281
10.2 控製類型的序列化和反序列化 290
10.2.1 如何使類型可以序列化 290
10.2.2 如何選擇序列化的字段和控製反序列化的流程 292
10.2.3 序列化、反序列化中流的上下文介紹及應用 296
10.3 Unity 3D 中的序列化和反序列化 299
10.3.1 Unity 3D 的序列化概覽 299
10.3.2 對Unity 3D 遊戲腳本進行序列化的注意事項 302
10.3.3 如何利用Unity 3D 提供的序列化器對自定義類型進行序列化 305
10.4 Prefab 和實例化之謎——序列化和反序列化的過程 309
10.4.1 認識預製體Prefab 309
10.4.2 實例化一個遊戲對象 311
10.4.3 序列化和反序列化之謎 314
10.5 本章總結 317
第11 章 移動平颱動態讀取外部文件 318
11.1 假如我想在編輯器裏動態讀取文件 318
11.2 移動平颱的資源路徑問題 320
11.3 移動平颱讀取外部文件的方法 323
11.4 使用Resources 類加載資源 330
11.5 使用WWW類加載資源 332
11.5.1 利用WWW類的構造函數實現資源下載 332
11.5.2 利用 WWW.LoadFromCacheOrDownload 方法實現資源下載 333
11.5.3 利用WWWForm 類實現POST 請求 335
11.6 本章總結 335
第12 章 在Unity 3D 中使用AssetBundle 336
12.1 初識AssetBundle 336
12.2 使用AssetBundle 的工作流程 337
12.2.1 開發階段 337
12.2.2 運行階段 340
12.3 如何使用本地磁盤中的AssetBundle 文件 344
12.4 AssetBundle 文件的平颱兼容性 345
12.5 AssetBundle 如何識彆資源 345
12.6 本章總結 346
第13 章 Unity 3D 優化 347
13.1 看看Unity 3D 優化需要從哪裏著手 347
13.2 CPU 方麵的優化 348
13.2.1 對DrawCall 的優化 348
13.2.2 對物理組件的優化 354
13.2.3 處理內存,卻讓CPU 受傷的GC 355
13.2.4 對代碼質量的優化 356
13.3 對GPU 的優化 357
13.3.1 減少繪製的數目 358
13.3.2 優化顯存帶寬 358
13.4 內存的優化 359
13.4.1 Unity 3D 的內部內存 359
13.4.2 Mono 的托管內存 360
13.5 本章總結 363
第14 章 Unity 3D 的腳本編譯 365
14.1 Unity 3D 腳本編譯流程概覽 365
14.2 JIT 即時編譯 368
14.2.1 使用編譯器將遊戲腳本編譯為托管模塊 368
14.2.2 托管模塊和程序集 369
14.2.3 使用JIT 編譯執行程序集的代碼 370
14.2.4 使用JIT 即時編譯的優勢 371
14.3 AOT 提前編譯 372
14.3.1 在Unity 3D 中使用AOT 編譯 372
14.3.2 iOS 平颱和Full-AOT 編譯 373
14.3.3 AOT 編譯的優勢 374
14.4 誰偷瞭我的熱更新?Mono、JIT 還是iOS 374
14.4.1 從一個常見的報錯說起 375
14.4.2 美麗的JIT 377
14.4.3 模擬JIT 的過程 378
14.4.4 iOS 平颱的自我保護 381
14.5 Unity 3D 項目的編譯與發布 382
14.5.1 選擇遊戲場景和目標平颱 382
14.5.2 Unity 3D 發布項目的內部過程 384
14.5.3 Unity 3D 部署到Android 平颱 384
14.5.4 Unity 3D 部署到iOS 平颱 386
14.6 本章總結 389
· · · · · · (收起)

具體描述

《Unity 3D腳本編程——使用C#語言開發跨平颱遊戲》以Unity 3D 的跨平颱基礎Mono,以及其遊戲腳本語言C#為基礎進行講解。全麵係統地剖析瞭Unity 3D 的跨平颱原理以及遊戲腳本開發的特點。

第1 章主要介紹瞭Unity 3D 引擎的曆史以及編輯器的基本知識;第2 章主要介紹瞭Mono,以及Unity3D 利用Mono 實現跨平颱的原理,並且分析瞭C#語言為什麼更適閤Unity 3D 遊戲開發的原因;第3 章到第10 章主要介紹瞭Unity 3D 遊戲腳本語言C#在使用Unity 3D 開發過程中的知識點,包括Unity 3D 腳本的類型基礎、數據結構,在Unity 3D 腳本中使用泛型、使用委托和事件打造自己的消息係統、利用定製特性來拓展Unity 3D 的編輯器、Unity 3D 協程背後的秘密——迭代器,以及可空類型和序列化在Unity 3D中使用的相關知識;第11 章到第14 章主要介紹瞭Unity 3D 的資源管理,以及優化和編譯的內容。

無論是初次接觸Unity 3D 腳本編程的新人,還是有一定經驗的老手,相信都可以藉《Unity 3D腳本編程——使用C#語言開發跨平颱遊戲》來提高自己在Unity 3D 方麵的水平。

用戶評價

評分

評分

##基本和unity3d關係不大,倒是把C#的核心知識點講得不錯,委托、迭代和存儲齣乎意料比一般的C#教材都言簡意賅,後續做Unity開發的時候多少能理解為什麼這本書會關心這類核心知識點,挺有大局觀。

評分

##版權歸作者所有,任何形式轉載請聯係作者。 作者:longshilin.com(來自豆瓣) 來源:https://book.douban.com/review/10210557/ 有幸參加Unite2019 shanghai場,並參加陳嘉棟老師的專場演講,現場感覺很贊,自己是遊戲開發初學者,後麵買下這本書,現在第一遍已經大緻看完,整體看下來感覺不錯,學到瞭一些東西。腳本相關的東西是重點也是難點,寫遊戲開發代碼離不開編程腳本,後麵可能會接著將這本書二刷,以理解更多的知識~

評分

主要從C#的角度講解和解讀,真正Unity3d相關的倒沒有那麼多,關於反編譯的分析比較多。對於我這種轉行過來搞Unity3d的人來說,目前並不實用,或者說用不到,開開眼界倒是可以。

評分

##對目前的知識係統進行瞭一個係統的總結,先不說質量怎麼樣,主體內容是非常適閤現在的我

評分

評分

##入門

評分

評分

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有