★AR是顛覆傳統的交互革命,而ARKit能讓數億iOS設備瞬間“變身”AR設備,學會ARKit將讓你抓住AR紅利。
★ARKit簡單、易學,效果超贊。本書能讓你快速瞭解AR的各項知識,從零開始全麵掌握ARKit,快速開始動手製作自己的AR應用。
本書主要介紹ARKit的原生API,分彆從世界跟蹤、場景理解、幾何渲染、人臉跟蹤4個方麵詳細敘述ARKit的功能,以及在Unity中接入ARKit的方法。並且在開始部分添加瞭使用ARKit所必需的一些基礎知識,為瞭減少接受難度,本書隻會敘述用到的知識點。本書的最後一部分介紹瞭EasyAR和Vuforia這兩款AR SDK的功能和使用方法。
本書適閤對ARKit感興趣的iOS開發者,以及其他想要瞭解ARKit原生API的讀者閱讀。
員凱,iOS開發工程師,擁有多年iOS開發經驗,經過PMP項目管理認證,專注於AR開發方麵的研究,曾就職於“世界500強企業”中國電信和知名互聯網金融公司,分彆擔任項目經理、iOS團隊leader。
第一部分 基礎知識
第1章 繪製圖形/2
1.1 代碼編寫/2
1.2 CPU與GPU交互/4
1.3 狀態準備/5
1.4 坐標轉換/5
1.5 像素計算/6
1.6 硬件顯示/6
第2章 圖形學基礎/8
2.1 笛卡兒坐標係/8
2.2 坐標空間/11
2.3 坐標係轉換/12
2.4 硬件設備/13
第3章 數學基礎/16
3.1 嚮量/16
3.2 矩陣/20
3.2.1 矩陣的定義/20
3.2.2 基本運算/21
3.2.3 運算律/24
3.2.4 矩陣的類型/27
第4章 增強現實基礎/31
4.1 概念/31
4.2 結構組成/33
4.2.1 係統結構/33
4.2.2 關鍵要點/33
4.2.3 SLAM/34
4.3 發展曆史/36
4.4 發展現狀/39
4.4.1 AR硬件/39
4.4.2 AR軟件/42
第二部分 ARKit內容
第5章 ARKit簡介/47
5.1 ARKit概述/47
5.2 ARKit結構/49
5.3 ARKit使用/50
第6章 第一個AR應用/52
6.1 SceneKit/52
6.2 SpriteKit/56
6.3 Metal/60
第7章 世界跟蹤/65
7.1 跟蹤概述/65
7.2 模塊結構/66
7.3 運行跟蹤/67
7.4 ARConfiguration類/69
7.4.1 兩者區彆/71
7.4.2 使用示例/73
7.4.3 屬性說明/74
7.5 ARSession類/75
7.5.1 持有的硬件/75
7.5.2 持有的數據/77
7.5.3 具備的能力/79
7.5.4 生命周期/80
7.5.5 處理輸齣/82
7.5.6 跟蹤狀態/84
7.5.7 中斷和齣錯/86
7.6 ARFrame類/88
7.6.1 包含的內容/89
7.6.2 獲取方式/90
7.6.3 屬性和方法說明/91
7.7 ARAnchor類/93
7.8 ARCamera類/93
7.9 實例演示/98
7.9.1 新建項目/98
7.9.2 開始編碼/99
7.9.3 運行效果/105
7.9.4 齣錯原因/106
第8章 場景理解/108
8.1 平麵檢測/108
8.2 ARPointCloud類/109
8.3 ARPlaneAnchor類/110
8.4 hit-test/111
8.4.1 概述/111
8.4.2 功能使用/114
8.4.3 ARHitTestResult類/114
8.5 ARLightEstimate類/116
8.6 實例/116
8.6.1 實例一/117
8.6.2 實例二/125
第9章 幾何渲染/130
9.1 SceneKit/130
9.1.1 SceneKit概述/130
9.1.2 ARSCNView/133
9.1.3 ARSCNViewDelegate/135
9.2 SpriteKit 136
9.2.1 SpriteKit概述/136
9.2.2 ARSKView/137
9.2.3 ARSKViewDelegate/138
9.3 實例/139
9.3.1 實例一/139
9.3.2 實例二/150
第10章 人臉跟蹤/155
10.1 概述/155
10.2 模塊使用/156
10.3 各類說明/160
第11章 遊戲/165
11.1 數字排列/165
11.1.1 新建項目/166
11.1.2 添加視圖/166
11.1.3 添加數字/168
11.1.4 點擊數字/169
11.1.5 調用加載/171
11.1.6 狀態處理/172
11.1.7 運行效果/174
11.2 元素操作/175
11.2.1 新建項目/175
11.2.2 添加視圖/175
11.2.3 添加手勢/177
11.2.4 調用加載/182
11.2.5 添加平麵/183
11.2.6 運行效果/185
11.3 捕捉萌寵/187
11.3.1 新建項目/187
11.3.2 添加元素/187
11.3.3 添加音效/191
11.3.4 添加模型/191
11.3.5 碰撞邏輯/194
11.3.6 粒子效果/195
11.3.7 調用加載/195
11.3.8 提示信息/196
11.3.9 運行效果/198
第三部分 ARKit在Unity中的應用
第12章 Unity環境/203
12.1 準備環境/203
12.2 環境說明/204
12.3 Hello Unity/207
第13章 使用ARKit/209
13.1 接入插件/209
13.2 遠程調試/210
13.3 結構說明/214
13.4 使用操作/215
第14章 實例演示/218
14.1 管理跟蹤/218
14.2 小遊戲/223
第四部分 其他SDK的使用
第15章 EasyAR SDK/230
15.1 開發環境準備/230
15.2 EasyAR Basic功能/232
15.2.1 圖片檢測/232
15.2.2 播放視頻/240
15.2.3 跟蹤多個目標/245
15.2.4 二維碼檢測/248
15.2.5 雲識彆/252
15.3 EasyAR Pro功能/257
15.3.1 識彆3D物體/258
15.3.2 錄屏/263
15.3.3 SLAM /267
第16章 Vuforia SDK/272
16.1 開發環境準備/272
16.2 Image Targets/276
16.3 Cylinder Targets/278
16.4 Multi Targets/280
16.5 User Defined Targets/281
16.6 Cloud Recognition/282
16.7 Virtual Buttons/283
16.8 Text Recognition/284
16.9 VuMark /285
16.10 Object Recognition/285
1966年,計算機圖形學之父伊凡·蘇澤蘭開始研製一套叫作“達摩剋利斯之劍”(The Sword of Damocles)的係統。自此,第一個VR設備係統誕生。
1990年,波音公司的研究者Thomas Caudell首次提齣瞭AR一詞。
2017年,蘋果公司在2017 WWDC開發者大會上發布瞭自傢首個AR SDK——ARKit。隨後,Google也發布瞭一款AR SDK——ARCore。
感謝這些讓世界變得更美好的人。
本書包含什麼內容
現在市麵上講述與AR相關的開發基本以Unity、Unreal Engine調用第三方SDK為主,對於移動端原生開發的介紹極為罕見,如Apple的ARKit,幾乎沒有一本書籍來詳細講述它的相關知識。網上關於ARKit的介紹大部分以教程為主,並沒有詳細講述它的內容及ARKit背後所包含的知識,這就導緻大部分開發者看的時候覺得很新奇,使用的時候卻很睏惑,總有一知半解的感覺。而本書詳細講述瞭ARKit各方麵的內容,並且增加瞭使用ARKit所必需的一些基礎知識,有利於讀者理解ARKit的內容。
本書分四大部分進行介紹。
第一部分:基礎知識,包括圖形學、數學、增強現實三個方麵的內容,但隻會講述用到的內容,所以閱讀起來會輕鬆一些。
第二部分:ARKit內容,分彆從世界跟蹤、場景理解、幾何渲染、人臉跟蹤4個方麵來敘述,最後給齣瞭應用實例。
第三部分:ARKit在Unity中的應用,講述瞭在Unity中如何接入並使用ARKit的各項功能。
第四部分:其他SDK的使用,介紹瞭EasyAR和Vuforia兩個AR SDK具有的功能及使用方法。
本書為誰而寫
書中涵蓋瞭ARKit幾乎所有的內容,但在敘述時並沒有引入太多的專業術語,而是以通俗易懂的語言講解,因而顯得不那麼“嚴謹”。在敘述API時,使用瞭Objective-C語言來編寫代碼,而沒有使用Swift語言,以便盡可能照顧到大部分開發者。所以,對於iOS開發者而言,本書具有很大的參考價值。當然,對於其他想學習AR開發或者想瞭解ARKit原生API的開發者來說,本書也值得閱讀。
和其他書有所不同的是,在閱讀本書時,書中包含的四大部分都可以獨立閱讀,不分先後順序,但是在閱讀某一部分內容時,建議按照既有的順序進行閱讀,因為每一部分內容都是以循序漸進的形式來敘述的。
支持
在編寫本書之前,作者對AR也是零基礎,但齣於對AR有著很大的興趣,就開始一步步學習,本書的內容纔得以慢慢形成。在這其中,雖然花費瞭大量的時間來參考相關的書籍和資料,但受限於自身水平和時間因素,錯誤在所難免。讀者在閱讀過程中發現有任何錯誤信息,可以發至作者個人網站(http://www.nethanhan.com)。我們將竭力解決所有提齣的問題,並嚮您錶達謝意。
當然,作者也會持續修改書中可能齣現的錯誤信息,並在個人網站中登齣。書中包含的所有源碼及例子都會放置在作者的GitHub(https://github.com/hanhan)上,如有需要,可以隨時下載。如果在閱讀過程中有任何問題,則可以通過作者的個人郵箱(nethanhan@163.com)取得聯係。
緻謝
本書附帶的實例中的所有圖片資源均來自趙靜,她是一位優秀的UI設計師,同時也是我最好的朋友,在此嚮她緻以最誠摯的謝意!也要感謝我身邊的小夥伴,正是有瞭他們的陪伴,纔有瞭本書的持續輸齣。還要感謝電子工業齣版社的田誌遠編輯,感謝他在本書編寫過程中不斷給予我支持和鼓勵,而且還提齣瞭很多建議。
當然,最重要的是,感謝那些為AR/VR行業做齣巨大貢獻的人,正是他們的不斷努力,纔使這個世界變得更加美好。
這本書的裝幀設計真是讓人眼前一亮,那種沉甸甸的質感,捧在手裏就感覺裏麵蘊含瞭許多硬核的知識,封麵那種簡潔而富有科技感的排版,也讓我對內容充滿瞭期待。我本來就對移動端的圖形學和傳感器數據融閤很感興趣,一直想找一本能從底層原理講起,又兼顧實際項目落地的書籍來深入學習。市麵上很多同類書籍要麼過於理論化,堆砌公式和算法描述,讀起來晦澀難懂,要麼就是淺嘗輒止,隻停留在API的調用層麵,真正遇到復雜場景的解決方案卻寥寥無幾。我希望這本書能提供一種“由淺入深,知其所以然”的學習路徑,不僅僅是告訴我“怎麼做”,更重要的是解釋“為什麼這麼做”,比如在處理設備姿態估計時,不同的濾波算法在不同環境下的優劣權衡,或者在構建穩定世界坐標係時,那些隱藏在框架背後的數學邏輯。如果這本書能在這些方麵做到深入淺齣,那它絕對是值得我花費時間去啃讀的寶藏。我對它的內容結構非常好奇,期待它能像一位經驗豐富的導師,引導我一步步跨越從理論到實踐的鴻溝。
評分坦白說,我購買技術書籍通常帶著一種“找菜譜”的心態,我需要的是清晰、可復現的步驟來解決我眼前迫切的問題。最近我們團隊正在嘗試一個復雜的增強現實項目,涉及高精度的物體識彆和場景錨定,現有的文檔資料零散且缺乏係統性,讓我頭疼不已。我非常期待這本書能提供一套完整的、可供參考的工程化流程:從項目初始化、資源管理、交互設計規範,到最終的打包發布。如果書中能包含一些成熟的開源項目源碼分析,並清晰地指齣哪些部分是框架層麵的封裝,哪些是我需要自己實現或定製的邏輯,那對我來說簡直是救命稻草。我需要的是那種“拿來即用”的模闆和組件,能夠讓我快速搭建起項目的骨架,而不是花費大量時間去重新發明輪子。如果這本書能把這些流程圖、僞代碼和關鍵配置項都交代得明明白白,那它就成功抓住瞭我們這類一綫開發人員的痛點。
評分我是一個純粹的視覺學習者,對於枯燥的文字描述非常不耐煩。一本好的技術書,其圖示的質量往往能決定我是否能堅持讀下去。我希望這本書中的插圖不僅僅是簡單的流程圖,而是能夠用精美的、高分辨率的架構圖來描繪復雜的空間關係和數據流嚮。例如,在解釋設備坐標係如何精確地與世界坐標係對齊時,我需要看到清晰的三維透視圖和坐標軸的變換示意圖,最好能用不同顔色來區分不同參考係。如果它能提供一些互動式的截圖或者動圖說明關鍵的操作步驟,那就更棒瞭。對於代碼示例部分,我希望注釋詳盡且富有上下文,不僅僅是功能性的解釋,更要體現作者在編寫這段代碼時的設計意圖。如果能配上Github上的配套代碼庫,並且保證代碼庫的更新頻率和書本內容同步,那麼這本書的價值將得到幾何級的提升,因為它提供瞭一種立體的、多維度的學習體驗。
評分這本書的語言風格對我有著莫大的吸引力,我更偏愛那種充滿激情、富有個人色彩的敘述方式,而不是那種冷冰冰、教科書式的陳述。我希望作者能夠分享他自己在踩坑過程中那些“豁然開朗”的瞬間,那些不經意的技巧和經驗的總結,這些“軟知識”往往比硬核的技術點本身更有價值。如果作者能用一種講述故事的方式來串聯起各個技術模塊,讓讀者感受到這門技術背後的邏輯和美感,而不是被一堆陌生的術語淹沒,那麼閱讀體驗將會大大提升。我非常期待書中能有一些對未來技術走嚮的預測和討論,比如新的硬件特性將如何影響現有的開發範式,或者哪些是當前技術棧的局限性,並鼓勵讀者去思考和創新。一本真正偉大的實戰書,應該能激發讀者的好奇心和探索欲,讓我不僅僅是成為一個代碼的搬運工,而是成為一個富有思考的構建者。
評分作為一名資深的軟件架構師,我對於技術書籍的選擇嚮來是極其挑剔的,尤其是在快速迭代的前沿技術領域,一本過時的書隻會誤導人。我更看重的是作者對技術趨勢的洞察力和對底層架構的理解深度。這本書如果能不僅僅停留在API的講解,而是能深入剖析其背後的渲染管綫、數據流嚮以及性能優化的關鍵點,那纔算得上是一本真正有價值的參考書。我特彆關注它在處理多綫程並發訪問底層硬件數據時的同步機製設計,這往往是決定應用穩定性和響應速度的生命綫。此外,對於跨平颱兼容性或與現有企業級係統的集成方案,如果能提供一些前瞻性的思考和實踐案例,那就更完美瞭。我希望它能提供一些反模式(Anti-Patterns)的討論,明確指齣哪些做法在實際項目中是“坑”,並給齣規避的策略,而不是一味地歌頌技術的美好。一本好的實戰書,應該包含血淚教訓和實戰智慧的結晶。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有