Vuforia SDK---- AR开发vuforia 相机前后摄像头动态切换功能实现

来源:互联网 发布:云计算开发需要学什么 编辑:程序博客网 时间:2024/04/30 04:46

在vuforia sdk中默认的是调用手机的后置摄像头,但是你可以通过ARCamera进行设置,设置成为前置摄像头,有时候在项目中需要用到前置摄像头,而且在群里也有很多人问过如何使用按钮进行动态的切换。

在ARCamera上的设置为

摄像头的切换控制为预制组件功能说明


如何实现动态控制呢,经测试,vuforia 3.x和vuforia 4.x都是可以使用,代码如下

using UnityEngine;using System.Collections;namespace Vuforia{    public class tes : MonoBehaviour    {        // Use this for initialization        void Start()        {        }        // Update is called once per frame        void Update()        {        }        void OnGUI()        {            if (GUI.Button(new Rect(50, 50, 200, 50), "Select Front Camera"))            {                // Stop tracker              //  TrackerManager.Instance.GetTracker<Tracker>().Stop();                // Stop and deinit camera                CameraDevice.Instance.Stop();                CameraDevice.Instance.Deinit();                // Reinit and restart camera, selecting front camera                CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_FRONT);                CameraDevice.Instance.Start();                // Restart tracker               // TrackerManager.Instance.GetTracker<Tracker>().Start();                //  TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Start();            }            if (GUI.Button(new Rect(50, 150, 200, 50), "Select Back Camera"))            {                // Stop tracker              //   TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Stop();               // TrackerManager.Instance.GetTracker<Tracker>().Stop();                // Stop and deinit camera                CameraDevice.Instance.Stop();                CameraDevice.Instance.Deinit();                // Reinit and restart camera, selecting back camera                CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_BACK);                CameraDevice.Instance.Start();                // Restart tracker                //  TrackerManager.Instance.GetTracker(Tracker.Type.IMAGE_TRACKER).Start();               // TrackerManager.Instance.GetTracker<Tracker>().Start();            }        }    }}
 ARVR技术交流群129340649,欢迎加入,一起讨论学习!

0 0