C# 在Vuforia引擎中使用前置摄像头

C# 在Vuforia引擎中使用前置摄像头,c#,unity3d,augmented-reality,vuforia,C#,Unity3d,Augmented Reality,Vuforia,我正在尝试创建一个AR体验,它可以同时使用前后摄像头(如果可用)。我想在它们之间切换,就像使用默认相机应用程序一样 Vuforia框架是否支持前置摄像头,之前是否有人将Vuforia与其他人脸跟踪AR框架集成,体验如何? 在AR摄像头设置中,您会发现此选项的范围从camera_DEFAULT、camera_BACK和camera_FRONT 要通过脚本访问摄像头,Vuforia已在本页中详细说明: Vuforia在其较新版本(8.x和新版本)中不推荐使用前置摄像头 您可以使用unity的旧版本

我正在尝试创建一个AR体验,它可以同时使用前后摄像头(如果可用)。我想在它们之间切换,就像使用默认相机应用程序一样

Vuforia框架是否支持前置摄像头,之前是否有人将Vuforia与其他人脸跟踪AR框架集成,体验如何?

在AR摄像头设置中,您会发现此选项的范围从camera_DEFAULT、camera_BACK和camera_FRONT

要通过脚本访问摄像头,Vuforia已在本页中详细说明:


Vuforia在其较新版本(8.x和新版本)中不推荐使用前置摄像头

您可以使用unity的旧版本强制使用vuforia 7.x

就我而言,我使用了Unity 2018.2.12,并在此处下载了vuforia 7:


vuforia版本8.1.7中不推荐使用它。是的,很遗憾,我使用的是v7.2.24。也许可以使用此选项访问该功能。如何将Vuforia版本安全降级到7.2.24,我当前使用的是8.1.7版本唯一的方法是卸载您正在使用的Unity的当前版本,然后在安装组件中选中Vuforia的情况下重新安装。这将安装vuforia的第7个版本。我的建议是在安装不同版本的Unity时始终使用Unity hub。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;

public class CameraController : MonoBehaviour
{
    private bool lightOn = false;
    private bool frontCamera = false;

    public void CameraChange()
    {
        if (!frontCamera)
        {
            RestartCamera(CameraDevice.CameraDirection.CAMERA_FRONT);
            frontCamera = true;
            Debug.Log("Using Front Camera");
        }
        else if (frontCamera)
        {
            RestartCamera(CameraDevice.CameraDirection.CAMERA_BACK);
            frontCamera = false;
            Debug.Log("Using Back Camera");
        }
        else
        {
            Debug.Log("No camera status available.");
        }
    }

    private void RestartCamera(CameraDevice.CameraDirection newDir)
    {
        CameraDevice.Instance.Stop();
        CameraDevice.Instance.Deinit();
        CameraDevice.Instance.Init(newDir);
        CameraDevice.Instance.Start();

        // Periodically check to see if still needed
        VuforiaUnity.OnPause();
        VuforiaUnity.OnResume();
    }
}