增強(qiáng)現(xiàn)實開發(fā)者實戰(zhàn)指南
定 價:99 元
- 作者:[美]喬納森·林諾維斯(Jonathan Linowes) 等
- 出版時間:2019/9/1
- ISBN:9787111625629
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP391.98
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書是一本適合AR開發(fā)者的實戰(zhàn)案頭書,是可快速熟悉各平臺AR 項目開發(fā)的實戰(zhàn)教程,從中可以學(xué)習(xí)AR在市場營銷、教育、工業(yè)培訓(xùn)和 游戲等領(lǐng)域的商業(yè)應(yīng)用。
本書以逐步教學(xué)的方式詳解如何使用Unity 3D、Vuforia、ARToolkit、 Microsoft 混合現(xiàn)實 HoloLens、Apple ARKit 和 Google ARCore 在移動智能設(shè) 備和可穿戴設(shè)備上構(gòu)建激動人心的AR應(yīng)用程序,讓你快速掌握各種AR 開發(fā)關(guān)鍵技術(shù)與知識,助你開發(fā)出自己的實用AR項目。
本書適合想要在各平臺上開發(fā)AR項目的開發(fā)人員、設(shè)計人員等從業(yè) 者,AR技術(shù)的研究者、相關(guān)專業(yè)師生,以及對AR技術(shù)感興趣的人員 閱讀。
I關(guān)于作者
Jonathan Linowes是沉浸式媒體獨立工作室ParkerhUl現(xiàn)實實驗室的負(fù)責(zé)人#他是名副其實 的3D圖像愛好者、Unity開發(fā)者,成功的企業(yè)家與老師。他擁有雪城大學(xué)的藝術(shù)學(xué)位與麻省理工 學(xué)院媒體實驗室的碩士學(xué)位。他參與創(chuàng)辦了包括Autodesk公司在內(nèi)的幾家成功的公司,并擔(dān)任 技術(shù)負(fù)責(zé)人的職務(wù)#同時他還是Pakt出版社出版的Uni# Virtual Reality Projects與Cardboard VR Projects for Android 的作者#
Kryshan Babilinski是一位經(jīng)驗非常豐富的聯(lián)合開發(fā)人員,擁有大量豐富的3D設(shè)計知識#自 2015年以來,他一直從事開發(fā)專業(yè)的A#VR應(yīng)用#他領(lǐng)導(dǎo)一個Unity開發(fā)團(tuán)隊Babilin Applica- tions公司,致力于開源代碼的開發(fā)與從事Unity社區(qū)的工作#現(xiàn)在Krystian帶領(lǐng)著Parkerhtl現(xiàn)實 實驗室研發(fā)了一款名為Power Solitairy VR的多平臺虛擬現(xiàn)實游戲#
I關(guān)于審校者
Micheai Lanham是一位擁有petroWEB認(rèn)證的解決方案架構(gòu)師,目前居住在加拿大阿爾伯塔 省的卡爾加里#在以往的職業(yè)生涯中,他開發(fā)了集成GIS應(yīng)用程序,該應(yīng)用具有高級機(jī)器學(xué)習(xí)與 空間搜索功能。他是一名專業(yè)的游戲開發(fā)愛好者,做桌面游戲與移動游戲已經(jīng)超過15年了# 2007年Micheai接觸到了 Unity 3D,從那時起,他便成了一名程序發(fā)燒友、顧問,以及多個Unity 游戲和圖形項目的經(jīng)理# Micheai 編寫的 Augmented Reality Game Development 與 Game Audit Develoj- mens with Unit# 5. p也由P—kt出版社出版#
關(guān)于作者
關(guān)于審校者
原書前言
第1章增強(qiáng)你的世界
1.1 什么是AR
1.2AR 與 VR
1.3AR如何工作
1.3. 1基于手持移動設(shè)備的AR
1.3.2基于光學(xué)眼鏡的AR
1.3.3基于標(biāo)識(Target- based)的
AR
1.3.43D空間建圖(映射)
1.3.5利用空間建圖(映射)開發(fā)
AR
1.3.6可穿戴AR的輸入
1.3.7其他AR顯示技術(shù)
1.4AR標(biāo)識類型
1.4.1 黑白標(biāo)識(Marker)
1.4. 2 編碼標(biāo)識
1.4. 3 圖像標(biāo)識(Image Marker)
1.4. 4 多目標(biāo)標(biāo)識(Multi-Targets)
1.4.5文本識別
1.4.6簡單形狀標(biāo)識
1.4.7物體識別
1.4.8空間地圖
1.4.9基于地理位置追蹤(GPS-Based
Tracking)
1.5關(guān)于AR的技術(shù)問題
1.5.1 視場角(Field of View)
1.5.2視覺感知18
1.5.3 焦點19
1.5.4分辨率與刷新率 19
1.5.5人體工程學(xué) 19
1.6 AR的應(yīng)用20
1.6.1企業(yè)營銷方向 20
1.6.2教育方向 20
1.6.3工業(yè)培訓(xùn)方向 20
1.6.4零售方向20
1.6.5游戲方向 21
1.6.6其他方向 21
1.7本書的重點21
1.8 本章小結(jié)23
第2章系統(tǒng)設(shè)置24
2. 1 安裝 Unity 24
2.1.1安裝要求25
2.1.2下載并安裝25
2.2 Unity 介紹27
2.2. 1 Unity 編輯器28
2.2.2對象與層次 30
2.2.3場景編輯 30
2.2.4游戲開發(fā) 35
2.3 AR中攝像頭的使用38
2.4 獲取與使用Vuforie 40
2. 4. 1 安裝 Vuforie 41
2.4.2VuforiaConfiguration 設(shè)置 43
2.4. 3 使用 Vuforia 創(chuàng)建 demo 45
2.5 獲取與使用ARToolkit 51
2.5. 1 安裝 ARToolkit 52
2.5.2導(dǎo)入 ARToolkit 資源包 53
2.5.3ARToolkit 場景設(shè)置 54
2.5. 4 快速構(gòu)建 ARToolkit demo 58
2.6 本章小結(jié)61
第3章構(gòu)建你的應(yīng)用程序63
3.1識別開發(fā)平臺與工具包63
3.2 Unity構(gòu)建與運行64
3. 3 針對 Android 平臺 68
3.3.1安裝Java開發(fā)工具包(JDK)……69
3.3.2安裝 Android SDK 71
3. 3. 3安裝USB設(shè)備、調(diào)試與連接 ……73
3. 3. 4 配置Unity的外部工具 74
3.3. 5 配置Android的Unity環(huán)境與
播放器(Player) 75
3.3.6構(gòu)建與運行77
3. 3. 7排除問題 78
3.3. 8 使用 Google ARCore for Unity 78
3.4針對iOS平臺82
3. 4. 1獲得 Apple ID 83
3.4.2安裝 Xcode 83
3.4.3配置iOS的Unity播放器 83
3.4.4ARToolkit 播放器設(shè)置 86
3.4.5構(gòu)建與運行 86
3.4.6排除問題 86
3. 4. 7使用 Apple ARKit for Unity 89
3.5針對微軟 HoloLens 94
3. 5.1獲得Microsoft開發(fā)人員賬戶95
3.5.2啟用 Windows 10 Hyper-V 95
3. 5. 3安裝 Visual Studio 96
3.5.4安裝 HoloLens 模擬器 99
3. 5. 5 設(shè)置與配對HoloLens設(shè)備進(jìn)行
開發(fā)99
3.5.6配置Unity的外部工具 101
3. 5. 7 配置 UWP holographic 的 Unity 平臺
與播放器1。2
3.5. 8 HoloLens 的 Vuforia 設(shè)置104
3.5.9構(gòu)建與運行106
3.5.10Unity中的全息模擬器 107
3.5.11MixedRealityToolkit for Unity 108
3.6本章小結(jié)108
第4章增強(qiáng)名片109
4.1規(guī)劃你的AR開發(fā)109
4.1.1項目目標(biāo) 110
4.1.2 AR 標(biāo)識111
4.1.3圖像資源 111
4.1.4目標(biāo)設(shè)備與開發(fā)工具113
4.2創(chuàng)建工程(Vuforia) 114
4.3建立圖像標(biāo)識115
4.3.1在場景中添加圖像標(biāo)識預(yù)制體•,•115 4.3.2創(chuàng)建標(biāo)識數(shù)據(jù)庫 115
4.3.3將數(shù)據(jù)庫導(dǎo)入Unity 117
4.3.4 激活與運行117
4.3.5是否啟用擴(kuò)展跟蹤 118
4.4什么是最優(yōu)的標(biāo)識圖像118
4.5添加對象120
4.6構(gòu)建與運行122
4.7了解大小比例123
4.7.1現(xiàn)實生活中的大小比例 123
4.7.2虛擬大小比例與Unity 124
4.7.3標(biāo)識比例與對象比例125
4. 8無人機(jī)動畫126
4.8.1飛行葉片是如何旋轉(zhuǎn)的127
4.8.2添加空閑動畫128
4.8.3添加飛行動畫 131
4. 8.4連接動畫控制器中的片段 134
4.8.5播放、構(gòu)建與運行 135
4.9 在iOS設(shè)備上構(gòu)建135
4.9. 1創(chuàng)建工程 135
4. 9. 2添加圖像標(biāo)識135
4.9.3添加對象 136
4.9.4構(gòu)建設(shè)置 136
4. 9.5構(gòu)建與運行136
4.9.6使用Apple ARKit構(gòu)建與運行…… 137
4. 10 在HoloLens設(shè)備上構(gòu)建 138
4.10.1創(chuàng)建工程 138
4.10.2添加圖像標(biāo)識139
4.10.3添加對象139
4.10.4構(gòu)建設(shè)置140
4.10.5構(gòu)建與運行140
4.11 使用 ARToolkit 構(gòu)建141
4.11.1創(chuàng)建工程 14
4.11.2準(zhǔn)備圖像標(biāo)識141
4.11.3添加圖像標(biāo)識 143
4.11.4添加對象144
4.11.5構(gòu)建與運行145
4.12 本章小結(jié)146
第5章AR太陽系147
5.1項目計劃148
5.1.1用戶體驗 148
5.1.2AR 標(biāo)識148
5.1.3圖像資源 148
5.1.4目標(biāo)設(shè)備與開發(fā)工具149
5.2創(chuàng)建工程150
5. 2.1創(chuàng)建初始工程150
5.2.2設(shè)置場景與目錄文件夾 151
5.2.3使用標(biāo)識目標(biāo)151
5.2. 4創(chuàng)建一個太陽系(SolarSystem)
容器153
5.3創(chuàng)建地球154
5. 3.1創(chuàng)建地球模型155
5.3.2旋轉(zhuǎn)地球 156
5.3.3添加音頻 157
5.4場景光照158
5.4.1創(chuàng)建自然光 159
5.4.2 夜晚紋理 159
5.5創(chuàng)建地球■月球系統(tǒng) 160
5.5.1創(chuàng)建容器對象160
5.5.2創(chuàng)建月球模型 160
5.5.3定位月球 161
5.6Unity C#快速入門 163
5.7月球軌道動畫164
5.7.1添加月球軌道164
5. 7. 2添加全球時間表 166
5.8繞太陽旋轉(zhuǎn)168
5.8.1以太陽為中心,而不是地球 …… 168
5.8.2創(chuàng)建太陽 168
5.8.3地球圍繞太陽168
5.8.4傾斜地球的軸線169
5.9添加其他行星171
5. 9.1使用紋理創(chuàng)造行星 172
5.9.2添加土星環(huán) 173
5.9.3切換視圖 174
5.10 使用 VuMark 標(biāo)識(Vuforia) …176
5.10.1關(guān)聯(lián)標(biāo)識與行星 177
5.11 創(chuàng)建主速率UI 179
5.11.1添加UI畫布與按鈕 179
5.11.2時間事件處理器181
5.11.3觸發(fā)輸入事件 181
5. 12構(gòu)建與運行182
5. 12. 1 導(dǎo)出 SolarSystem 軟件包 182
5. 12. 2 發(fā)布到 Android 設(shè)備-Vuforia …… 183
5. 12. 3 發(fā)布到 iOS 設(shè)備-Vuforia 183
5.12.4發(fā)布到 HoloLens 設(shè)備-Vuforia , , , 183
5.12.5構(gòu)建與運行 ARToolkit 184
5. 13無標(biāo)識構(gòu)建與運行188
5.13.1 使用ARKit構(gòu)建與運行iOS …… 188
5.13. 2 使用 MixedRealityToolkit 在 HoloLens
構(gòu)建與運行192
5. 14 本章小結(jié)195
第6章更換漏氣輪胎197
6.1項目計劃197
6.1. 1 項目目標(biāo) 198
6.1.2用戶體驗 199
6.1.3 AR 標(biāo)識199
6.1.4圖像資源與數(shù)據(jù) 200
6.2軟件設(shè)計模式201
6.3 創(chuàng)建工程203
6.4創(chuàng)建UI (視圖)204
6.4.1創(chuàng)建說明畫布204
6.4.2創(chuàng)建導(dǎo)航面板205
6.4.3創(chuàng)建內(nèi)容面板209
6.4.4 添加標(biāo)題文本211
6.4.5添加正文文本211
6.5創(chuàng)建說明控制器211
6.5.1用UI連接控制器 213
6.6創(chuàng)建說明數(shù)據(jù)模型213
6.6.1 InstructionStep 類 213
6.6. 2 InstructionModel 類 215
6.6. 3將模型與控制器和U相連216
6. 7加載CSV文件數(shù)據(jù) 218
6.8抽象UI元素 219
6.8. 1 將 InstructionEvent 添加到
控制器219
6.8. 2 重構(gòu) InstructionsController 220
6. 8. 3 定義 InstructionElement 220
6.8.4在Unity中鏈接UI元素 222
6.9添加圖片內(nèi)容222
6. 9. 1將圖片添加到說明Content
面板223
6. 9. 2 將圖片數(shù)據(jù)添加到InstructionStep
模型223
6.9.3將圖片文件導(dǎo)入項目 224
6.10添加視頻內(nèi)容225
6. 10. 1將視頻添加到說明Content
面板225
6.10. 2添加視頻播放器與渲染紋理•••••• 225 6. 10. 3 將視頻數(shù)據(jù)添加到InstructionStep
模型226
6. 11添加滾動視圖227
6. 12本章小結(jié)228
第7章AR使用說明書230
7.1 用 Vuforia 創(chuàng)建 AR 項目 231
7.2 在AR模式之間切換232
7.3使用用戶定義標(biāo)識234
7.3.1添加用戶定義的標(biāo)識構(gòu)建器•••••• 234
7.3.2添加圖像標(biāo)識235
7.3.3添加捕捉按鈕236
7.3.4將捕捉按鈕連接UDT捕捉事件 …237
7.4向AR提示添加可視助手 239
7.4. 1添加光標(biāo) 239
7.4.2添加注冊標(biāo)識240
7.4.3跟蹤期間刪除AR提示 240
7.4.4保證良好跟蹤效果 243
7.5整合增強(qiáng)的內(nèi)容245
7.5. 1閱讀AR圖像指示 245
7.5.2創(chuàng)建AR的UI元素246
7.5.3 顯示增強(qiáng)圖像247
7.6制作增強(qiáng)圖像247
7.7在AR中包含說明面板252
7.8使用ARKit進(jìn)行空間錨定253
7.8. 1 創(chuàng)建 ARKit 工程254
7.8.2 準(zhǔn)備場景 255
7.8.3全息指導(dǎo)手冊261
7.9 本章小結(jié)269
第8章基于AR的室內(nèi)裝飾271
8.1項目計劃272
8. 1. 1 用戶體驗 272
8.1.2圖像資源 272
8.1. 3用戶界面元素273
8.1.4 圖標(biāo)按鈕 273
8.2創(chuàng)建工程與場景274
8.2.1創(chuàng)建新的Unity項目 274
8.2. 2 開發(fā) HoloLens 版本275
8.2.3創(chuàng)建默認(rèn)圖片275
8.3關(guān)于混合現(xiàn)實工具包輸入
管理器277
8.3.1凝視管理器277
8.3.2輸入管理器278
8.4創(chuàng)建工具欄框架279
8.4. 1 創(chuàng)建工具欄279
8.4. 2 PictureController 組件 279
8.4. 3 PictureAction 組件 280
8.4.4 設(shè)置動作 281
8.5 Move工具進(jìn)行空間建圖 282
8. 5.1 添加Move按鈕與腳本 282
8.5.2使用空間建圖進(jìn)行定位 284
8.5.3理解表面平面286
8.6使用手勢識別器縮放工具287
8. 6.1添加縮放按鈕與腳本288
8.6.2縮放圖片 290
8.7支持取消操作292
8.8抽象選擇菜單UI 293
8.9添加相框菜單295
8. 9. 1在 PictureController 中的
SetFrame 296
8. 9. 2Frame Menu 對象與組件 297
8.9.3相框選項對象297
8.9.4激活相框菜單299
8. 9. 5支持在 PictureController 中取消 …299
8. 10添加圖片菜單300
8. 10. 1 在 PictureController 中的
Setimage 300
8. 10. 2Image Menu 對象與組件301
8.10.3圖像選項對象 303
8.10.4激活圖片菜單304
8.10.5調(diào)整圖像寬高比 305
8. 11添加與刪除帶相框的圖片306
8. 11. 1 工具欄中的Add與Delete
按鈕306
8. 11.2GameController 307
8. 11. 3 PictureController 中的 Add 與 Delete
命令308
8.11.4處理空場景309
8. 12 UI 反饋309
8. 12. 1單擊音頻反饋 309
8.12.2單擊動畫反饋310
8.13 使用 ARKit 構(gòu)建 iOS 311
8. 13. 1使用ARKit創(chuàng)建工程與場景…… 312
8.13.2使用觸摸事件代替手勢313
8. 14 使用Vuforia構(gòu)建移動AR 318
8.14.1使用Vuforia創(chuàng)建工程與場景 …318
8.14.2設(shè)置圖像標(biāo)識319
8. 14. 3 將 DefaultPicture 添加到場
景中319
8.14.4 GameController 320
8.14.5使用觸摸事件代替手勢320
8.15 本章小結(jié)322
第9章投球游戲324
9.1 游戲計劃324
9.1.1用戶體驗 325
9.1.2游戲組件 325
9.2創(chuàng)建工程326
9.2.1創(chuàng)建初始工程326
9. 2. 2設(shè)置場景與文件夾 327
9.2.3導(dǎo)入 BallGameArt 軟