Easy AR簡單教程
1、ImageTarget的制作
(1)、導入EasyARSD包,刪除Main Camera,將預制的EasyAR_Startud和Image Target拖入Hierarchy視圖中
(2)、在EasyAR_Startud的EasyARBehaviour組件中添加在EasyAR官網獲得的Key
(3)導入識別圖到StreamingAssets中,並找到StreamingAssets文件下的targets.Json文件,用VS打開進行修改,注意此時的修改方法
Image:圖片的文件名
Name:你給此圖片取的名字
Size:識別圖大小
一個工程文件中只需要一個json文件就可以了,因為一個json中可以定義多張識別圖,需要注意的是,導入的圖片以及視頻都要放在StreamingAssets中,
但是,開始導入的時候不要放到StreamingAssets中,原因后面會說
更多的修改方式可參考本網址
http://www.easyar.cn/view/docs/Guides/EasyAR-Target-Configure.html
(4)接下來是填寫TmageTarget的EasyImageTargetBehaviour組件信息(值得注意的是大家如果去官網下載的SDK對於這個組件會有比較麻煩的操作,我上傳的SDK已經幫大家解決了這個問題),填寫規范
Path:json文件名字(我給大家的都是targets名字,沒有必要去改)
Name:就是你在json文件修改中你給識別圖定義的那個名字
Size:識別圖大小
特別注意:storage一定要選擇Assets,這樣才能讀取StreamingAssets下你導入的識別圖
此時我們會發現ImageTarget是一片紫色的,所以我們要制作一個材質球,然后將對應的識別圖片貼上,然后再給ImageTarget
點擊Albedo選擇你要的識別圖片,也是你在EasyImageTargetBehaviour組件中填寫的那個圖片,
在這里可能出現的一種情況就是在StreamingAssets下的圖片及視頻有可能無法被獲取,所以我們導入的時候不把文件直接放入StreamingAssets中,而是當我們對材質球進行貼圖之后再把圖片和視頻放進StreamingAssets中。
此時的ImageTarget就是我們想要的的圖片了
關於ImageTarget就已經做好了
如果要做多張識別圖,復制ImageTarget然后修改EasyImageTargetBehaviour組件信息就可以了
二、關於3D模型的呈現和視頻的播放
(1)3D模型
將你的3D模型放入ImageTarget作為其子物體就可以了,其他的動畫以及其他效果賦給3D Object就可以了
(2)視頻
在ImageTarget下添加一個3D Object ->Plane, Plane的大小決定了你的視頻大小,所以大家適當調整你的Plane大小,然后是把EasyAR-> Scripts->VideoPlayerBehaviour這個腳本賦給Plane
然后進入Plane的inspector視圖,進行VideoPlayerBehaviour的信息鍵入
Path:視頻名字,盡量是mp4格式
Video scale Mode設置為充滿。
下面三個根據需求來選吧,
需要注意的還是Storage也要選為Aseets。視頻播放必須移植到移動端,easyAR目前不支持視頻播放在PC和mac的直接調試
在Pc端調試時如果出現Game視圖顯示為這樣,證明算是成功了
然后是生成APK的時候,PlayerSettings->Other Setting的bundle identifier修改一定要和你生成的的Key相匹配
然后是打包的時候如果出現以下錯誤警告
Incompatiblegraphics API detected! Please uncheck "Auto Graphics API" (if notdone by EasyAR) and rebuild, or EasyAR may not work as expected (e.g. whitescreen).
UnityEngine.Debug:LogError(Object)
PostBuild:OnPostprocessBuild(BuildTarget,String) (at Assets/EasyAR/Scripts/Editor/PostBuild.cs:67)
UnityEditor.HostView:OnGUI()
在PlayerSettings->OtherSetting中Auto Graphics API后的選框選中后再取消就可以了
例子 :做了三張識別圖,對應三個不同的模型,掃描其中一個,手機屏幕只顯示對應的那個模型,為什么做完了之后,只會出現掃描第一張圖出現模型,第二和第三個不顯示,如何修改實現呢?
要對每一個圖進行js的編寫,然后像操作第一個圖和模型一樣操作后面兩個