Unity Vuforia 之 簡單實現Vuforia調用Android設備外接攝像頭camera實現AR

Unity Vuforia 之 簡單實現Vuforia調用Android設備外接攝像頭camera實現AR

 

目錄

Unity Vuforia 之 簡單實現Vuforia調用Android設備外接攝像頭camera實現AR

一、簡單介紹

二、編譯環境之工具準備:

1、操作系統

2、Python 配置要求版本 2 或者更高

3、Git 安裝配置

4、CMake 配置要求版本 3.6 或者更高

5、Ninja 下載與環境配置

6、Android NDK 13 下載並配置環境

7、Android SDK 22 下載安裝,並配置環境

三、編譯環境之文件資源準備:

1、Download Vuforia Engine for Android , 即是 vuforia-sdk-android-xx.zip 下載,如下圖

2、Download the UVCDriver Sample,即是vuforia-samples-core-android-xxx.zip 下載,如下圖

3、 vuforia-driver-sample-uvcdriver-android-xxx.zip 下載,如下圖

4、Clone the https://github.com/ptc-shunt/UVCCamera repository,下載這個 git 即可, 如下圖

四、編譯環境之文件夾整理:

五、編譯環境之開始編譯:

六、在Unity中使用編譯成果,開發 Vuforia 調用 USB 攝像頭工程

七、關鍵代碼

八、編譯成功的vuforia-sdk 調用 usbcamera 的(so 和 jar )工程地址

九、測試調用 USBCamera 成功的 APK

十、注意事項(Vuforia 官方的)

十一、參考資料:


 

 

一、簡單介紹

Unity中使用 Vuforia 進行相關開發的只是整理。

Unity 在 Android 設備上進行AR開發,一般可以調用的是 Android 設備的後置攝像頭,或者前置攝像頭。本章介紹如何實現Vuforia 調用 Android 設備上的外接 USB 攝像頭的方法 (Vuforia 官網的實現指導 Building and Using the UVC Camera Driver Sample )。

 

二、編譯環境之工具準備:

如圖:Vufoira官網配置要求

 

1、操作系統

本次使用的是:Windows 10 的 64 位操作系統

 

2、Python 配置要求版本 2 或者更高

1)到官網下載安裝即可,如下圖

(下載網址:https://www.python.org/downloads/)

2)下載好,安裝即可,安裝成功後,執行 python (環境配置,安裝中勾選自動配置即可),產看安裝結果,如下圖

 

3、Git 安裝配置

1)可以到 Git 官網下載,如下圖

(可以下載也可以不下載,到時候相關文件可以到GitHub 上直接下載 zip 即可)

下載網址:https://git-scm.com/downloads

 

2)下載安裝好後,在任意文件夾中右鍵可以看到git相關信息,如下圖

 

4、CMake 配置要求版本 3.6 或者更高

1)CMake 下載可以到官網上下載,如下圖

下載網址:https://cmake.org/download/

 

2)下載安裝 CMake 即可,然後把 CMake 配置到環境變量中(配置路徑根據自己的安裝路徑相應修改),如下圖

 

3)在 cmd 終端中,輸入 camke -version,即可查看到版本,表示配置成功,如下圖

 

5、Ninja 下載與環境配置

1)在官網下載 Ninja 相關資源包,如下圖

下載網址:https://github.com/ninja-build/ninja/releases

 

2)下載完後,解壓文件,得到如下文件

 

3)配置 ninja.exe 到環境變量中,如下圖

 

4)在 cmd 終端中輸入 ninja -help ,查看ninja是否配置成功,如下便是配置成功

 

6、Android NDK 13 下載並配置環境

1)到官網下載即可,如下圖

下載網址:https://developer.android.google.cn/ndk/downloads/older_releases

 

2)把 Android NDK 13 配置到環境變量中,如下圖

 

3)在 cmd 中檢查是否配置成功,輸入 ndk-build ,如下圖便是配置成功了

 

7、Android SDK 22 下載安裝,並配置環境

1)建議下載 Android Studio,在Android Studio 環境中下載對應 Android SDK ,Android Studio 下載如下圖

下載地址:https://developer.android.google.cn/studio/

 

2)下載好後,根據步驟安裝 Android Studio 即可,打開 Android Studio 的 SDK Manager 安裝 Android SDK 22 ,如下圖

 

3)下載好後,對應文件夾下就會看到對應的SDK,如下圖

 

4)配置環境,如下圖

 

 

 

三、編譯環境之文件資源準備:

如圖:Vufroia 官網編譯以來文件資源

1、Download Vuforia Engine for Android , 即是 vuforia-sdk-android-xx.zip 下載,如下圖

下載網址:https://developer.vuforia.com/downloads/sdk

 

2、Download the UVCDriver Sample,即是vuforia-samples-core-android-xxx.zip 下載,如下圖

下載網址:https://developer.vuforia.com/downloads/samples

 

3、 vuforia-driver-sample-uvcdriver-android-xxx.zip 下載,如下圖

下載地址:https://developer.vuforia.com/downloads/samples

 

4、Clone the https://github.com/ptc-shunt/UVCCamera repository,下載這個 git 即可, 如下圖

下載地址:https://github.com/ptc-shunt/UVCCamera

 

四、編譯環境之文件夾整理:

如圖:Vuforia 官網的編譯(注意紅框中

 

1、首先解壓下載好的文件,如下圖

 

2、在 vuforia-sdk-android-8-6-7\samples 文件夾下新建一個 UVCDriver 文件夾,如下圖

 

3、把 vuforia-driver-sample-uvcdriver-android-8-6-7 文件夾下的所有內容拷貝到新建的 UVCDriver (vuforia-sdk-android-8-6-7\samples\UVCDriver)文件夾下,如下圖

 

4、UVCCamera-master\UVCCamera-master 下的所有內容拷貝到 UVCDriver (vuforia-sdk-android-8-6-7\samples\UVCDriver)文件夾下新添加的 UVCCamera 文件夾下(或者直接拷貝UVCCamera-master到UVCDriver文件夾下,再改名UVCCamera 即可),如下圖

 

5、把 vuforia-samples-core-android-8-6-7\VuforiaSamples-8-6-7 直接拷貝到 vuforia-sdk-android-8-6-7\samples 問價夾下,如下圖

 

五、編譯環境之開始編譯:

如圖:Vuforia 官網給的編譯步驟(注意紅框中

 

1、在 cmd 中,把目錄切換到 xxx\vuforia-sdk-android-8-6-7\samples\UVCDriver\UVCCamera\libuvccamera\src\main\jni 中,然後 ndk-build 命令進行編譯(編譯完成要一些時間)如下圖

涉及到的命令有1、d:  2、cd xxx\xx  3、ndk-build

 

2、上一步驟編譯成功後,在 cmd 中,在切換到目錄 xxx\vuforia-sdk-android-8-6-7\samples\UVCDriver,輸入命令 python build.py 進行編譯,如下圖

涉及到的命令有1、cd xxx\xx  2、python build.py

 

3、編譯成功後,會在 xxx\vuforia-sdk-android-8-6-7\samples\UVCDriver\build\bin\Android 文件夾下有編譯後的平臺 so 和 jar ,如下圖

 

六、在Unity中使用編譯成果,開發 Vuforia 調用 USB 攝像頭工程

1、打開Unit有,新建一個空工程,如下圖

 

2、把編譯好的 so 和 jar 導入Unity 工程中添加的的 Plugins/Android/libs 文件夾下,如下圖

 

3、在工程中新建一個腳本,用於獲得外接USB 攝像頭權限,如下圖

 

4、把新建的腳本掛載到場景中,如下圖

 

5、像正常在Unity中進行Vuforia開發的操作步驟,開發Vuforia AR 應用即可,如下圖

 

6、編譯打包,Android 設備連接USB攝像頭即可

 

七、關鍵代碼


using UnityEngine;

/// <summary>
/// 用於獲得調用 USBCamera 攝像頭的權限
/// </summary>
public class UVCManager : MonoBehaviour
{
    private void Awake()
    {
#if UNITY_ANDROID
        bool driverLibrarySet = false;
        driverLibrarySet = VuforiaUnity.SetDriverLibrary("libUVCDriver.so");

        if (driverLibrarySet)
        {
            // Load your applications scene here 
            // InitAndLoadScene(VUFORIA_DRIVER_CAMERA_SCENE_INDEX);

            // The application needs to ask for USB permissions to run the USB camera
            // this is done after the driver is loaded. We call a method in the UVC driver
            // Java code to request permissions, passing in the Unity app's activity.
            AndroidJavaClass unityJC = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
            AndroidJavaObject unityActivity = unityJC.GetStatic<AndroidJavaObject>("currentActivity");

            AndroidJavaClass usbControllerJC = new AndroidJavaClass("com.vuforia.samples.uvcDriver.USBController");
            usbControllerJC.CallStatic("requestUSBPermission", unityActivity);
        }
        else
        {
            Debug.Log("Failed to initialize the UVC driver - defaulting to the standard scene");

            // Fall back to the in-built camera
        }
#endif
    }

    // Start is called before the first frame update
    void Start()
    {
        
    }

    
}

 

八、編譯成功的vuforia-sdk 調用 usbcamera 的(so 和 jar )工程地址(可做參看)

參看工程 vuforia-sdk-android-8-6-7_ForUSBCamera

https://download.csdn.net/download/u014361280/12191792

 

九、測試調用 USBCamera 成功的 APK

鏈接:https://pan.baidu.com/s/1F8kWm-nm-8Df2GUbX0aaYQ

提取碼:djfa

若路徑失效請留言

 

十、注意事項(Vuforia 官方的)

The current supported cameras profiles are:

  • Logitech HD Webcam c310

  • Microsoft LifeCam Studio

 

十一、參考資料:

1、Building and Using the UVC Camera Driver Sample

網址:https://library.vuforia.com/content/vuforia-library/en/articles/Solution/uvc-camera-driver.html

 

2、Unity上使用USBCamera鏈接地址: http://www.unitycn.cn/?p=929

(上面地址涉及網址:

https://library.vuforia.com/articles/Solution/file-driver.html

https://library.vuforia.com/content/vuforia-library/en/articles/Solution/driver-framework.html

https://github.com/mironal/VuforiaExternalCameraSample

 

3、參考博文

https://blog.csdn.net/zhangxiao13627093203/article/details/103834015

 

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