Unity 2017 從入門到精通
內容描述
Unity是在遊戲開發和虛擬現實開發方面應用得非常廣泛的軟件,
其功能強大,用戶體驗很友好,全世界已經有近千萬註冊用戶。
本書共分為28章,主要介紹Unity 2017的安裝和使用方法,
以循序漸進的方式詳細講解Unity作界面、Timeline、資源導入流程、
場景創建、粒子系統、Mecanim動畫系統、物理引擎、地形系統、
腳本語言開發、Shader開發、腳本調試優化與內存管理、跨平臺發布等內容。
書中每章都安排了有針對性的項目實例,可以幫助讀者輕鬆掌握軟件的使用技巧。
為了方便讀者學習,本書還附贈相關的Unity工程源文件以幫助讀者快速掌握Unity開發技術,
並在*後一章詳細介紹了Unity 2018版本的新特性。
本書面向廣大Unity 初學者,以及有志於從事Unity開發工作的人員,
同時也適合高等院校相關專業的學生和各類培訓班的學員閱讀參考。
目錄大綱
1章Unity介紹
1.1 Unity簡介1
1.2 Unity的歷史2
1.3 Unity 2017中的重要特性3
1.3.1業界&先的多平台支持3
1.3.2 VR/AR選開發工具4
1.3.3 Cinemachine攝像機系統4
1.3.4 Timeline可視化工具4
1.3.5數字內容創建工具的工作流程改進對FBX的支持5
1.3.6 Post-processing棧改進5
1.3.7粒子系統改進5
1.3.8全景360°/180°視頻5
1.3.9更新版的Crunch庫5
1.3.10光照改進5
1.3.11通過VR設備狀態事件獲得信息6
1.3.12輕鬆發布Android應用到中國小米平台6
1.4 Unity開發案例介紹6
1.4.1 Unity手機遊戲開發案例6
1.4.2 Unity嚴肅遊戲開發案例7
2章Unity安裝與購買
2.1 Unity安裝10
2.1.1實踐作01:在Windows作系統下的安裝10
2.1.2實踐作02:在macOS下的安裝12
2.2購買許可證14
實踐作03:在線購買Unity Plus加強版15
3章Unity編輯器
3.1實踐作04:工程的創建16
3.2界面佈局16
3.2.1導航窗口16
3.2.2界面佈局17
3.2.3界面定制18
3.3工具欄18
3.3.1 Transform Tools(變換工具) 18
3.3.2 Transform Gizmo Tools(變換輔助工具) 21
3.3.3 Play(播放控制) 21
3.3.4 Layers(分層下拉列表) 21
3.3.5 Layout(佈局下拉列表) 21
3.4菜單欄21
3.4.1 File (文件)菜單21
3.4.2 Edit(編輯)菜單22
3.4.3 Assets(資源)菜單23
3.4.4 GameObject(遊戲對象)菜單24
3.4.5 Component(組件)菜單25
3.4.6 Window(窗口)菜單26
3.4.7 Help(幫助)菜單27
3.5常用工作視圖28
3.5.1 Project(項目)視圖28
3.5.2 Scene(場景)視圖30
3.5.3 Game(遊戲)視圖31
3.5.4 Inspector(檢視)視圖32
3.5.5 Hierarchy(層級)視圖33
3.5.6 Console(控制台)視圖34
4章遊戲對象、組件和Prefabs
4.1實踐作05:創建遊戲對象和組件35
4.2常用遊戲對象37
4.2.1實踐作06:內置的幾何體和空對象37
4.2.2 Camera相機38
4.2.3 Light(燈光) 39
4.2.4 UGUI 40
4.3常用組件40
4.3.1 Transform組件40
4.3.2 Mesh組件40
4.3.3 Physics組件40
4.3. 4 Particle System組件41
4.3.5 Audio組件41
4.3.6 Scripts組件41
4.4 Prefabs(預設體) 41
4.4.1實踐作07:創建Prefabs 41
4.4.2實例化Prefabs 43
4.4.3實踐作08:修改Prefabs 43
5章創建基本的3D遊戲場景
5.1實踐作09:創建3D遊戲場景46
5.2地形47
5.2.1實踐作10:編輯地形47
5.2.2實踐作11:添加樹木和植被51
5.2.3實踐作12:添加水效果53
5.2.4地形設置參數詳解54
5.3實踐作13:光源和影56
5.4角色控制58
5.4.1實踐作14:創建一人稱控制器58
5.4.2實踐作15:創建三人稱控制器59
5.5靜態景物61
5.5 .1實踐作16:導入外部物體61
5.5.2實踐作17:創建物理阻擋62
5.6環境和音效63
5.6.1實踐作18:添加天空盒63
5.6.2實踐作19:添加霧效64
5.6. 3實踐作20:添加音效65
6章創建基本的2D遊戲場景
6.1實踐作21:創建2D遊戲場景67
6.2實踐作22:創建工作層68
6.3導入圖片資源68
6.4創建Tilemap 69
實踐作23:創建Tilemaps 70
6.5創建靜態場景71
6.5.1創建靜態景物71
實踐作24:創建背景層71
實踐作25:創建前景層74
6.5.2層級排序76
6.5.3 Outline Editor功能76
6.5.4 2D的九宮格技術77
6.6實踐作26:創建燈光79
6.7實踐作27:2D角色控制81
6.8 2D遊戲場景案例83
7章資源的導入與導出流程
7.1資源導入85
7.1.1外部資源場景工具介紹85
7.1.2 Unity導入外部資源的方法86
7.1.3實踐作28:3D模型、材質的導入87
7.1.4圖片資源的導入92
7.1.5 3D動畫的導入99
7.1.6音頻資源的導入99
7.1.7視頻資源的導入101
7.2資源包(unitypackage)的使用103
7.2.1資源包的導入104
7.2.2實踐作29:資源包的導出104
7.3 Asset Store的介紹和使用105
7.3.1 Asset Store簡介105
7.3.2實踐作30:Asset Store的使用106
8章3D數學基礎
8.1 3D坐標系107
8.1 .1全局坐標系107
8.1.2局部坐標系108
8.1.3相機坐標系109
8.1.4屏幕坐標系109
8.2向量109
8.2.1向量的運算109
8.2.2 Vector3類110
實踐作31:計算兩物體間的距離111
實踐作32:緩動效果112
8.3矩陣113
8.4齊次坐標113
8.5元數114
實踐作33:通過元數控制對象旋轉116
8.6坐標轉換原理117
8.6.1世界坐標與局部坐標的轉換117
實踐作34:改變全局和局部坐標117
8.6 .2世界坐標與屏幕坐標的轉換119
實踐作35:設置世界坐標119
9章Unity腳本語言
9.1 Unity腳本語言122
9.2創建並運行腳本122
9.2.1實踐作36:創建腳本122
9.2.2 MoDevelop編輯器123
9.2.3必然事件124
實踐作37:使用必然事件124
9.3 C#基本語法126
9.3.1變量和常量126
9.3.2運算符和表達式126
9.3.3語句和函數128
實踐作38:使用語句128
9.3.4訪問修飾符131
9.3.5數組、鍊錶和字典132
實踐作39:使用數組132
實踐作40:使用鍊錶134
9.3.6代碼註釋138
9.3.7 C#腳本139
9.4訪問遊戲對象和組件140
9.4.1 MoBehaviour類140
9.4.2訪問遊戲對象140
9.4.3訪問組件141
實踐作41:訪問組件或遊戲對象143
9.5常用腳本API 144
9.5.1 Transform類144
實踐作42:使用Transform組件控制遊戲對象145
9.5.2 Time類146
9.5.3 Random類147
9.5.4 Mathf類147
實踐作43:使用Mathf.SmoothDamp函數
製作相機的緩衝跟踪效果148
9.5.5 Coroutine協同程序149
實踐作44:使用協同程序150
9.6腳本生命週期151
10章信息輸入管理
10.1 Input Manager 153
10.2鼠標輸入155
實踐作45:鼠標輸入的作155
10.3鍵盤輸入157
實踐作46:鍵盤輸入的作158
10.4遊戲外設輸入159
實踐作47:遊戲外設輸入的作159
10.5移動設備輸入160
實踐作48:移動設備輸入的作161
10.6自定義輸入164
11章物理系統
11.1概述166
11.2物理系統相關組件166
11.2.1剛體組件167
11.2.2角色控制器168
11.2.3碰撞體組件169
11.2.4物理材質173
11.2.5布料組件174
11.2.6關節組件179
11.2.7力場組件185
11.3可視化物理調試185
12章粒子系統
12.1什麼是粒子系統188
12.2在Unity中使用粒子系統189
12.3 級應用技巧191
實踐作49:學習使用標準資源包裡的粒子特效191
實踐作50 :控制爆炸粒子191
實踐作51:控製粒子的大小193
12.4參數詳解196
13章動畫系統
13.1概述212
13.2 Unity動畫相關組件213
13.2.1 Animator和Animator Controller 213
13.2.2 Animation動畫編輯器221
13.3外部動畫資源的準備和導入223
13.3.1獲取人形網格模型223
13.3.2導入動畫224
13.3.3動畫分解224
13.3.4循環播放動畫片段225
13.4人形角色動畫226
13.4.1創建Avatar 226
13.4.2配置Avatar 226
13.4.3設置Muscle參數228
13.4.4 Avatar Mask 228
13.4.5人形動畫的重定向229
實踐作52 :將三人稱控制動畫重定向到其他角色229
13.4.6逆向運動學功能231
實踐作53:逆向運動學應用231
13.5動畫混合233
13.5.1混合樹233
13.5.2 1D混合234
13.5.3 2D混合236
13.5.4直接混合238
14章Timeline
14.1 Timeline概述239
14.2 Timeline工作流程242
14.2.1創建Timeline資源和Timeline實例242
14.2.2用無限剪輯錄製基本動畫243
14.2.3將無限剪輯轉換為動畫片段246
14.2 .4創建人形動畫246
14.3 Timeline編輯窗口249
14.3.1 Timeline預覽和Timeline選擇器251
14.3.2 Timeline播放控件251
14.3.3軌道列表252
14.3.4剪輯視圖257
14.3.5曲線視圖264
14.3.6 Timeline設置268
14.4 Playable Director組件269
14.5 Cinemachine Camera系統270
14.5.1下載並導入資源包270
14.5.2 Cinemachine Camera主要的組件271
實踐作54:使用Cinemachine Camera 271
14.6綜合案例:Timeline
和Cinemachine Camera的綜合使用274
15章UGUI
15.1概述280
15.2 UGUI之Canvas畫布280
15.2.1 Canvas 280
15.2.2 Canvas Group 281
15.2.3元素繪製順序281
15.3 UGUI之EventSystem對象282
15.3.1 Event System組件282
15.3.2 Standalone Input Module組件282
15.4 UGUI之基本佈局283
15.4.1矩形工具283
15.4.2 Rect Transform矩形變換283
15.4.3 Anchors錨點284
15.4.4 Pivot軸心點285
15.4.5補充285
15.5 UGUI之Tet文本285
15.5.1 Tet介紹285
15.5.2 Rich Tet富文本286
15.6 UGUI之Image圖像286
15.7 UGUI之Raw Image原始圖像287
15.8 UGUI之Mask遮罩288
15.9 UGUI之過渡選項和導航選項288
15.9.1 Transition過渡選項288
15.9.2 Navigation導航選項289
15.10 UGUI之Button按鈕290
15.10.1 Button介紹290
15.10.2實踐作55:Button單擊事件綁定291
15.11 UGUI之Toggle開關294
15.11.1 Toggle介紹294
15.11.2實踐作56:Toggle事件綁定295
15.12 UGUI之Slider滑動條295
15.12.1 Slider介紹295
15.12.2實踐作57:Slider事件綁定296
15.13 UGUI之Scrollbar滾動條297
15.13.1 Scrollbar介紹297
15.13.2 Scrollbar事件綁定298
15.14 UGUI之Dropdown下拉列表298
15.14.1 Dropdown介紹298
15.14.2 Dropdown事件綁定300
15.14.3實踐作58:Dropdown其他作300
15.15 UGUI之Input Field輸入欄301
15.15.1 Input Field介紹301
15.15.2 Input Field事件綁定302
15.16 UGUI之Scroll View滾動視圖302
15.16.1 Scroll View介紹302
15.16.2 Scroll View事件綁定303
15.17 UGUI之自動佈局組件303
15.17.1 Layout Element佈局元素303
15.17.2 Content Size Fitter內容尺寸裁切304
15.17.3 Aspect Ratio Fitter長寬比例裁切304
15.17.4 Horizontal Layout Group水平佈局組305
15.17.5 Vertical Layout Group垂直佈局組305
15.17.6 Grid Layout Group網格佈局組306
16章音效和視頻
16.1音效系統307
16.1.1概述307
16.1.2常用組件308
16.1.3 Audio Mier音頻混合310
16.1.4 Audio Filters音頻過濾321
16.1.5 Audio Effects音頻效果325
16.1.6 Microphone麥克風325
16.2視頻播放器326
16.2.1概述326
16.2.2 Video Player組件327
16.2.3視頻剪輯328
16.2.4視頻透明度支持328
16.2.5全景視頻329
實踐作59:全景視頻之海上沖浪329
17章全局光照
17.1概述333
17.1.1 Enlighten 333
17.1.2 Progressive Lightmapper 333
17.1.3 Lightmap seam stitching 334
17.2實踐作60:烘焙光照用法示例335
17.3系統參數詳解338
17.3.1 FBX模型導入設置338
17.3.2 Reflection Probe反探針338
17.3.3 Light Probe Group光照探針組件341
17.3.4 Lighting窗口341
17.3.5 Light Eplorer光探測器345
18章導航網格尋路
18.1 Unity的導航尋路系統346
18.2實踐作61:創建一個導航網格347
作者介紹
劉向
Unity 官方認證價值專家(UVP)、Unity UUG 福州負責人、工業與信息化部VR 認證講師。
畢業於西安通信學院,計算機應用專業。
擁有十多年VR/AR 從業經驗,曾參與《網上世博會》《數字奧運》《網易3D 家具》等VR 項目實施。
北京犀牛數字互動科技有限公司創始人,中國虛擬現實產業聯盟理事,
中國虛擬現實與可視化聯盟理事,中國計算機學會AC 學術委員。
組織並參與出版書籍:《VR/AR/MR 開發實戰》《虛擬現實:從夢想到現實》
《Unity 4.X 從入門到精通》 《Unity 5.X 從入門到精通》。
吳彬
畢業於西安歐亞學院,計算機信息管理專業。
2004 年起專注於虛擬現實領域,*深虛擬現實從業人員。
《Unity 4.X 從入門到精通》《Unity 5.X 從入門到精通》的作者之一。
精通3ds MAX、Maya、 Unity 等3D 軟件。
具有極其深厚的VR 技術功底,開發過《數字奧運》 《三星球》等多個大型虛擬現實項目