首 頁
手機版

unity3d腳本編程 使用c語言開發(fā)跨平臺游戲 陳嘉棟pdf掃描版

  • 軟件大?。?6.09M
  • 軟件語言:簡體中文
  • 軟件類型:國產(chǎn)軟件
  • 軟件授權(quán):免費軟件
  • 更新時間:2023/09/05
  • 軟件類別:電子閱讀
  • 應用平臺:Windows10,Windows8,Windows7,WinVista,Win2003,WinXP,Win2000
網(wǎng)友評分:8.8分
網(wǎng)友評論 下載地址 收藏該頁
本地下載
unity3d腳本編程 使用c語言開發(fā)跨平臺游戲是一本Unity 3D腳本編程書籍,由陳嘉棟編著。本書內(nèi)容豐富翔實,以Unity 3D的跨平臺基礎(chǔ)Mono及其游戲腳本語言C#為基礎(chǔ)進行講解,全面系統(tǒng)地剖析了Unity 3D的跨平臺原理以及游戲腳本開發(fā)的特點。作者不僅分析了c#語言在unity3d腳本編程中的知識點,還會帶領(lǐng)各位讀者走進更加底層的cil代碼層,了解unity3d借助mono跨平臺的原理,最后還會關(guān)注unity3d引擎本身的資源管理理、項目優(yōu)化以及編譯的內(nèi)容,無論是初次接觸Unity 3D腳本編程的新人,還是有一定經(jīng)驗的老手,相信都可以借本書來提高自己在Unity 3D 方面的水平。

內(nèi)容介紹

《unity3d腳本編程 使用c語言開發(fā)跨平臺游戲》以Unity 3D的跨平臺基礎(chǔ)Mono以及其游戲腳本語言C#為基礎(chǔ)進行講解。全面系統(tǒng)地剖析了Unity 3D的跨平臺原理以及游戲腳本開發(fā)的特點。第1章主要介紹了Unity 3D引擎的歷史以及編輯器的基本知識;第2章主要介紹了Mono,以及Unity 3D利用Mono實現(xiàn)跨平臺的原理,并且分析了C#語言為何更加適合Unity 3D游戲開發(fā);第3章到第10章主要介紹了Unity 3D游戲腳本語言C#在使用Unity 3D開發(fā)過程中的知識點,包括Unity 3D腳本的類型基礎(chǔ)、數(shù)據(jù)結(jié)構(gòu)、在Unity 3D腳本中使用泛型、使用委托和事件打造自己的消息系統(tǒng)、利用定制特性來拓展Unity 3D的編輯器、Unity 3D協(xié)程背后的秘密――迭代器以及可空類型和序列化在Unity 3D中使用的相關(guān)知識;第11章到第14章,則主要介紹了Unity 3D的資源管理以及優(yōu)化和編譯的內(nèi)容。

章節(jié)目錄

第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 本章總結(jié) 21
第2 章 Mono 所搭建的腳本核心基礎(chǔ)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 為何能跨平臺?聊聊CIL38
2.3.1 Unity 3D 為何能跨平臺 38
2.3.2 CIL 是什么 40  2.3.3 Unity 3D 如何使用CIL 跨平臺 44
2.4 腳本的選擇,C# 或 JavaScript48
2.4.1 最熟悉的陌生人——UnityScript48
2.4.2 UnityScript 與 JavaScript 51
2.4.3 C#與UnityScript 55
2.5 本章總結(jié)57
第3 章 Unity 3D 腳本語言的類型系統(tǒng)58
3.1 C#的類型系統(tǒng) 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 本章總結(jié)98
第4 章 Unity 3D 中常用的數(shù)據(jù)結(jié)構(gòu)99
4.1 Array 數(shù)組100
4.2 ArrayList 數(shù)組101
4.3 List<T>數(shù)組102
4.4 C#中的鏈表——LinkedList<T>103
4.5 隊列(Queue<T>)和棧(Stack<T>)107
4.6 Hash Table(哈希表)和Dictionary<K,T>(字典)112
4.7 本章總結(jié)120
第5 章 在Unity 3D 中使用泛型121
5.1 為什么需要泛型機制121
5.2 Unity 3D 中常見的泛型 124
5.3 泛型機制的基礎(chǔ)127
5.3.1 泛型類型和類型參數(shù) 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 本章總結(jié)146
第6 章 在Unity 3D 中使用委托149
6.1 向Unity 3D 中的SendMessage 和BroadcastMessage 說拜拜150
6.2 認識回調(diào)函數(shù)機制——委托151
6.3 委托是如何實現(xiàn)的154
6.4 委托是如何調(diào)用多個方法的 160
6.5 用事件(Event)實現(xiàn)消息系統(tǒng)164
6.6 事件是如何工作的 169
6.7 定義事件的觀察者,實現(xiàn)觀察者模式 172
6.8 委托的簡化語法 177
6.8.1 不必構(gòu)造委托對象177
6.8.2 匿名方法 178
6.8.3 Lambda 表達式 196
6.9 本章總結(jié) 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 本章總結(jié)227
第8 章 Unity 3D 協(xié)程背后的迭代器 228
8.1 初識Unity 3D 中的協(xié)程 228
8.1.1 使用StartCoroutine 方法開啟協(xié)程 229
8.1.2 使用StopCoroutine 方法停止一個協(xié)程 233
8.2 使用協(xié)程實現(xiàn)延時效果234
8.3 Unity 3D 協(xié)程背后的秘密——迭代器 238
8.3.1 你好,迭代器 238
8.3.2 原來是狀態(tài)機 242
8.3.3. 狀態(tài)管理 248
8.4 WWW和協(xié)程 253
8.5 Unity 3D 協(xié)程代碼實例 257
8.6 本章總結(jié)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 本章總結(jié) 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 實例化一個游戲?qū)ο?11
10.4.3 序列化和反序列化之謎314
10.5 本章總結(jié)317
第11 章 移動平臺動態(tài)讀取外部文件 318
11.1 假如我想在編輯器里動態(tài)讀取文件318
11.2 移動平臺的資源路徑問題 320
11.3 移動平臺讀取外部文件的方法323
11.4 使用Resources 類加載資源330
11.5 使用WWW類加載資源332
11.5.1 利用WWW類的構(gòu)造函數(shù)實現(xiàn)資源下載332
11.5.2 利用 WWW.LoadFromCacheOrDownload 方法實現(xiàn)資源下載333
11.5.3 利用WWWForm 類實現(xiàn)POST 請求335
11.6 本章總結(jié)335
第12 章 在Unity 3D 中使用AssetBundle 336
12.1 初識AssetBundle 336
12.2 使用AssetBundle 的工作流程337
12.2.1 開發(fā)階段 337
12.2.2 運行階段340
12.3 如何使用本地磁盤中的AssetBundle 文件344
12.4 AssetBundle 文件的平臺兼容性345
12.5 AssetBundle 如何識別資源345
12.6 本章總結(jié)346
第13 章 Unity 3D 優(yōu)化347
13.1 看看Unity 3D 優(yōu)化需要從哪里著手 347
13.2 CPU 方面的優(yōu)化348
13.2.1 對DrawCall 的優(yōu)化 348
13.2.2 對物理組件的優(yōu)化 354
13.2.3 處理內(nèi)存,卻讓CPU 受傷的GC355
13.2.4 對代碼質(zhì)量的優(yōu)化356
13.3 對GPU 的優(yōu)化 357
13.3.1 減少繪制的數(shù)目358
13.3.2 優(yōu)化顯存帶寬358
13.4 內(nèi)存的優(yōu)化 359
13.4.1 Unity 3D 的內(nèi)部內(nèi)存 359
13.4.2 Mono 的托管內(nèi)存 360
13.5 本章總結(jié) 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 編譯執(zhí)行程序集的代碼 370
14.2.4 使用JIT 即時編譯的優(yōu)勢 371
14.3 AOT 提前編譯372
14.3.1 在Unity 3D 中使用AOT 編譯372
14.3.2 iOS 平臺和Full-AOT 編譯 373
14.3.3 AOT 編譯的優(yōu)勢 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 項目的編譯與發(fā)布 382
14.5.1 選擇游戲場景和目標平臺 382
14.5.2 Unity 3D 發(fā)布項目的內(nèi)部過程384
14.5.3 Unity 3D 部署到Android 平臺 384
14.5.4 Unity 3D 部署到iOS 平臺 386
14.6 本章總結(jié) 389

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務必下載pdf閱讀器

3、安裝后,在打開解壓得出的pdf文件

4、雙擊進行閱讀

收起介紹展開介紹
  • 下載地址
unity3d腳本編程 使用c語言開發(fā)跨平臺游戲 陳嘉棟pdf掃描版

有問題? 點此報錯

發(fā)表評論

0條評論