1. 程式人生 > >AR內容開發解密,帶你從深挖掘AR技術

AR內容開發解密,帶你從深挖掘AR技術

2016年被稱為VR元年,可見火爆程度,但是我要告訴你,其實還有一種技術AR(增強現實)技術,才是下一個真正的“風口”技術。可以預見的是,未來AR應用爆發之時,必將超越VR產業規模,開拓千億級市場空間!
   
  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平臺熟練的掌握,也是無法開發出高質量的產品應用的。