EasyAR 初學者入門指南(1)---顯示模型

開發預覽

源碼:鏈接: pan.baidu.com/s/1kUQ4Mr 密碼: upmp

模型資源:鏈接: pan.baidu.com/s/1bpImAw 密碼: icwu

Step 1:開發環境

在本次的案例演示中,我使用的是unity5.5.1版本,EasyAR 為2.0.關於unity+Android 或unity+ios 環境的搭建,在後期會專門出一篇文章。

Step 2:導入SDK

我們新建一個unity項目,命名為"HelloAR"

然後我們到EasyAR官網(easyar.cn/view/download)上下載"EasyAR2.0 package(for unity)"

解壓之後,我們將"EasyAR_SDK_2.0.0_Basic.unitypackage"導入到unity中

導入之後,效果如圖:

Step 3:配置識別圖

首先我們準備一張我們需要識別的圖片(格式最好為jpg),在這裡為了方便測試,我用一張身份證來識別,將這張圖片命名為"idback",比如:

然後我們在unity里新建一個目錄,命名為"StreamingAssets",然後將這張識別圖拖入到unity的該目錄下

在EasyAR 的開發配置中,直接將圖片拖入到unity中是一種比較常見的手段,我們也可以用json的方法來配置我們的項目開發,我們在 StreamingAssets 目錄下新建一個json文件,命名為"targets",基本格式如下:

{

"images" :

[

{

"image" : "idback.jpg",

"name" : "idback",

"size" : [8.56, 5.4],

"uid" : "uid-string, should NOT duplicate",

"meta" : "what ever string you like."

}

]

}

對於json配置圖片,我們必要的兩個欄位是:

  • image ---- 導入到unity中的識別圖名字+後綴格式
  • name ---- 識別圖名字

ps,如果我們想配置多張圖片信息,比如我們還在unity中導入了一張名為"argame00"的圖片,那麼我們就可以這樣配置json,以此類推:

{

"images" :

[

{

"image" : "argame00.jpg",

"name" : "argame"

},

{

"image" : "idback.jpg",

"name" : "idback",

"size" : [8.56, 5.4],

"uid" : "uid-string, should NOT duplicate",

"meta" : "what ever string you like."

}

]

}

Step 4:獲取key

準備好識別圖之後,我們需要到官網(easyar.cn/view/open/app)來為我們的AR APP申請key

點擊創建應用,填寫你的應用名字與打包移動平台時必填的package name

比如這樣:HelloAR 是我的應用名,mars 是我的公司或團隊名,格式就是這樣

確定好後,我們可以查看我們的Key

Step 5:導入模型資源

我們將我們準備好的模型資源導入到unity中

導入到unity後,可能會報錯,我們只需刪除"Standard Assets"就可以

到現在,我們就準備好了我們的模型資源

Step 6:開發

我們的準備工作基本已經完成了,接下來我們刪除原有場景的"Main Camera",然後把我們的EasyAR Camera 拖到面板中

然後將我們從官網上申請的Key填入到"EasyAR_Startup" 中

然後我們把 ImageTarget 拖到面板中去

然後我們編輯掛在ImageTarget組件上的 "ImageTargetBehaviour" 腳本(這段腳本的功能主要是當捕捉到識別圖時控制模型的顯示與消失),腳本主要內容如下:

我們的EasyAR 官網上可以找到這段代碼(easyar.cn/doc_sdk/cn/Ge

接下來,我們填寫如下信息:

  • Path: 識別圖的路徑
  • Name:識別圖的名字
  • Size:識別圖的大小

對於Path 的配置,我們有兩種方法:一種是可以直接填寫識別圖名+後綴,另一種是填寫json,比如:

注意,我們一定要將Storage 的格式修改為Assets

關於Storage:

接著我們在 Imagetarget 組件下面創建我們是AR模型,我們將事先準備好的資源拖到其下面,如圖:

我們 reset 這個模型的Transform

然後使它的大小縮放為0.3,y軸旋轉270度,效果如圖:

最後我們先刪除沒用的Rigidbody 這個組件

Step 7:測試

我們Build Setting,點擊Player Settings

我們填寫好信息,注意Compang Name 與我們申請key時的公司或團隊名相同(比如我申請時填的是:mars),Product Name 也要和我們申請key時填的應用名相同(本次的項目演示為:HelloAR)

我們的Bundle Identifier 也要修改為

最後是最關鍵的一部分:我們的Graphics API 使用的是 OpenGLES2

Step 8:開發小技巧

在開發AR App中,我們為了高效地進行,沒有必要這麼基礎的去配置EasyAR 開發環境,常常是下載好EasyAR 2.0 samples,直接使用裡邊的HelloAR 工程,這樣可以很方便的快速的搭建AR開發環境,事半功倍。


推薦閱讀:

蘇打世界和拍拍卡洛琳這種扁平化風格遊戲動畫用什麼軟體做的?
暢遊引擎Genesis的現狀是如何?
開發類似《爐石傳說》這樣的iOS遊戲的客戶端、伺服器端程序員分別需要掌握哪些技能?
unity燈光可以有兩個Directional Light嗎,unity會根據日光來模擬現實的時間嗎?
《鎮魔曲》手游水、皮膚材質渲染的思路?

TAG:增强现实AR | Unity游戏引擎 | ARKit |