天天看點

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

    • 引擎版本須知
      • Unity2020.3.5f1c1
      • Vuforia Engine 9.8
    • 插件導入及更新
    • 3D物體資料掃描
    • Unity場景設定
    • 參考連結

引擎版本須知

Unity2020.3.5f1c1

UnityAndroid的Project Settings–>Player–>

  • Minimum API Level:Android 6.0(API Level 23)
  • Target API Level:Android 11.0(API Level 30)

該設定是經過測試之後,插件需求的相應設定。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

Vuforia Engine 9.8

項目開發時,Vuforia Engine已經釋出的最新版本為10.10。經過測試最新版本将ObjectTarget棄用,在新版本插件中已無法使用,故使用舊版本9.8:Vuforia Engine官網。

Vuforia 引擎 9.8 不再受支援,其相關庫内容将移至此庫存檔。
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

插件導入及更新

Vuforia引擎可用作一個引擎,可以從菜單Assets -> Import Package -> Custom Package導入到Unity項目中。導入包将允許腳本在Unity項目中進行必要的更改,以安裝或更新到最新的Vuforia引擎SDK(.unitypackage)。

将 Vuforia 引擎添加或更新到您的 Unity 項目 (SDK 下載下傳)

該軟體包會自動将最新的 Vuforia 引擎版本添加到您的 Unity 項目中。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

要手動檢查是否有新的更新可用,請轉到Help -> Vuforia Engine -> Check for Updates:

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

3D物體資料掃描

需要在安卓手機上安裝一個Vuforia Object Scanner應用,用于3D物體的資料掃描。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

劃到頁面最下端。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

下載下傳的壓縮包中不止有程式的apk檔案,還有兩張.pdf檔案,這就是掃描物體時所必須要用的掃描基準圖,需要将物體放到其圖紙之上,故需要自己列印。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

資料線連接配接手機,将apk檔案拷入手機安裝。如圖,

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

好了,接下來就是掃描三維物體。

将盒子放到紙上的灰色部分,它上面有個坐标系,盒子大緻位置放好就可以。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

點選手機上安裝好的Scanner。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

對準盒子會出現:

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

三條線就是高通做的一個坐标系,點選紅色錄像按鈕。即可看到盒子上有很多綠色的識别點,識别點越多,越容易比識别,還有一個有線框的遮罩,轉動紙,使手機能夠一圈掃描盒子,掃描識别到後,遮罩就會程式設計綠色,盡可能多識别點。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

注意:識别的目标盡可能大點,我之前用筆測試,雖然識别點很多,但是測試還是很難識别;還有就是轉動紙,盡可能從各個方向識别,做多個識别點。

另外,物體的識别難易程度和顔色深淺沒有關系,但和物體上的簡易程度有關系,越複雜就越容易被識别,例如:我用一張寫滿字的紙張比一個有幾個對比鮮明色彩的紙張更容易識别。

還有就是不要用圓形的東西,例如杯子,我測試了好幾個圓形的東西,都不太容易識别。

識别完成之後,點選對勾,取個名字100cocoa,儲存之後。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

點選Test,将盒子從A4紙上拿下來,掃描盒子,即可看到盒子的原點。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

好了,測試成功,點選上傳到電腦上。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

使用交流軟體發送導入電腦之後是一個.od檔案。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

好了,此處掃描三維物體的步驟就完成了,接下來和之前的上傳圖檔類似,将該.od檔案上傳到高通官網。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

首先建立Database。(名稱根據自己需求随便取)

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

建立好後添加資料(Add Target)。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

将剛才上傳的100cocoa.od檔案上傳即可建立完成;建立好下載下傳就是UnityPackage檔案。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

導入Unity中:

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

Unity場景設定

Unity建立新場景,建立Vuforia高通插件中的ARCamera和ObjectTarget,并删除原場景的MainCamera。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

在ARCamera下的Vuforia Behaviour中添加許可證書。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)
UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

許可證書的申請在官網中,在License Manager中得到License Key,如下圖:

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

将密鑰複制到Unity的App License Key中。

選擇ObjectTarget–>Inspector界面進行設定。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

在圖檔下建立一個物體,用于測試。

UnityAR Vuforia(高通)3D物體識别(ObjectTarget)

好了。儲存場景,打包運作測試。## 插件&APK下載下傳連結

我這裡儲存了一個我使用的版本,以備之後官網版本更新帶來的風險:https://download.csdn.net/download/f_957995490/86819483

參考連結

  1. https://library.vuforia.com/getting-started/getting-started-vuforia-engine-unity#print
  2. https://blog.csdn.net/qq_42345116/article/details/123819408
  3. https://blog.csdn.net/weixin_43541308/article/details/121790959
  4. https://blog.csdn.net/weixin_37608784/article/details/80434554

繼續閱讀