AR场景制作的时候经常会有这种需求:拍照之后弹出分享界面,或者在用户使用过程中需要弹出其他界面。这时候如果Vuforia的识别依然在进行,就会影响用户的体验。接下来我们就以云识别为例,尝试在需要的时候暂停和继续用户的设备摄像头以及识别操作,需要的时候再开启摄像头,继续识别。
private void PauseTest()
{
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;//找到当前的云识别组件
cloudRecoBehaviour.CloudRecoEnabled = false;//禁用云识别,当前摄像头依然是活动的,仅可以识别当前的识别卡
CameraDevice.Instance.Stop();//停止当前的摄像头
//CameraDevice.Instance.Deinit();//将当前的摄像头禁用掉(反实例化),以便重新启用新的摄像头
}
private void CuntinueTest()
{
// CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_DEFAULT);//启用新的摄像头,实例化
CameraDevice.Instance.Start();//打开当前的摄像头
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;//找到当前的云识别组件
cloudRecoBehaviour.CloudRecoEnabled = true;//启用云识别
}
private void PauseTest()
{
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;//找到当前的云识别组件
cloudRecoBehaviour.CloudRecoEnabled = false;//禁用云识别,当前摄像头依然是活动的,仅可以识别当前的识别卡
CameraDevice.Instance.Stop();//停止当前的摄像头
//CameraDevice.Instance.Deinit();//将当前的摄像头禁用掉(反实例化),以便重新启用新的摄像头
}
private void CuntinueTest()
{
// CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_DEFAULT);//启用新的摄像头,实例化
CameraDevice.Instance.Start();//打开当前的摄像头
CloudRecoBehaviour cloudRecoBehaviour = GameObject.FindObjectOfType(typeof(CloudRecoBehaviour)) as CloudRecoBehaviour;//找到当前的云识别组件
cloudRecoBehaviour.CloudRecoEnabled = true;//启用云识别
}
本文介绍如何在增强现实(AR)应用中控制Vuforia识别过程的暂停与恢复,通过简单的方法实现用户体验的优化,包括暂停识别、停止摄像头及再次启动等功能。
1万+

被折叠的 条评论
为什么被折叠?



