Unity 5.X 從入門到精通

Unity 5.X 從入門到精通

作者: Unity Technologies
出版社: 中國鐵道
出版在: 2016-01-01
ISBN-13: 9787113210472
ISBN-10: 7113210473
裝訂格式: 平裝
總頁數: 707 頁





內容描述


作者簡介
作者:優美締軟件(上海)有限公司主編著作
目錄
初識篇

第1章認識Unity引擎1
1.1 Unity簡介2
1.2 Unity發展史3
1.3 Unity 5.0 4
第2章Unity開發案例介紹7
2.1 Unity遊戲介紹8
2.2 Unity非遊戲應用11
第3章軟件安裝、授權與服務13
3.1軟件安裝14
3.1.1在Windows下的安裝14
3.1.2在Mac下的安裝17
3.2授權19
3.3服務23
第4章Unity開發資源介紹25
4.1 Unity Asset Store資源商店26
4.1.1 Asset Store簡介26
4.1.2 Asset Store使用方法27
4.2其他服務31
4.2.1 Unity Ads服務31
4.2.2 Unity Game Analytics服務32
4.2.3 Unity Cloud Build服務32
4.2.4 Everyplay服務33

操作篇

第5章Unity編輯器35
5.1界面佈局36
5.1.1導航窗口37
5.1.2界面佈局39
5.1.3界面定製40
5.2打開範例工程41
5.3工具欄44
5.3.1 Transform Tools(變換工具) 45
5.3.2 Transform Gizmo Tools
(變換輔助工具) 48
5.3.3 Play(播放控制) 48
5.3.4 Layers(分層下拉列表) 49
5.3.5 Layout(佈局下拉列表) 49
5.4菜單欄49
5.4.1 File(文件)菜單49
5.4. 2 Edit(編輯)菜單52
5.4.3 Assets(資源)菜單53
5.4.4 GameObject(遊戲對象)菜單53
5.4.5 Component(組件)菜單54
5.4.6 Window(窗口)菜單54
5.4.7 Help(幫助)菜單55
5.5常用工作視圖55
5.5.1 Project(項目)視圖55
5.5.2 Scene(場景)視圖58
5.5.3 Game(遊戲)視圖64
5.5.4 Inspector(檢視)視圖67
5.5.5 Hierarchy(層級)視圖68
5.5.6 Console(控制台)視圖69
5.5.7 Animation(動畫)視圖70
5.5.8 Animator(動畫控制器)視圖70
5.5.9 Sprite Editor(Sprite編輯器) 71
5.5.10 Sprite Packer( Sprite打包工具) 73
5.5.11 Lightmaps(光照貼圖烘焙)
視圖75
5.5.12 Occlusion(遮擋剔除)
視圖76
5.5.13 Navigation(導航尋路)
視圖76
5.5.14 Version Control(版本控制)
視圖77
5.5. 15 Asset Store(資源商店) 77
第6章創建基本的3D遊戲場景79
6.1創建遊戲工程和場景80
6.2創建地形83
6.2.1編輯地形83
6.2.2添加樹木和植被90
6.2.3添加水效果93
6.3創建光源和陰影94
6.4添加場景靜態景物97
6.4.1創建基本幾何體97
6.4.2導入外部物體100
6.5添加角色和控制102
6.5.1創建第一人稱角色控制器102
6.5.2創建物理阻擋105
6.6添加環境和效果108
6.6.1添加天空盒108
6.6.2添加霧效110
6.6.3添加音效111
第7章創建基本的2D遊戲場景115
7.1創建遊戲工程和場景116
7.2創建工作層118
7.3添加靜態景物119
7.3.1導入靜態圖片119
7.3.2創建靜態景物119
7.4添加角色和控制123
7.4.1創建Sprite動畫123
7.4.2創建主要的遊戲對象131
7.4.3創建2D物理阻擋139
7.5添加2D效果142
第8章資源導入導出流程147
8.1外部資源的創建148
8.1.1外部資源創建工具介紹148
8.1.2從3ds Max中導出模型、材質和動畫149
8.2 Unity資源導入流程155
8.2.1 3D模型、材質的導入155
8.2.2 2D圖像的導入及設置163
8.2.3 3D動畫的導入174
8.2.4 2D動畫的導入176
8.2.5音頻、視頻的導入及設置179
8.3資源包的導入184
8.3.1 Unity Asset Store簡介184
8.3.2 Unity Asset Store的使用185
8.4資源包的導出189
第9章遊戲對象、組件和Prefabs 193
9.1創建遊戲對象和組件194
9.2常用組件介紹197
9.3創建Prefabs 198
9.3.1創建和導入Prefabs 199
9.3.2實例化Prefabs 202
9.3.3嵌套Prefabs
(Nested Prefabs) 206
第10章Shuriken粒子系統213
10.1 Shuriken概述214
10.2基本用法舉例215
10.3高級應用技巧221
10.3.1地面火焰效果案例221
10.3.2煙花效果案例238
10.4系統參數詳解252
第11章Mecanim動畫系統263
11.1 Mecanim概述264
11.2應用示例265
11.3資源的準備和導入275
11.3.1如何獲取人形網格模型275
11.3.2如何導入動畫276
11.3.3動畫分解276
11.4使用人形角色動畫279
11.4.1創建Avatar 280
11.4.2配置Avatar 281
11.4.3設置Muscle參數283
11.4.4 Avatar Mask 284
11.4.5人形動畫的重定向285
11.4. 6逆向運動學功能288
11.4.7一般動畫291
11.5在遊戲中使用角色動畫292
11.5.1循環動畫片段292
11.5.2 Animator組件293
11.5.3 Animator Controller 293
11.5.4動畫狀態機294
11.5.5混合樹299
11.5.6 1D混合300
11.5.7 2D混合301
第12章物理系統303
12.1概述304
12.2應用示例304
12.3高級應用技巧309
12.4物理系統相關組件及參數詳解318
12.4.1 Rigidbody組件318
12.4.2 Character Controller組件322
12.4.3碰撞體組件324
12.4.4布料組件332
12.4.5關節組件335
12.4.6 2D Physics Effectors組件349
12.4.7力場組件351
第13章音效系統355
13.1概述356
13.2應用示例356
13.2.1項目概要356
13.2.2項目分析358
13.3高級應用技術362
13.4聲音系統相關組件及參數詳解368
第14章全局光照371
14.1全局光照介紹372
14.2基本用法舉例372
14.3高級應用技巧376
14.4系統參數介紹388
第15章導航網格尋路397
15.1概述398
15.2簡單應用舉例398
15.3高級應用技巧404
15.3.1使用Off-Mesh Link組件404
15.3.2為網格分層406
15.3.3動態更改可行進層410
15.3.4使用Navmesh Obstacle組件413
15.4系統相關參數詳解415
第16章遮擋剔除419
16.1概述及其應用示例420
16.2高級應用技巧423
16.2.1使用Occlusion Area組件423
16.2.2使用Occlusion Portals組件424
16.3設置烘焙參數425
第17章後期屏幕渲染特效427
17.1概述428
17.2使用參數詳解433

開發篇

第18章3D數學基礎知識457
18.1 3D坐標系
(3D Coordinate System) 458
18.2向量(Vector) 464
18.3矩陣(Maxtrix) 468
18.4齊次坐標470
18.5四元數470
第19章Unity腳本開發基礎475
19.1腳本介紹476
19.2 Unity腳本語言477
19.3創建並運行腳本478
19.3.1創建腳本478
19.3.2 MonoDevelop編輯器479
19.3.3必然事件(Certain Events) 481
19.4 C#基本語法485
19.5訪問遊戲對象和組件493
19.5.1 MonoBehaviour類493
19.5.2訪問遊戲對象493
19.5.3訪問組件494
19.6常用腳本API 498
19.6.1 Transform組件498
19.6.2 Time類501
19.6.3 Random類502
19.6.4 Mathf類502
19.6.5 Coroutine協同程序504
第20章輸入與控制507
20.1 Input Manager(輸入管理器) 508
20.2鼠標輸入510
20.3鍵盤操作512
20.4遊戲外設輸入515
20.5移動設備輸入516
20.6自定義輸入519
第21章GUI開發523
21.1 Unity新GUI系統介紹524
21.1.1畫布(Canvas) 524
21.1.2 Rect Transform
(矩形變換) 526
21.1. 3在場景視圖中編輯
(Editing in the Scene View) 527
21.1.4錨點(Anchors) 527
21.1.5軸心點(Pivot) 528
21.1.6文本(Text) 529
21.1.7圖像(Image) 530
21.1 .8原始圖像(Raw Image) 531
21.1.9遮罩(Mask) 532
21.1.10過渡選項
(Transition Options) 532
21.1.11導航選項
(Navigation Options) 534
21.1.12按鈕(Button) 534
21.1.13開關(Toggle) 535
21.1.14滑動條(Slider) 536
21.1.15滾動條(Scrollbar) 537
21.1.16輸入欄(Input Field) 538
21.1.17佈局元素控件
(Layout Element) 539
21.1.18內容尺寸裁切
(Content Size Fitter) 540
21.1.19長寬比例裁切
(Aspect Ratio Fitter) 540
21.1.20水平佈局組
(Horizo ntal Layout Group) 541
21.1.21垂直佈局組
(Vertical Layout Group) 541
21.1.22網格佈局組
(Grid Layout Group) 542
21.2 UGUI應用實例543
第22章Shader開發547
22.1 Shader概述548
22.2內建Shader介紹549
22.2.1內建著色器(4.X版本) 549
22.2.2內建標準著色器(5.X版本) 553
22.3創建自己的Shader 563
22.4 ShaderLab基礎語法565
22.4.1 Properties屬性567
22.4.2 SubShader子著色器視圖568
22.4.3 Fallback備用著色器570
22.4.4 Category(分類) 570
22.5 Unity中的三種自定義Shader 571
22.5.1固定功能管線著色器
(Fixed Function Shaders) 571
22.5.2錶面著色器
(Surface Shaders) 572
22.5.3頂點片段著色器
(Vertex and Fragment Shaders) 576
22.6 Reflection Probe(反射探頭) 581
第23章AssetBundle工作流程591
23.1 AssetBundle 593
23.1.1 AssetBundle的UI 593
23.1.2 BuildPipeline.BuildAsset-
Bundles 594
23.1.3 Unity處理Assets
之間的依賴596
23.2如何下載AssetBundle 598
23.3 AssetBundle的加載與卸載599
23.3.1加載AssetBundle 599
23.3.2從AssetBundle中
加載Assets 602
23.3.3從場景AssetBundle中加載
Assets 604
23.3.4 AssetBundle Variant的使用605
23.3.5卸載AssetBundle 605
23.4 AssetBundle的內存管理606
23.4.1下載和加載AssetBundle時
對內存的影響606
23.4.2 AssetBundle以及Asset
的卸載607
23.5 WWW、AssetBundle及Asset
的關係608
第24章開發進階609
24.1 Unity新的網絡引擎UNET 610
24.1.1授權服務器610
24.1.2非授權服務器611
24.1.3 Hight Level API 611
24.1.4 Transport Layer API 624
24.1.5 WebGL Support 626
24.1.6 Internet Services 627
24.1.7 NetWorkView
(網絡視圖組件) 632
24.2編輯器擴展633
24.2.1編輯器腳本介紹633
24.2.2創建編輯器窗口633
24.2.3自定義Inspector視圖636
24.2.4自定義場景視圖638
24.2.5第三方編輯器插件639
第25章腳本調試與優化641
25.1腳本調試642
25.2 Profiler 646
25.2.1 Profiler的使用646
25.2.2 iOS設備啟用遠程分析657
25.2.3 Android設備啟用遠程分析658
25.3 Log Files 659
25.4優化建議660
25.4.1各個平臺通用的優化方案660
25.4 .2移動設備的優化661
第26章跨平臺發布663
26.1發佈到網頁平臺664
26.1.1將項目發佈到Web 664
26.1.2自定義Unity Web Player的屏幕
加載672
26.1.3自定義Unity Web Player
的行為674
26.1.4 JavaScript與Unity的通信675
26.1.5使用Webplayer模板676
26.2發佈到Android平臺682
26.2.1 Java SDK的環境配置682
26.2.2 Android SDK的安裝
與項目發布683
26.3 iOS平臺的發布690
26.3.1發布前的準備工作690
26.3.2發布iOS平臺的設置692
26.3.3項目工程輸出與發布699
26.4 WebGL平臺的發布699
26.5 Unity Cloud Build 703
序言
p.p1 {margin: 0.0px 0.0px 6.3px 0.0px; line-height: 21.0px; font: 16.9px 'Hiragino Sans GB'; color: #333333; -webkit-text-stroke: #333333} p.p2 {margin: 0.0px 0.0px 14.0px 0.0px; line-height: 22.0px; font: 14.0px 'PingFang TC'; color: #111111; -webkit-text-stroke: #111111} p.p3 {margin: 0.0px 0.0px 14.0px 0.0px; line-height: 22.0px; font: 14.0px Arial; color: #111111; -webkit-text-stroke: #111111} span.s1 {font-kerning: none; background-color: #c9d7f1} span.s2 {font-kerning: none; background-color: #ffffff} span.s3 {font: 14.0px Arial; font-kerning: none; background-color: #ffffff} span.s4 {font: 14.0px 'PingFang TC'; font-kerning: none; background-color: #ffffff} span.s5 {font-kerning: none} span.s6 {font: 14.0px Arial; font-kerning: none}
時下,中國遊戲產業正呈現出一片欣欣向榮的繁榮景象。截至2015年上半年,中國遊戲市場實際銷售收入達到605.1億元人民幣,同比增長21.9%。然而,隨著遊戲版本不斷推陳出新,當下越來越多的遊戲已經無法滿足廣大消費者的需求。玩家更青睞於畫面精良,玩法新穎,安裝包小巧,遊戲加載快的高品質遊戲。
另外,移動平臺遊戲的潛力仍在持續發展。據統計,僅2015年上半年,中國移動遊戲市場實際銷售收入就高達209.3億元人民幣,同比增長67.2%,佔遊戲總銷售收入的34.6%。移動遊戲儼然成為當下游戲市場的一支生力軍。在這種大環境下,更多個人開發者開始成立遊戲工作室獨立製作遊戲,大型遊戲公司則需要通過快速開發與更新自身的遊戲產品,使自己立於不敗之地。
當然,我們同樣不能忽略VR產業的崛起。伴隨著Oculus和Morpheus(現更名為:PlayStation VR)等一系列虛擬現實設備的發展,用戶可以最為真實的體驗到3D虛擬環境。而像Google CardBoard和三星Gear VR等“Mobile VR”設備的出現,則使得消費者能以非常少的花銷通過手機來體驗VR世界。作為全球第一個支持虛擬現實設備的交互式引擎,大批開發者被其吸引,投身VR項目產品的研發之中。預計到2017年,將會有超過1 300萬台的VR硬件產出,2020年更會超出5 000萬台,總市值高達30億美元。
面對這樣的局面,對於廣大開發者既是一次機遇,也是一次挑戰。如何快速高效的開發出成熟穩定的商業項目,以滿足用戶高標準的需求,已成為開發商們必鬚麵對的重要課題。
Unity引擎便是在這樣的背景下被廣大中國開發者熟知。Unity是由Unity Technologies公司開發的專業虛擬交互式引擎。在全球範圍內,Unity佔據全功能遊戲引擎市場45%的份額,居全球首位。Unity引擎製作的遊戲吸引了全球6億多遊戲玩家的使用。用Unity創作的應用和遊戲目前安裝量高達250億餘個。
相比於其他引擎,Unity最大的特點便是其多平臺開發。在5.2最新版本引擎中,現已支持包括Windows、Mac OS X、iOS、Android、PlayStation 3、PlayStation 4、PlayStation Vita、Xbox 360、Xbox ONE、Wii U,Windows Store、Windows Phone、Oculus Rift、Gear VR 、Web GL和Web Palyer等在內的23個平臺,用戶只需進行一次開發,便可以發布至以上所提到的主流平臺中。
Unity引擎不僅支持C#、JavaScript兩種腳本語言,同時還支持幾乎所有美術資源文件格式。特別需要指出的是,Unity引擎還提供了一個網上資源商店(Asset Store),用戶可以在這個平臺上購買和銷售包括3D模型、材質貼圖、腳本代碼、音效和UI界面擴展插件等Unity相關資源。通過Unity引擎,開發者可以在短時間內製作出一款高質量的商業項目。也可以通過Asset Store銷售自己製作的產品,獲得利潤。
更為難能可貴的是,Unity同時擁有一個資源分享與知識問答的交流平臺,包括論壇、博客、在線視頻等,以此幫助開發者更為便捷的瞭解Unity引擎。
伴隨著Unity 5的正式發布,Unity這款虛擬交互式引擎工具也進入新的發展階段。眾多全新功能為使用者提供更為簡潔高效的用戶體驗。全局光照和標準材質等工具將為您呈現更為真實的AAA影像效果,全新的物理系統則使物理檢測變得更加快速高效。像Unity Cloud和Unity Analytics等線上服務的出現,使用戶可以在更短的時間內開發遊戲,快速獲得遊戲上線後的相關信息,從而通過多種方式產生盈利。在Unity 5.1版本引擎中所添加的與VR相關的功能和API更是廣大開發者所期待的更新內容。這些新功能的使用方法都將在本書中向讀者進行詳細介紹。
截至2015年,Unity已經擁有超過450萬註冊開發者,中國開發者數量佔全球開發者數量的1/3,位居世界第一。那麼,應該如何學好Unity引擎呢?目前,Unity雖然有大量的英文技術資料,但中文資料相對匱乏,這往往令一些初學者望而卻步,而具有一定基礎的用戶則希望在短時間內掌握新的版本引擎,本書的面世在一定程度上解決了這一問題,方便開發者提高對Unity引擎的實際應用能力。
本書共分三篇。初識篇(第1~4章),向讀者介紹Unity的發展歷程,還原最為真實的Unity引擎。操作篇(第5~17章),從初學者的角度來講解Unity引擎的相關知識,通過多個操作案例幫助入門者快速掌握Unity引擎的各個知識點,即使是毫無編程經驗的人員,也可以快速掌握Unity引擎的開發技巧。開發篇(第18~26章)為想深入瞭解Unity引擎開發知識以及正從事遊戲開發的人員提供了寶貴的技術資料。
為了方便更多的Unity的中國用戶,Unity問答社區即將與中國的廣大粉絲見面。問答社區現已聚集了眾多資深的Unity工程師,開發者們可以根據自己感興趣的話題在問答社區中進行分享與討論。
最後,希望本書可以為您在Unity的學習上保駕護航,也祝願中國的Unity開發者可以帶來更多的精彩作品。




相關書籍

游戲機制 — 高級游戲設計技術 (Game Mechanics: Advanced Game Design)

作者 [美]Ernest Adams Joris Dormans

2016-01-01

Tradigital Blender: A CG Animator's Guide to Applying the Classic Principles of Animation (Paperback)

作者 Roland Hess

2016-01-01

超限進化 3D設計:iClone + Unity -- 多媒體&遊戲創成精粹 (舊名: 用 iClone + Unity打造 3D互動多媒體與遊戲設計)

作者 劉為開 吳敬堯

2016-01-01