枫叶飘零
论坛版主
论坛版主
  • UID15
  • 粉丝0
  • 关注0
  • 发帖数27
阅读:3403回复:6

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

楼主#
更多 发布于:2015-08-10 10:56
相机前后摄像头动态切换功能实现
在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,欢迎加入,一起讨论学习!

欢迎分享

归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
沙发#
发布于:2015-08-10 16:50
把原文弄来吧,这样。。。
AR学院(www.arvrschool.com),从这里感触未来!
jeffkang
新手
新手
  • UID954
  • 粉丝0
  • 关注0
  • 发帖数7
板凳#
发布于:2016-03-09 13:57
归海大大,工程导出到web端是不是不能调用摄像头啊?
jeffkang
新手
新手
  • UID954
  • 粉丝0
  • 关注0
  • 发帖数7
地板#
发布于:2016-03-09 13:57
归海一啸:把原文弄来吧,这样。。。回到原帖
归海大大,工程导出到web端是不是不能调用摄像头啊?
归海一啸
管理员
管理员
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 喜欢达人
  • 原创写手
4楼#
发布于:2016-03-09 16:58
jeffkang:归海大大,工程导出到web端是不是不能调用摄像头啊?回到原帖
没试过,不过应该是调用不了的。
AR学院(www.arvrschool.com),从这里感触未来!
jeffkang
新手
新手
  • UID954
  • 粉丝0
  • 关注0
  • 发帖数7
5楼#
发布于:2016-03-10 10:38
归海一啸:没试过,不过应该是调用不了的。回到原帖
谢谢,是有想放到微信的想法才试试的,不行的话就算了
相思树底说相思
新手
新手
  • UID2072
  • 粉丝0
  • 关注0
  • 发帖数13
6楼#
发布于:2016-07-25 15:43
你好,我问下,这个脚本是挂在VB上的还是挂在ARCamera上的啊?
游客

返回顶部