【太虛AR_v0.1】使用教程 | 雲識別(圖像識別)

太虛AR(VOID AR)

官方網站:https://www.voidar.net
官方QQ羣:277574712
技術支持:[email protected]
商務合作:[email protected]
微信公衆號:voidar

這裏寫圖片描述

一、簡介

雲識別(圖像識別)是將識別數據(識別圖和顯示資源)存放在雲服務器上,在雲端運行識別算法,實現進行精準識別及跟蹤的AR效果。

二、閱讀指南

本教程主要介紹如何在Unity環境下進行操作。
默認讀者您擁有一定的軟件使用、應用開發經驗。
本教程只會對Unity的基礎使用進行簡要說明,如果希望更深入的瞭解,您可以訪問Unity官網查看更加詳細的教程。

三、搭建環境

在進行具體操作前,您需要安裝下列軟件,準備如下環境:

操作系統

  • Windows 7 或更高版本
  • OS X 10.10 或更高版本

Unity版本

支持Unity 3D版本爲:5.2.x - 5.6.x(32位或者64位)、2017.1
推薦使用5.4以後的版本(渲染效果提升)
下載地址:https://unity3d.com/cn/get-unity/download/archive
本教程中使用的Unity版本爲:5.5.2(64位)

四、實現流程

第一步、註冊並登錄雲平臺

先打開雲平臺網址,註冊賬號並登錄。網站地址:http://cloud.voidar.net

這裏寫圖片描述

第二步、創建開發者雲數據庫

進入雲平臺,新註冊用戶需要先創建數據庫,創建開發者自己的識別庫以後,才能管理識別資源。

點擊[ 創建數據庫 ],每個賬號只允許創建1個數據庫。

這裏寫圖片描述

彈出界面填寫數據庫名稱(支持中文),本教程中將數據庫名稱定爲“VOID SLAM”,填寫完成後點擊[ 保存 ]。

這裏寫圖片描述

完成後,即可獲得“Accsess Key”和“Secret Key”,這兩個Key,在下文Unity中設置屬性時會用到。

這裏寫圖片描述

第三步、管理雲資源數據

點擊雲數據庫列表中的名稱“VOID SLAM”,進入雲資源管理界面。

這裏寫圖片描述

新註冊用戶沒有數據。點擊[ 上傳圖片 ]按鈕可以添加數據。

這裏寫圖片描述

添加新資源窗口如下

這裏寫圖片描述

1 雲資源名稱(必填,支持中文)

2 自定義數據(針對雲視頻播放,本教程跳過)

3 上傳識別圖片,僅支持jpg格式

4 選擇assetbundle所屬的平臺(ios / android/ windows / mac)

5 上傳對應平臺的assetbundle文件

注:先在本地實現圖像識別,進行調試後,再將識別資源上傳雲平臺。

下文以“圖像識別(單目標)”爲內容,創建本地識別。如果您已經熟悉該內容,請直接從“實現流程中的第十二步”開始查看。

第四步、新建Unity工程

打開Unity,新建一個工程。填寫Project name爲“VOID CLOUD”、選擇保存的位置,點擊[ Create project ]。

這裏寫圖片描述

第五步、導入太虛AR SDK

選中[ Assets ] -> [ Import Package ] -> [ Custom Package… ],導入太虛AR SDK。

這裏寫圖片描述

選擇下載好的SDK文件(.unitypackage),點擊[ 打開 ]按鈕。

這裏寫圖片描述

彈出界面,點擊[ Import ],導入過程需要耐心等待一段時間。

這裏寫圖片描述

如果彈出“API Update Required”界面,請點擊[ I Made a Backup, Go Ahead! ]。

這裏寫圖片描述

第六步、刪除Main Camera

Unity3D打開時默認是新的Scene,新的Scene自帶一個Main Camera和Directional Light對象,我們需要用SDK的ARCamera,故將默認的Camera刪除。

右鍵選中場景中自帶的“Main Camera”,點擊[ Delete ] 刪除。

這裏寫圖片描述

第七步、拖入預製件“ARCamera”、“ImageTarget”

展開[ Assets ] -> [ VoidAR ] -> [ Prefabs ]目錄,將預製件“ARCamera”和“ImageTarget”分別拖至場景中。

這裏寫圖片描述

操作成功後顯示如下。

這裏寫圖片描述

第八步、設置ARCamera

選中ARCamera,查看右側的“Inspector”欄,設置“Void AR Behaviour (Script)”組件屬性。

  • 設置MarkerType = “Image”,代表識別類型爲圖像
  • 設置Simultaneous Tracking = “1”,代表同時跟蹤的識別Marker數量爲1個

這裏寫圖片描述

第九步、設置識別圖(Marker)

選中ImageTarget,查看右側的“Inspector”欄,設置“Image Target Behaviour (Script)”組件屬性。

  • 設置Image File Path = “1yuan.jpg”,填寫時需要包括“文件名”+“後綴jpg”

注:Marker圖片文件,必須放在[ Assets ] -> [ StreamingAssets ]文件夾內,本教程使用的是SDK的內置圖片。

這裏寫圖片描述

這裏寫圖片描述

第十步、設置模型

識別後顯示的模型,需要放在ImageTarget下。

右鍵選中場景中的“ImageTarget”,添加一個3D模型“Cube”。

這裏寫圖片描述

選中“Cube”,調整模型的位置和大小。

這裏寫圖片描述

第十一步、進行調試

確保您的PC已經連接了攝像頭,然後點擊[ 運行 ]按鈕。

這裏寫圖片描述

識別成功,完成調試。

這裏寫圖片描述

第十二步、設置雲識別參數

選中ARCamera,查看右側的“Inspector”欄,設置“Void AR Behaviour (Script)”組件屬性。

  • 勾選“Use Cloud”
  • AccessKey:雲管理平臺中開發者數據庫accessKey對應的值(詳見第二步)
  • SecretKey:雲管理平臺中開發者數據庫secretKey對應的值(詳見第二步)

這裏寫圖片描述

再次選中“ARCamera”,點擊[ Add Compoent ],添加“Cloud Controller”腳本。

這裏寫圖片描述

腳本綁定成功後,顯示如下。

這裏寫圖片描述

第十三步、生成Assetbundle

在本地單目標識別調試完成的前提下,利用Unity3D的AssetBundle功能,將本地識別資源ImageTarget打包,生成AssetBundle文件,上傳至太虛AR提供的雲平臺,即可實現雲識別功能。

首先,需要將ImageTarget生成Prefab。

選中[ Assets ] 目錄。

這裏寫圖片描述

Hierarchy下方選中“ImageTarget”,將起拖入Assets文件夾中。

這裏寫圖片描述

選中剛生成的“ImageTarget.prefab”,點擊[ VoidAR ] -> [ AssetBundleBuilder ]。

這裏寫圖片描述

彈出界面中,點擊[ BuildAssetBundles ],不同平臺的AsssetsBundle包不一致,本教程中全部勾選。

這裏寫圖片描述

生成過程需要一定時間,請耐心等待。

這裏寫圖片描述

生成完成後,請關閉該界面。

將在StreamingAssets下生成“Assetbundle資源”,每個平臺對應一個同名的子文件夾,如下圖:

這裏寫圖片描述

第十四步、上傳雲識別資源

返回第三步的“上傳圖片”界面,設置並上傳相關資源。

-設置圖片名稱 = “1yuan”
-上傳圖片資源
-設置assetbundle的平臺 = “windows”(第十六步中,將在windows系統下實現雲識別。)
-上傳assetbundle文件

其中,”圖片資源”和”assetbundle文件”的路徑,可以在Unity中選中相關資源,右鍵點擊,選擇[ show in Explorer ]查看。查找Windows的assetbundle文件路徑,如下所示:

這裏寫圖片描述

上傳完成後,點擊[ 保存 ]按鈕。

這裏寫圖片描述

上傳完成,雲資源庫中新添加了一條記錄,“識別評分”項值越高,識別圖品質越好。此外,添加了資源的平臺名稱被點亮。

這裏寫圖片描述

因爲已將ImageTarget生成的“assetbundle”上傳至雲平臺,所以在Unity工程文件中刪掉ImageTarget。

這裏寫圖片描述

第十五步、保存場景

選中[ File] -> [ Save Scenes ] ,進行場景保存。

這裏寫圖片描述

設置文件名爲“VOID CLOUD”,點擊[ 保存 ]按鈕。

這裏寫圖片描述

第十六步、Windows系統實現雲識別

確保您的Windows電腦已經連接了攝像頭,然後點擊[ 運行 ]按鈕。

這裏寫圖片描述

舞臺上出現模型,Hierarchy中出現“ImageTarget(Clone)”,即識別成功。

這裏寫圖片描述

第十七步、打包Android或iOS

打包流程分爲“Android打包”、“iOS打包”。

- Android打包

返回雲識別後臺,設置並上傳相關資源。

針對“1yuan”識別圖進行操作,點擊[ 修改 ]按鈕。

這裏寫圖片描述

彈出如下界面。

這裏寫圖片描述

-設置assetbundle的平臺 = “android”
-上傳assetbundle文件

“assetbundle文件”的路徑,可以在Unity中選中相關資源,右鍵點擊,選擇[ show in Explorer ]查看。

查找Android的assetbundle文件路徑,如下所示:

這裏寫圖片描述

上傳完成後,點擊[ 保存 ]按鈕。

這裏寫圖片描述

上傳完成,添加了資源的“Android平臺名稱”被點亮。

這裏寫圖片描述

打包Android,需要將Unity切換至Android平臺,點擊[ File ] -> [ Build Settings… ]。

這裏寫圖片描述

選中Android標籤,如果左下的[ Switch Platform ]按鈕爲灰色,需要下載Unity Android Support,請點擊右側的[ Open Download Page ]按鈕,下載並安裝。

這裏寫圖片描述

點擊[ Switch Platform ]按鈕,完成Android平臺的切換。

這裏寫圖片描述

切換完成後,先關閉Build Settings界面,繼續搭建打包環境。

選中[ Edit ] -> [ Preferences… ],設置參數。

這裏寫圖片描述

彈出界面選中“External Tools”選項,設置Android SDK和JDK。
如果本地沒有SDK和JDK,可以點擊後方的[ Download ],在彈出的網頁上進行下載即可。
也可以用鏈接下載安裝:
SDK(要科學上網才能打開):https://developer.android.com/studio/index.html#Other
JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html

安裝完成後,設置好SDK和JDK的路徑就可以了。

這裏寫圖片描述

選中ARCamera,查看右側的“Inspector”欄,設置“Void AR Behaviour (Script)”組件屬性。

  • 設置Camera = “後置攝像頭”

這裏寫圖片描述

選中[ File ] -> [ Build Settings… ],取消默認場景前方的勾選。然後點擊[ Add Open Scenes ],添加當前的場景。

這裏寫圖片描述

添加完成後,如下所示。

這裏寫圖片描述

點擊[ Player Settings… ]按鈕,查看右側的“Inspector”欄,設置屬性參數,您可以自定義。

  • 設置Company = “VOIDAR”

  • 設置Product Name = “VOID CLOUD”

  • 設置Bundle Identifier= “com.VOIDAR.CLOUD”

注:Bundle Identifier不能使用默認值,否則無法打包。

這裏寫圖片描述

完成設置後,點擊[ Build ]按鈕。

這裏寫圖片描述

設置文件名爲“VOID CLOUD”,點擊[ 保存 ]按鈕,開始打包。

這裏寫圖片描述

打包過程需要耐心等待一段時間。

這裏寫圖片描述

完成後,將生成一個“VOID CLOUD.apk”文件,安卓打包完成。

- iOS打包

iOS打包需要在Mac OS系統中完成,需要準備Mac設備(如MacBook Pro、MacBook、iMac、Mac mini等)。

在Unity中,將開發平臺切換至iOS,然後Build生成Xcode工程。

注:推薦使用Mac設備的Unity軟件來生成Xcode工程。如果之前是在Windows環境下編輯的,可以將Unity目錄下的整個工程文件,拷貝至Mac電腦中進行編輯處理。

啓動Unity,打開之前保存的、或者拷貝過來的VOID CLOUD工程文件(工程已經打開的,跳過這步)

這裏寫圖片描述

點擊[ Open ]按鈕打開工程。

這裏寫圖片描述

返回雲識別後臺,設置並上傳相關資源。

針對“1yuan”識別圖進行操作,點擊[ 修改 ]按鈕。

這裏寫圖片描述

彈出如下界面。

這裏寫圖片描述

-設置assetbundle的平臺 = “ios”
-上傳assetbundle文件

“assetbundle文件”的路徑,可以在Unity中選中相關資源,右鍵點擊,選擇[ show in Explorer ]查看。

查找iOS的assetbundle文件路徑,如下所示:

這裏寫圖片描述

上傳完成後,點擊[ 保存 ]按鈕。

這裏寫圖片描述

上傳完成,添加了資源的“iOS平臺名稱”被點亮。

這裏寫圖片描述

將Unity切換至iOS平臺,點擊[ File ] -> [ Build Settings… ]。

這裏寫圖片描述

選中iOS標籤,如果左下的[ Switch Platform ]按鈕爲灰色,需要下載Unity iOS Support,請點擊右側的[ Open Download Page ]按鈕,下載並安裝。

這裏寫圖片描述

點擊[ Switch Platform ]按鈕,完成iOS平臺的切換。

這裏寫圖片描述

切換完成後,先關閉Build Settings界面。

選中ARCamera,查看右側的“Inspector”欄,設置“Void AR Behaviour (Script)”組件屬性。

  • 設置Camera = “後置攝像頭”

這裏寫圖片描述

選中[ File ] -> [ Build Settings… ],取消默認場景前方的勾選。然後點擊[ Add Open Scenes ],添加當前的VOID CLOUD場景。

這裏寫圖片描述

添加完成後,如下所示。

這裏寫圖片描述

完成設置後,點擊[ Build ]按鈕。

這裏寫圖片描述

準備生成Xcode工程,命名爲“Output”,點擊[ Save ]。

這裏寫圖片描述

打開生成的Xcode文件。

這裏寫圖片描述

填寫配置,將自己的證書、iOS適應版本都正確選上:

左側點擊[ Unity-iPhone ],配置參數,您可以自定義。

  • 設置Display Name = “VOIDAR_Test”
  • 設置Bundle Identifier = “com.VOIDAR.Demo”
  • 設置Version = “1.0”
  • 設置Build = “1.0”
  • 設置Team = “您自己的證書”
  • 設置Deployment Target = “8.1”

這裏寫圖片描述

General頁面往下拉,在Linked Frameworks and Libraries中,點擊“+”。

這裏寫圖片描述

彈出界面,選中“Accelerate.framework”,點擊[ Add ]。

這裏寫圖片描述

添加完成,Linked Frameworks and Libraries下方出現“Accelerate.framework”。

這裏寫圖片描述

添加攝像機權限。

選中“Info”標籤,點擊Supported interface orientations後面的“+”。在彈出列表中選中“Privacy - Camera Usage Description”。

這裏寫圖片描述

這裏寫圖片描述

選中”Build Settings”標籤,設置Enable Bitcode = “No”。

這裏寫圖片描述

數據線連接iphone或者ipad,點擊[ 運行 ],即可打包。

這裏寫圖片描述

完成後,iphone或者ipad上,將生成一個“VOIDAR_Test”的APP,iOS打包完成。

至此,雲識別(圖像識別)製作完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章