2016年被稱爲VR元年,可見火爆程度,可是我要告訴你,其實還有一種技術AR(加強現實)技術,纔是下一個真正的「風口」技術。能夠預見的是,將來AR應用爆發之時,必將超越VR產業規模,開拓千億級市場空間!java
AR技術須要硬件承載,最新的媒介以微軟的HoloLens頭顯爲表明,傳統的則通常與手機或者Ipad結合。在目前市場(2016年)不是很成熟的狀況下,讓消費者爲了體驗AR而花錢買個新的硬件,消費者不必定買帳。算法
AR技術不只在與VR技術相相似的應用領域,諸如尖端武器、飛行器的研製與開發、數據模型的可視化、虛擬訓練、娛樂與藝術等領域具備普遍的應用,並且因爲其具備可以對真實環境進行加強顯示輸出的特性,在醫療研究與解剖訓練、精密儀器製造和維修、軍用飛機導航、工程設計和遠程機器人控制等領域,具備比VR技術更加明顯的優點。因此谷歌認爲,加強現實才是將來的發展趨勢,由於它可以帶給人們更多互動體驗,而非虛擬現實的隔離。編程
隨着16年下半年席捲全球的遊戲「Pokemon Go」("口袋妖怪GO") 手遊的上線IOS與Android 移動市場,忽然引爆了全球AR遊戲產業,國內無數遊戲公司紛紛表示17年上市本身的AR遊戲或者應用產品。設計模式
上面說了這麼多的行業信息,下面咱們轉到具體的實現技術上,目前開發AR加強現實主流的門派爲QCAR(vuforia)、Metaio、D'Fusion等,並且最重要一點是這些插件SDK 都在與Unity進行緊密結合。 數據結構
1:Vuforia, 高通的AR解決方案,須要在官網上進行Target Manage,也就是圖像預處理,不過對於商業級應用提供雲識別,並且還支持三維立體物件識別、HoloLens等。截至16年全球註冊開發人員已經超過25萬,成爲事實上的AR加強現實SDK 標準。 架構
2: Metaio(國內翻譯「美桃」)SDK,下載安裝後能夠直接在unity裏跑例子,豐富的教學資源。免費(限制+水印) 與 付費受權結合。突出優勢是能夠支持PC端以及新增人臉識別的功能(Metaio 5.5以上)。編輯器
咱們作一款 AR 應用(或者遊戲)通常都須要底層識別算法、應用開發與3D美工三部份內容。國內開發公司通常只作後兩部分,關於底層(圖像的)識別算法通常都藉助於高通或美桃(Metaio) 的識別算法解決。 關於應用開發部分,目前最高效與成熟的就是使用 Unity 做爲開發平臺,因此這裏學好Unity 尤其重要。如今筆者就AR開發中最爲關鍵的「應用開發」部分,結合Unity平臺談談開發過程當中常運用的技術點:學習
1: Unity 使用C#語言做爲腳本語言,因此深刻掌握C#語言的各類語法、經常使用算法、數據結構、設計模式、架構模式等尤其重要。優化
2:開發AR加強現實對於模型與動畫的處理部分要求較高。因此須要系統學習Untiy對於模型的導入、模型優化、模型動畫(Animator、Animation)控制腳本等要求較高。動畫
3:移動端屏幕識別部分: 能夠採用Unity原生的觸控API,也能夠採用目前成熟的Unity屏幕觸控插件(例如:FingerGestures插件)進行開發。不過這裏筆者推薦若是不是很複雜的觸控需求,儘可能採用Unity原生API,本身封裝的屏幕識別算法較好。
4:最後一步也就是發佈移動端(手機、IPad)技術,通常對於IOS平臺發佈*.ipa 文件,須要Unity導出工程文件到Xcode 編輯器上,而後用Xcode 生成便可步驟較爲簡單。 對於發佈Android 平臺的*.apk 文件,則步驟較爲繁瑣,須要安裝與配置java SDK,以及安裝Android SDK,最後須要在Unity中配置上述的路徑等。
因此總結上述內容,有人就說開發AR加強現實很簡單: 就是基礎的C#語言+Unity3D+Maya(模型建立) +Vuforia(底層圖像識別算法SDK),基本上一些簡單AR就出來了。可是筆者不敢苟同,即使你的AR項目創意再好,若是沒有堅實的語言編程能力以及Unity平臺熟練的掌握,也是沒法開發出高質量的產品應用的。
隨着國外巨頭微軟的HoloLens頭顯2017年進一步增大量產、Meta 公司的Meta 2的2017年頭顯上市、Magic Leap 的神祕新品上市,能夠絕不誇張的說,2017年可能會成爲「AR元年」!