本書(shū)是初學(xué)者快速學(xué)習(xí)AR應(yīng)用的全面教程,從基礎(chǔ)理論到經(jīng)典的AR案例都進(jìn)行了詳盡的講解。保證即便是零基礎(chǔ)的讀者也可以通過(guò)本書(shū)學(xué)習(xí)并制作出常見(jiàn)的AR應(yīng)用。
本書(shū)共分10章,基礎(chǔ)部分會(huì)介紹Unity的安裝配置、基礎(chǔ)操作、C#編程基礎(chǔ)、坐標(biāo)系統(tǒng)、UI系統(tǒng)以及AR應(yīng)用在常用平臺(tái)(PC、Android、iOS)的發(fā)布等。
AR案例部分會(huì)以涂色類(lèi)AR、多卡互動(dòng)AR、恐龍博物館AR大屏互動(dòng)為例,在實(shí)際制作過(guò)程中教大家AR應(yīng)用的通用設(shè)計(jì)方式,以及如何處理AR應(yīng)用在制作過(guò)程中常見(jiàn)的問(wèn)題。
為了方便讀者學(xué)習(xí),本書(shū)隨書(shū)提供課程中案例的所有資源及源文件,可以隨時(shí)查閱對(duì)比。
本書(shū)適合于想要進(jìn)入AR行業(yè)的興趣愛(ài)好者,傳統(tǒng)行業(yè)轉(zhuǎn)型AR的管理者、投資人,以及針對(duì)AR中特定案例有需求的從業(yè)人員。
系統(tǒng)、全面、實(shí)現(xiàn)完全自學(xué)!
一線實(shí)操案例、圖文講解,邊看書(shū)邊學(xué)習(xí),即學(xué)即用!
手把手教學(xué),配套海量資源,蠻牛教育知名講師傾囊相授!
專(zhuān)為初學(xué)者打造
本書(shū)面向?qū)WAR應(yīng)用開(kāi)發(fā)的初學(xué)者,無(wú)論是想要進(jìn)入AR行業(yè)的興趣愛(ài)好者,傳統(tǒng)行業(yè)轉(zhuǎn)型AR的管理者、投資人,以及針對(duì)AR中特定案例有需求的從業(yè)人員,都可以從書(shū)中輕松獲取需要的內(nèi)容。
完全的功能詳解
憑借深入細(xì)致的市場(chǎng)調(diào)查和研究,我們針對(duì)AR應(yīng)用初學(xué)者的特點(diǎn)和需求,精心安排了*的學(xué)習(xí)結(jié)構(gòu),通過(guò)將知識(shí)點(diǎn)和實(shí)例相結(jié)合幫助讀者輕松快速地進(jìn)行學(xué)習(xí)。
學(xué)習(xí)與應(yīng)用結(jié)合
本書(shū)以實(shí)用為宗旨,大量知識(shí)點(diǎn)都融入貼近實(shí)際應(yīng)用的案例講解,并提供了眾多精彩、頗具實(shí)用價(jià)值的綜合實(shí)例,有助于讀者輕而易舉地理解重點(diǎn)和難點(diǎn),并能有效地提高動(dòng)手能力。
配套與圖書(shū)互補(bǔ)
本書(shū)附贈(zèng)與書(shū)配套的軟件安裝包,本書(shū)案例的素材及源文件,以及常用資源及插件。
序
這些年的科幻作品或多或少都有對(duì)AR或其理念的描述。無(wú)論是弗諾·文奇執(zhí)筆的小說(shuō)《彩虹盡頭》,或是磯光雄監(jiān)督的動(dòng)漫《電腦線圈》,又或者索尼電腦娛樂(lè)發(fā)售的游戲《暴雨》,都會(huì)帶你進(jìn)入一個(gè)充滿了AR元素的世界。
AR的魅力就在這里。它不像時(shí)空穿梭那么遙不可及,也不像登陸火星那樣與你我無(wú)緣。它是一個(gè)有生之年可以實(shí)現(xiàn)的幻想,是一個(gè)遠(yuǎn)未成熟卻在一步一步接近理想的領(lǐng)域。所以投身其中為之奮斗,或是僅僅體驗(yàn)其帶來(lái)的新世界,對(duì)普通人來(lái)說(shuō)都可以實(shí)現(xiàn)。
今天,只要你愿意,購(gòu)買(mǎi)AR產(chǎn)品并不是什么難事。許多免費(fèi)的AR內(nèi)容展現(xiàn)平臺(tái)也在應(yīng)用市場(chǎng)上競(jìng)相出現(xiàn)。然而這個(gè)領(lǐng)域還遠(yuǎn)未達(dá)到人們所期望的那樣。AR還沒(méi)有融入我們的日常生活。雖然市面上有一些工具和平臺(tái),但是AR內(nèi)容的制作和展現(xiàn)仍舊有著很高的門(mén)檻,一些看似理所當(dāng)然的需求實(shí)際上還無(wú)法實(shí)現(xiàn)。
EasyAR就誕生在這樣的背景之下。作為AR開(kāi)發(fā)平臺(tái),它提供給開(kāi)發(fā)者一系列工具,解決AR領(lǐng)域最復(fù)雜和較為底層的一些問(wèn)題,降低AR產(chǎn)品中包括工具、平臺(tái)、應(yīng)用乃至內(nèi)容創(chuàng)作和展現(xiàn)等一系列問(wèn)題的門(mén)檻。EasyAR SDK是其中最早發(fā)布的產(chǎn)品,其研發(fā)過(guò)程貫穿了靈活易用、穩(wěn)定高效的設(shè)計(jì)理念。
EasyAR SDK可以在不同的AR應(yīng)用開(kāi)發(fā)中使用,雖然設(shè)計(jì)簡(jiǎn)潔,但本質(zhì)上它還是一個(gè)面向編程人員的工具。即便在與Unity配合使用的過(guò)程中,完全不寫(xiě)代碼也是很難完成復(fù)雜任務(wù)的。多數(shù)情況下,開(kāi)發(fā)者還需要配合其他工具才能完成一個(gè)完整的AR項(xiàng)目。
本書(shū)作者憑借對(duì)現(xiàn)有工具的理解和豐富的教學(xué)經(jīng)驗(yàn),從實(shí)戰(zhàn)角度解決很多初學(xué)者遇到的問(wèn)題。在與很多開(kāi)發(fā)者的交流過(guò)程中,我們發(fā)現(xiàn)其實(shí)有很大一部分開(kāi)發(fā)者是從零開(kāi)始進(jìn)行AR制作的。這本書(shū)正是這些開(kāi)發(fā)者所需要的,是非常實(shí)用的AR實(shí)戰(zhàn)教程。
就在前兩個(gè)月,EasyAR SDK 2.0正式發(fā)布,EasyAR產(chǎn)品也全線進(jìn)入了2.0時(shí)代。隨著海內(nèi)外開(kāi)發(fā)者不斷增多,開(kāi)發(fā)者對(duì)新功能的期待和個(gè)性化需求也在不斷上升。EasyAR今后會(huì)提供更多功能以及更完善的工具鏈,推動(dòng)這個(gè)產(chǎn)業(yè)不斷向前發(fā)展。
即便在Pokémon Go這樣的現(xiàn)象級(jí)手游和HoloLens這樣優(yōu)秀的設(shè)備已經(jīng)面世的今天,AR給人的印象還遠(yuǎn)沒(méi)有智能手機(jī)那么深刻。AR的基礎(chǔ)設(shè)施日趨完善,參與進(jìn)來(lái)的公司也不斷增多。但和那些科幻作品所描繪的未來(lái)場(chǎng)景相比,我們還有很多路要走。
這個(gè)時(shí)代最令人興奮的地方就在于今天看似不成熟的技術(shù),也許明天就會(huì)融入你我的生活。正因?yàn)樾┰S的不成熟,這個(gè)領(lǐng)域留給我們的想象空間才會(huì)很大,我也才有幸能參與到這樣有趣的事業(yè)中來(lái)。如果你也對(duì)這個(gè)領(lǐng)域躍躍欲試,那么閱讀本書(shū)會(huì)對(duì)你有所幫助,它一定不會(huì)令喜歡實(shí)戰(zhàn)的你感到失望。
EasyAR研發(fā)總監(jiān)
宋健
2017年8月
前言
1.內(nèi)容介紹
本書(shū)是初學(xué)者快速學(xué)習(xí)AR應(yīng)用的全面教程,從基礎(chǔ)理論到經(jīng)典的AR案例都進(jìn)行了詳盡的講解。保證即便是零基礎(chǔ)的讀者也可以通過(guò)本書(shū)學(xué)習(xí)并制作出常見(jiàn)的AR應(yīng)用。
本書(shū)共分10章,基礎(chǔ)部分會(huì)介紹Unity的安裝配置、基礎(chǔ)操作、C#編程基礎(chǔ)、坐標(biāo)系統(tǒng)、UI系統(tǒng)以及AR應(yīng)用在常用平臺(tái)(PC、Android、iOS)的發(fā)布等。
AR案例部分會(huì)以涂色類(lèi)AR、多卡互動(dòng)AR、恐龍博物館AR大屏互動(dòng)為例,在實(shí)際制作過(guò)程中教大家AR應(yīng)用的通用設(shè)計(jì)方式,以及如何處理AR應(yīng)用在制作過(guò)程中常見(jiàn)的問(wèn)題。
為了方便讀者學(xué)習(xí),本書(shū)隨書(shū)提供課程中案例的所有資源及源文件,可以隨時(shí)查閱對(duì)比。
2.適合人群
本書(shū)適合于想要進(jìn)入AR行業(yè)的興趣愛(ài)好者,傳統(tǒng)行業(yè)轉(zhuǎn)型AR的管理者、投資人,以及針對(duì)AR中特定應(yīng)用有需求的從業(yè)人員。
圖書(shū)的編寫(xiě)不可能滿足所有人群的需求,筆者在日常工作教學(xué)中發(fā)現(xiàn),有基礎(chǔ)的專(zhuān)業(yè)人員更愿意通過(guò)網(wǎng)絡(luò)論壇或者查閱官方文檔的方式解決問(wèn)題,而初學(xué)者或從傳統(tǒng)行業(yè)轉(zhuǎn)型的人員,則更需要通過(guò)書(shū)籍學(xué)習(xí)來(lái)進(jìn)入AR技術(shù)領(lǐng)域。因此,本書(shū)編寫(xiě)重心會(huì)更偏向于零基礎(chǔ)入門(mén)的讀者以及對(duì)AR設(shè)計(jì)、管理方面有需求的讀者。
本書(shū)針對(duì)技術(shù)上完全零基礎(chǔ)的人員有一套切實(shí)可行的學(xué)習(xí)方案,書(shū)中內(nèi)容是從筆者以往教學(xué)中提煉出的課程精華,在線下培訓(xùn)和線上教學(xué)中取得了很好的效果。
筆者的學(xué)員中有在校大學(xué)生、美術(shù)從業(yè)人員、設(shè)計(jì)師以及零基礎(chǔ)愛(ài)好者,他們成功地掌握了相關(guān)的AR技能,做出了優(yōu)秀的作品及產(chǎn)品。
3. 學(xué)習(xí)目標(biāo)
通過(guò)本書(shū)可以達(dá)到以下學(xué)習(xí)目標(biāo):
1. 能夠獨(dú)立制作常見(jiàn)的AR類(lèi)軟件。
2. 能夠具備對(duì)AR項(xiàng)目策劃、任務(wù)分配、驗(yàn)收等管理方面的能力。
3. 能夠加強(qiáng)AR項(xiàng)目中不同工種之間的溝通協(xié)作能力。
4. 增加AR項(xiàng)目中錯(cuò)誤排查以及修復(fù)的能力。
5. 學(xué)會(huì)拆解成熟的AR產(chǎn)品,即看到AR產(chǎn)品后能夠快速分析出其所使用的具體技術(shù),以及構(gòu)建制作流程。
4. 內(nèi)容風(fēng)格
編程及美術(shù)類(lèi)的專(zhuān)業(yè)性詞匯對(duì)于外行來(lái)講大多晦澀難懂,在學(xué)校系統(tǒng)學(xué)習(xí)容易接受,如果想在短時(shí)間內(nèi)理解這些詞匯則很困難。
雖然從網(wǎng)絡(luò)或其他書(shū)籍中摘抄一些定義顯然很容易,文字上也會(huì)更加嚴(yán)謹(jǐn),但會(huì)造成以專(zhuān)業(yè)術(shù)語(yǔ)解釋專(zhuān)業(yè)術(shù)語(yǔ)的情況,增加讀者的學(xué)習(xí)負(fù)擔(dān)。
筆者認(rèn)為專(zhuān)業(yè)術(shù)語(yǔ)的出現(xiàn)雖然會(huì)增加圖書(shū)中的專(zhuān)業(yè)性,但是在占用篇幅的同時(shí),對(duì)教學(xué)理解不會(huì)產(chǎn)生實(shí)質(zhì)性的幫助,對(duì)初學(xué)者反而會(huì)造成困惑及誤導(dǎo)。
本書(shū)以實(shí)用性為目的,快速帶領(lǐng)讀者入門(mén)。因此,書(shū)中會(huì)盡量將專(zhuān)業(yè)術(shù)語(yǔ)使用通俗的文字來(lái)解釋?zhuān)奖阕x者理解。一些文字的嚴(yán)謹(jǐn)性在專(zhuān)業(yè)人士眼中可能會(huì)有所欠缺,如有不足之處還望讀者補(bǔ)充指正。
受篇幅所限,書(shū)中的基礎(chǔ)知識(shí)主要針對(duì)AR案例中涉及的內(nèi)容,如在某一領(lǐng)域有更高要求,請(qǐng)查閱具體細(xì)分領(lǐng)域的專(zhuān)業(yè)書(shū)籍(例如平面美術(shù)、C#編程、Zbrush雕刻、數(shù)據(jù)庫(kù)等)。
李曄:國(guó)內(nèi)第一批進(jìn)入AR技術(shù)領(lǐng)域的開(kāi)發(fā)者,蠻牛教育講師,曾從事次世代美術(shù)、平面美術(shù)、前端程序、策劃、責(zé)任編輯等多個(gè)領(lǐng)域的不同工種,善于對(duì)接整合不同階段的技術(shù)需求,曾參與《輻射4》等大型游戲開(kāi)發(fā)。
擁有多年AR項(xiàng)目策劃經(jīng)驗(yàn),為AR硬件廠商及AR需求方提供大量AR解決方案。擅長(zhǎng)不同平臺(tái)的AR交互設(shè)計(jì)、AR產(chǎn)品的逆向拆解以及AR項(xiàng)目中美術(shù)標(biāo)準(zhǔn)的制定。。
在AR教學(xué)過(guò)程中,以把控整體流程和解決問(wèn)題的思想來(lái)設(shè)計(jì)課程,重視經(jīng)典案例的制作,確保學(xué)員能夠在最短時(shí)間內(nèi)掌握AR應(yīng)用制作中最實(shí)用的技術(shù)。
第1章 Unity AR概述 1
1.1 AR介紹 1
1.1.1 AR技術(shù)概述 1
1.1.2 AR行業(yè)應(yīng)用及發(fā)展趨勢(shì) 2
1.2 如何制作AR 3
1.2.1 所需軟件及輔助插件 3
1.2.2 AR顯示基本原理 4
1.3 Unity與AR 5
1.3.1 Unity引擎簡(jiǎn)介 5
1.3.2 EasyAR簡(jiǎn)介 5
第2章 注意事項(xiàng)(新手必看) 7
2.1 教程學(xué)習(xí)說(shuō)明 7
2.2 版本問(wèn)題 7
2.3 案例說(shuō)明 8
2.4 隨書(shū)附帶資源 8
2.5 常見(jiàn)問(wèn)題 8
第3章 Unity基礎(chǔ) 10
3.1 Unity的獲取與安裝 10
3.1.1 獲取Unity 10
3.1.2 安裝Unity 11
3.2 Unity基礎(chǔ)操作 13
3.2.1 Unity界面介紹 13
3.2.2 Unity基礎(chǔ)操作 15
3.2.3 游戲?qū)ο笈c組件 16
3.2.4 Unity常用的游戲?qū)ο?17
3.2.5 Unity常用組件 17
3.2.6 幀的概念 18
3.3 Unity資源獲取 18
3.3.1 資源制作 18
3.3.2 Unity資源商店 19
3.4 C#腳本基礎(chǔ) 20
3.4.1 C#腳本基本結(jié)構(gòu) 20
3.4.2 函數(shù)(方法) 21
3.4.3 變量 21
3.4.4 計(jì)算與賦值 23
3.4.5 if語(yǔ)句 23
3.5 坐標(biāo)系統(tǒng) 24
3.5.1 世界坐標(biāo)系 24
3.5.2 屏幕坐標(biāo) 24
3.5.3 簡(jiǎn)單的坐標(biāo)轉(zhuǎn)換 25
3.6 UI基礎(chǔ) 26
3.6.1 UGUI簡(jiǎn)介 26
3.6.2 屏幕自適度 26
3.6.3 調(diào)整屏幕自適度 28
3.6.4 Image與Text 30
3.6.5 按鈕(Button) 31
第4章 EasyAR基礎(chǔ) 32
4.1 獲取EasyAR 32
4.2 EasyAR SDK基本配置 32
第5章 應(yīng)用發(fā)布 36
5.1 Windows/Mac平臺(tái)發(fā)布 37
5.2 Android平臺(tái)發(fā)布 38
5.3 iOS平臺(tái)發(fā)布 42
第6章 涂色類(lèi)AR項(xiàng)目案例 57
6.1 涂色類(lèi)AR項(xiàng)目案例簡(jiǎn)介 57
6.1.1 涂色類(lèi)AR應(yīng)用簡(jiǎn)介 57
6.1.2 項(xiàng)目分析 57
6.1.3 案例規(guī)劃 58
6.2 涂色類(lèi)AR識(shí)別圖設(shè)計(jì) 58
6.2.1 識(shí)別圖的識(shí)別率 58
6.2.2 識(shí)別圖內(nèi)容分析 59
6.2.3 識(shí)別圖模型圖案角度 59
6.2.4 常見(jiàn)的識(shí)別圖展現(xiàn)方式 61
6.2.5 程序中使用識(shí)別圖與印刷使用識(shí)別圖 63
6.2.6 識(shí)別圖制作流程 63
6.3 制作識(shí)別圖PS基礎(chǔ) 63
6.3.1 分配組與圖層 63
6.3.2 制作地球部分 65
6.3.3 制作識(shí)別圖底座部分 67
6.3.4 制作識(shí)別圖外框部分 69
6.3.5 制作識(shí)別圖斜面部分1 72
6.3.6 制作識(shí)別圖斜面部分2 75
6.3.7 加入具備識(shí)別信息的背景圖片 76
6.3.8 導(dǎo)出識(shí)別圖 78
6.4 涂色類(lèi)AR模型分析 79
6.4.1 模型基礎(chǔ)概念 79
6.4.2 模型標(biāo)準(zhǔn) 81
6.4.3 制作思路 81
6.4.4 模型制作流程 82
6.5 模型制作MAYA基礎(chǔ) 82
6.5.1 制作地球 82
6.5.2 制作地球儀的軸 83
6.5.3 制作地球儀的底座 87
6.5.4 制作地球儀的外框 87
6.5.5 完成建模 90
6.6 UV匹配識(shí)別圖 90
6.6.1 UV的概念 90
6.6.2 匹配UV的思路 92
6.6.3 給模型添加貼圖 92
6.6.4 匹配地球部分的UV 94
6.6.5 匹配軸部分的UV 100
6.6.6 匹配底座部分的UV 100
6.6.7 匹配外框部分的UV 102
6.6.8 調(diào)整模型 105
6.6.9 導(dǎo)出模型 106
6.7 涂色AR編程第一階段 107
6.7.1 第一階段目標(biāo) 107
6.7.2 創(chuàng)建項(xiàng)目 107
6.7.3 配置識(shí)別圖與模型 108
6.7.4 替換模型貼圖 110
6.7.5 使用按鈕替換貼圖 111
6.7.6 屏幕截圖 113
6.8 涂色AR編程第二階段 115
6.8.1 第二階段目標(biāo) 115
6.8.2 如何獲得正確的貼圖 116
6.8.3 獲取截屏?xí)r識(shí)別圖四個(gè)角的坐標(biāo) 118
6.8.4 涂色AR中的Shader 121
6.8.5 C#向Shader傳遞信息 123
6.8.6 將識(shí)別圖涂色正確地附在模型上 125
6.8.7 第二階段可能出現(xiàn)的異常情況 129
6.9 涂色AR編程第三階段 131
6.9.1 第三階段目標(biāo) 131
6.9.2 掃描框的功能 131
6.9.3 制作掃描框與提示面片 131
6.9.4 獲取識(shí)別圖與掃描框的四角屏幕坐標(biāo) 134
6.9.5 確定識(shí)別圖是否完全處于掃描框內(nèi) 140
6.9.6 使用掃描框自動(dòng)貼圖 145
6.9.7 長(zhǎng)方形識(shí)別圖制作思路 152
6.9.8 涂色類(lèi)AR案例小結(jié) 154
第7章 多卡互動(dòng)項(xiàng)目案例 155
7.1 多卡互動(dòng)設(shè)計(jì)思路 155
7.2 制作字母識(shí)別圖 155
7.3 多卡識(shí)別功能制作 156
7.4 使用碰撞器判斷卡片順序 158
7.5 編寫(xiě)代碼 160
7.6 完善AR多卡互動(dòng) 164
第8章 恐龍博物館AR互動(dòng)大屏 167
8.1 項(xiàng)目策劃 167
8.1.1 整合需求 167
8.1.2 項(xiàng)目設(shè)計(jì) 168
8.1.3 項(xiàng)目預(yù)算 171
8.1.4 模型制作流程及標(biāo)準(zhǔn) 171
8.1.5 動(dòng)畫(huà)標(biāo)準(zhǔn) 175
8.2 項(xiàng)目場(chǎng)景搭建 178
8.2.1 如何增強(qiáng)AR的真實(shí)感 178
8.2.2 角度匹配 178
8.2.3 投影效果 180
8.2.4 天空盒與全景圖片 182
8.2.5 制作全景圖片 185
8.3 動(dòng)畫(huà)控制 186
8.3.1 動(dòng)畫(huà)控制設(shè)計(jì) 186
8.3.2 Mecanim動(dòng)畫(huà)系統(tǒng) 186
8.3.3 播放待機(jī)狀態(tài)動(dòng)畫(huà) 187
8.3.4 動(dòng)畫(huà)的切換及融合 188
8.3.5 控制恐龍行走動(dòng)畫(huà)(Blend
Tree) 190
8.3.6 控制行走位移 194
8.3.7 處理同時(shí)進(jìn)行的動(dòng)畫(huà)(動(dòng)畫(huà)遮罩) 194
8.3.8 完善動(dòng)畫(huà) 196
8.3.9 修改Bug 198
8.4 項(xiàng)目拓展 199
8.4.1 加入聲音(動(dòng)畫(huà)事件) 199
8.4.2 手柄控制 200
8.4.3 現(xiàn)實(shí)物體對(duì)虛擬物體的遮擋 201
8.4.4 自動(dòng)循環(huán)動(dòng)畫(huà) 204
8.4.5 自動(dòng)循環(huán)動(dòng)畫(huà)制作 204
第9章 常用內(nèi)容查詢 207
9.1 第6章常用代碼查詢 207
9.2 PS常用操作 208
9.3 第6章常用MAYA操作 208
9.4 第7章常用代碼 210
9.5 第8章常用代碼 210
9.6 常用變量 211
第10章 其他 212
10.1 文件管理 212
10.2 AR中人員管理 213
10.3 AR注意事項(xiàng) 213