3、编译成功后,会在 xxx\vuforia-sdk-android-8-6-7\samples\UVCDriver\build\bin\Android 文件夹下有编译后的平台 so 和 jar ,如下图
六、在Unity中使用编译成果,开发 Vuforia 调用 USB 摄像头工程 1、把编译好的 so 和 jar 导入Unity 工程中添加的的 Plugins/Android/libs 文件夹下,如下图
2、在工程中新建一个脚本,用于获得外接USB 摄像头权限, 3、把新建的脚本挂载到场景中, 4、像正常在Unity中进行Vuforia开发的操作步骤,开发Vuforia AR 应用即可 7、编译打包,Android 设备连接USB摄像头即可
七、关键代码
using UnityEngine;/// <summary>/// 用于获得调用 USBCamera 摄像头的权限/// </summary>publicclassUVCManager:MonoBehaviour{privatevoidAwake(){#if UNITY_ANDROIDbool 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 =newAndroidJavaClass("com.unity3d.player.UnityPlayer");AndroidJavaObject unityActivity = unityJC.GetStatic<AndroidJavaObject>("currentActivity");AndroidJavaClass usbControllerJC =newAndroidJavaClass("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}}