EasyAR 初學者入門指南(1)---顯示模型
開發預覽
源碼:鏈接: https://pan.baidu.com/s/1kUQ4Mrl 密碼: upmp
模型資源:鏈接: https://pan.baidu.com/s/1bpImAwJ 密碼: icwu
Step 1:開發環境
在本次的案例演示中,我使用的是unity5.5.1版本,EasyAR 為2.0.關於unity+Android 或unity+ios 環境的搭建,在後期會專門出一篇文章。
Step 2:導入SDK
我們新建一個unity項目,命名為"HelloAR"
然後我們到EasyAR官網(http://www.easyar.cn/view/download.html)上下載"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
準備好識別圖之後,我們需要到官網(http://www.easyar.cn/view/open/app.html)來為我們的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 官網上可以找到這段代碼(http://www.easyar.cn/doc_sdk/cn/Getting-Started/Setting-up-EasyAR-Unity-SDK.html)
接下來,我們填寫如下信息:
- 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會根據日光來模擬現實的時間嗎?
※《鎮魔曲》手游水、皮膚材質渲染的思路?