作 者:吳雁濤 著
定 價:129
出 版 社:清華大學出版社
出版日期:2020年08月01日
頁 數:676
裝 幀:平裝
ISBN:9787302558804
Unity3D是一款跨平臺3D、2D遊戲及互動內容開發引擎,有著廣泛的影響力。隨著近年增強現實和虛擬現實技術的興起,很多AR與VR的技術提供方都提供了基於Unity3D的SDK包。本書針對沒有Unity3D編程經驗的AR/VR初學者,詳細講解Unity3D開發增強現實和虛擬現實的方法,使讀者能夠快速使用Unity3D平臺開發AR與VR應用。
●第1章Unity的基本介紹1
1.1功能特點1
1.1.1Unity簡介1
1.1.2Unity的特點1
1.2版本及費用2
1.3下載和安裝3
1.3.1Unity版本的選擇和UnityHub3
1.3.2下載3
1.3.3UnityHub安裝和許可證激活4
1.3.4用UnityHub安裝Unity7
1.4Unity官方提供的學習資源10
1.4.1UnityHub的鏈接資源10
1.4.2官方網站上的資源11
1.4.3Unity商城12
第2章Unity的世界和編輯器主要界面介紹13
2.1理解Unity的世界13
2.1.1虛擬的三維世界13
2.1.2必須存在的轉換14
2.1.3層級的結構14
2.1.4組件決定遊戲對像14
2.1.5場景和攝像機14
2.2理解Unity項目的結構15
2.3關於翻譯16
2.4啟動界面17
2.4.1新建項目17
2.4.2添加已有項目18
2.4.3打開項目18
2.4.4版本變更19
2.5默認界面20
2.6場景窗口21
2.6.1基本操作21
2.6.2變形工具22
2.6.3其他輔助工具24
2.7“Game”窗口25
2.8“Hierarchy”窗口26
2.9“Inspector”窗口27
2.10“Project”窗口30
2.11“Console”窗口32
第3章Unity快速入門33
3.1場景33
3.2遊戲對像35
3.3攝像機遊戲對像36
3.4組件39
3.5預制件40
3.6其他常用內容41
3.6.13D模型41
3.6.2剛體42
3.6.3重力43
3.6.4物理特性44
3.6.5穿透45
3.6.6粒子繫統45
3.6.7聲音播放46
3.6.8視頻播放47
3.7UnityGUI48
3.7.1渲染模式48
3.7.2矩陣變換(RectTransform)50
3.7.3響應腳本52
3.8腳本54
3.8.1基本介紹54
3.8.2MonoBehaviour55
3.8.3Transform屬性56
3.8.4GameObject58
3.8.5常用事件58
3.8.6Instantiate59
3.8.7Destroy60
3.8.8獲取指定遊戲對像61
3.8.9獲取指定的組件62
3.8.10協程63
3.8.11場景切換63
3.8.12DontDestroyOnLoad64
3.8.13SendMessage64
3.9資源包的導入和導出66
3.9.1導入資源包66
3.9.2導出資源包66
3.10生成應用67
3.10.1生成Windows應用68
3.10.2生成Android應用70
3.10.3發布iOS應用74
3.11Unity商城資源下載和導入76
3.12Unity程序設計新手建議79
第4章增強現實介紹81
4.1基本概念81
4.2支持平臺81
4.3實現方式81
4.4典型案例83
4.5常用增強現實SDK88
4.6現狀和前景89
第5章基於EasyARSDK的增強現實的開發90
5.1EasyAR簡介90
5.1.1基本介紹90
5.1.2版本和功能90
5.1.3支持平臺91
5.1.4官方演示例子91
5.2獲取Key91
5.3下載導入開發包93
5.4EasyARSDK概述94
5.4.1總體結構94
5.4.2EasyAR_Tracker(EasyAR追蹤器)96
5.4.3CameraDevice(攝像設備)97
5.4.4ARCamera(Unity攝像機)97
5.4.5EasyARSDK中類的使用98
5.4.6圖片識別度檢測98
5.5識別圖片顯示3D模型98
5.5.1最基礎的例子——識別一個圖片顯示3D模型98
5.5.2圖片識別的兩個關鍵類100
5.5.3從多張圖片中隻識別出一張圖片103
5.5.4從多張圖片中同時識別出多張圖片107
5.6識別圖片播放視頻109
5.6.1在平面上播放視頻109
5.6.2視頻播放的關鍵類115
5.6.3在3D物體上播放視頻116
5.6.4播放透明視頻117
5.7識別物體118
5.8相關的程序控制122
5.8.1圖片識別後的控制122
5.8.2通過程序控制圖片識別126
5.8.3物體識別後的控制128
5.8.4視頻播放控制131
5.9塗塗樂135
5.10脫卡140
第6章EasyARSDK示例開發145
6.1主要思路145
6.2示例設計145
6.2.1添加基本內容145
6.2.2演示的功能設計146
6.2.3Unity3D場景設計148
6.2.4界面設計150
6.3準備工作151
6.4新建項目155
6.5啟動加載場景開發155
6.5.1設置場景156
6.5.2腳本編寫159
6.6主菜單場景開發161
6.6.1設置場景161
6.6.2腳本編寫163
6.7關於場景開發165
6.8返回功能開發165
6.8.1設置場景165
6.8.2腳本編寫166
6.8.3其他場景的設置168
6.9識別單圖場景開發169
6.9.1準備工作169
6.9.2場景基礎設置169
6.9.3識別圖片顯示文字170
6.9.4識別圖片顯示UI171
6.9.5識別圖片跳轉URL173
6.9.6識別圖片顯示3D模型174
6.10識別多圖場景開發175
6.10.1場景互動基本思路175
6.10.2用有限狀態機的理念重新整理思路177
6.10.3場景基礎設置179
6.10.43D模型動作關繫修改181
6.10.53D模型添加踫撞185
6.10.6Yuko相關邏輯的編寫188
6.10.7UTC相關邏輯的編寫191
6.10.8Misaki相關邏輯編寫198
6.10.9清理警告和錯誤提示202
6.11物體識別用的模型準備203
6.11.1尋找合適的模型203
6.11.2模型修改205
6.11.3模型導出和轉換206
6.11.4紙模轉換制作209
6.11.5模型制作212
6.12物體識別場景開發213
6.12.1設置場景213
6.12.2腳本編寫215
6.13視頻播放場景開發217
6.13.1設置場景217
6.13.2腳本編寫219
6.14控制識別對像場景開發221
6.14.1設置場景221
6.14.2腳本編寫222
6.15塗塗樂場景開發224
6.15.1塗塗樂內容的準備224
6.15.2設置場景226
6.16脫卡場景開發229
6.16.1設置場景229
6.16.2腳本編寫232
6.17打包235
第7章基於VuforiaEngine的增強現實的開發238
7.1VuforiaEngine簡介238
7.2Vuforia概述239
7.3獲取Key240
7.4導入開發包242
7.5導入Key和VuforiaConfiguration246
7.5.1導入Key246
7.5.2VuforiaConfiguration247
7.6添加和導入Database248
7.6.1添加Database248
7.6.2添加圖片識別對像249
7.6.3添加方塊識別對像251
7.6.4添加柱體識別對像252
7.6.5添加物體識別對像253
7.6.6下載Database256
7.6.7導入Database257
7.7識別圖片顯示模型258
7.7.1識別顯示單個圖片258
7.7.2識別顯示的多張圖片262
7.8識別圖片播放視頻262
7.8.1官方示例說明262
7.8.2借用官方例子的方法實現視頻播放263
7.9識別方塊顯示模型266
7.10識別柱體顯示模型268
7.11識別物體顯示模型269
7.12模型數據獲取及識別模型272
7.12.1模型數據的獲取272
7.12.2識別模型277
7.13環境認知280
7.13.1GroundPlane281
7.13.2MidAir282
7.14程序控制284
7.14.1識別後的控制284
7.14.2虛擬按鈕及程序控制290
第8章用Vuforia做一個AR解謎小遊戲294
8.1起因294
8.2思路整理294
8.3準備工作296
8.3.1拼圖可行性測試296
8.3.2圖片準備297
8.3.3文字和音頻內容準備298
8.3.4其他內容準備299
8.4程序設計300
8.4.1添加基本內容300
8.4.2場景設計301
8.4.3主場景關鍵流程設計302
8.5項目搭建303
8.6啟動場景開發308
8.6.1設置場景308
8.6.2腳本編寫311
8.7添加繫統變量313
8.8菜單場景開發314
8.8.1設置場景314
8.8.2腳本編寫315
8.9主場景開發318
8.9.1設置場景318
8.9.2識別後事件腳本的編寫319
8.9.3添加音頻播放功能的編寫322
8.9.4添加文字顯示功能324
8.9.5根據識別圖片獲取信息並處理326
8.9.6按鈕解鎖功能的編寫328
8.9.7虛擬按鈕解鎖功能的編寫339
8.9.8初始提問的編寫345
8.9.9回答階段的編寫355
8.9.10添加修改解謎類型隨機的方法358
8.10發布360
8.11後記362
第9章基於ARCore的增強現實開發363
9.1ARCore簡介363
9.2環境準備364
9.2.1SDK下載和導入364
9.2.2相關設置365
9.3ARCore基本結構367
9.4SessionConfig的配置368
9.5在平面上放置模型369
9.6光照評估373
9.7圖片識別375
第10章ARCore的例子380
10.1說明380
10.2場景搭建380
10.3菜單場景382
10.4異常判斷和返回菜單功能386
10.5空中畫線388
10.5.1設置場景388
10.5.2記錄運動軌跡的組件390
10.5.3腳本的編寫392
10.5.4腳本及按鈕設置394
10.6運動軌跡的顯示396
10.6.1添加ARCoreDevice396
10.6.2添加第二個Camera並設置396
10.6.3添加記錄軌跡的線399
10.6.4場景中其他內容的設置401
10.6.5編寫腳本403
10.6.6腳本設置403
10.7傳送門405
10.7.1導入透明材質405
10.7.2建立隱身房間預制件406
10.7.3設置場景412
10.8發布414
第11章基於ARCore的室內導航416
11.1室內導航簡介416
11.2UnityNavMeshComponents簡介417
11.3程序設計418
11.3.1添加基本內容418
11.3.2功能和場景設計419
11.4圖片識別內容開發422
11.4.1準備工作422
11.4.2圖片識別功能場景的設置426
11.4.3ARCore錯誤提示功能腳本的開發434
11.4.4圖片識別功能腳本的開發435
11.5Debug模式開發437
11.6對應實際場景內容搭建和矯正449
11.7導航內容的開發452
11.7.1新建場景並復制導航內容452
11.7.2設置場景導航內容452
11.7.3導航腳本的開發455
11.8添加牆壁459
11.9添加顯示的模型和菜單460
11.10添加Debug按鈕464
第12章Mapbox的簡單使用467
12.1Mapbox簡介467
12.2獲取token467
12.3下載導入開發包468
12.4Mapbo體結構470
12.5MapboxStudio471
12.5.1Dataset472
12.5.2Tileset480
12.5.3Style481
12.6Mapbox顯示地圖487
12.6.1General項目配置488
12.6.2Image項目配置491
12.6.3MapLayers數據配置492
12.6.4動態生成多邊形區域內容493
12.6.5動態生成線內容496
12.6.6動態生成點內容497
12.6.7動態生成內容的修改498
12.7Mapbox當前位置定位501
第13章用Mapbox和ARCore做PokemonGo503
13.1主要思路503
13.2CinemaChine介紹503
13.2.1CinemaChine的導入503
13.2.2CinemaChine基本結構504
13.2.3官方提供的Camera507
13.3示例設計511
13.3.1基本內容設計511
13.3.2場景設計511
13.3.3界面設計512
13.4準備工作513
13.5新建項目514
13.6單實例類基礎內容開發515
13.7啟動場景開發516
13.7.1設置場景516
13.7.2腳本編寫520
13.8ARCore測試場景開發522
13.8.1導入並設置相關SDK522
13.8.2設置場景524
13.8.3腳本編寫525
13.9設置場景開發526
13.9.1文本滾動條預制件的制作526
13.9.2選擇按鈕預制件的制作530
13.9.3設置場景533
13.9.4腳本編寫536
13.10地圖尋找場景開發541
13.10.1導入模型和攝像機插件542
13.10.23D模型動作關繫修改543
13.10.3設置場景547
13.10.4玩家動作和鏡頭切換552
13.10.5捕捉的寵物制作554
13.10.6玩家控制腳本的編寫555
13.10.7寵物控制腳本的編寫556
13.10.8設置預置寵物560
13.10.9編寫隨機寵物初始化腳本563
13.10.10編寫寵物單擊處理566
13.11普通捕捉場景開發567
13.11.1添加陀螺儀控制Camera旋轉567
13.11.2添加顯示攝像頭內容569
13.11.3雙攝像頭顯示設置571
13.11.4添加抓捕特效573
13.11.5寵物生成和抓捕腳本的編寫574
13.12ARCore捕捉場景開發578
13.12.1場景設置578
13.12.2腳本編寫579
13.13打包581
第14章虛擬現實簡介583
14.1虛擬現實基本概念583
14.2VR設備總體介紹583
14.3GoogleCardboard584
14.4HTCVive、PSVR、OculusRift584
14.5VR應用介紹585
14.6VR開發常見的問題586
第15章基於GoogleVRSDK針對Cardboard的虛擬現實的開發588
15.1GoogleVR簡介588
15.2下載導入開發包588
15.3GoogleVRSDK概述590
15.4制作一個VR場景592
15.4.1設置場景592
15.4.2添加DOTween插件597
15.4.3添加注視計時單擊功能599
15.4.4添加移動腳本600
15.4.5添加退出腳本601
第16章基於VRTK的虛擬現實的開發602
16.1VRTK簡介602
16.2下載導入開發包603
16.3VRTK基本結構603
16.3.1VRTK基本結構概述603
16.3.2VRTK基本結構搭建604
16.3.3VRTK模擬器的操作608
16.4手柄按鍵事件響應609
16.5手柄射線612
16.6傳送617
16.7與物體交互621
16.8UI操作630
第17章Unity訪問API632
17.1UnityWebRequest簡介632
17.2聚合數據的免費天氣632
17.3獲取天氣信息634
17.4JSON的處理639
第18章其他Unity3D相關的內容645
18.1單一數據存儲645
18.2少量初始數據的存儲646
18.2.1將數據存儲在預制件裡646
18.2.2利用ScriptableObject將數據存儲為資源647
18.3用iTween插件進行移動、縮放、旋轉操作649
18.3.1下載並導入插件649
18.3.2iTween的基本調用650
18.3.3常見參數650
18.3.4iTween實現移動651
18.3.5iTween實現旋轉652
18.3.6iTween的變化值652
18.3.7iTweenVisualEditor導入654
18.3.8iTweenVisualEditor控制變化655
18.3.9iTweenVisualEditor指定運動路徑656
18.4插件推薦659
Unity3D是一款跨平臺3D、2D遊戲及互動內容開發引擎,並有著廣泛的影響力。隨著近年增強現實和虛擬現實的興起,很多增強現實和虛擬現實的技術提供方都提供了基於Unity3D的SDK包。本書講解Unity平臺AR與VR開發,通過本書讀者可以快速了解增強現實和虛擬現實的基本概念、應用實例,學習相關SDK的使用,並且參照例子上手制作出自己的AR/VR作品。本書共分為18章,詳細講解Unity的安裝和使用、AR(增強現實)背景、EasyAR開發AR及實例、Vuforia開發AR及實例、ARCore開發AR及實例、Mapbox與ARCore的配合使用及實例、VR(虛擬現實)背景、GoogleVR開發VR及實例、VRTK開發VR及實例等內容,使讀者掌握Unity3D制作AR/VR產品的方法,快速進入AR/VR應用開發之門。本書適合使用Unity3D平臺開發AR/VR遊戲和應用的移動開發人員,也適合高等
吳雁濤 著
吳雁濤,2000年西北工業大學材料科學與工程專業畢業,同年開始從事計算機相關工作,技術方向包括Web應用、Web前端、Unity3D開發等。著有圖書《Unity3D平臺AR與VR開發快速上手》。