Unity3D AR 相机对焦 、相机的前后切换、闪光灯的开启关闭

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;
public class CameraSetting : MonoBehaviour
{
private bool isCameraBack = true;
private bool isFlashTourch = false;
void Start()
{
var vuforia = VuforiaARController.Instance;

//回调函数  
vuforia.RegisterVuforiaStartedCallback(OnStartedEvent);
vuforia.RegisterOnPauseCallback(OnPausedEvent);
}
//程序启动设置对焦模式(自动持续对焦)
private void OnStartedEvent()
{
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_CONTINUOUSAUTO);
}
//程序暂停或者重新启动执行
private void OnPausedEvent(bool isPause)
{

}
//点击按钮对焦
public void OnFocusModeClick()
{
CameraDevice.Instance.SetFocusMode(CameraDevice.FocusMode.FOCUS_MODE_TRIGGERAUTO);
}
//切换摄像头
public void OnSwitchCameraDirection() {
//关闭摄像头
CameraDevice.Instance.Stop();
//取消实例化
CameraDevice.Instance.Deinit();
if (isCameraBack)
{
//实例化摄像头 后置摄像头  //经测试此方法不适用Vuforial  8.1.7及以上版本
CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_BACK);
}
else
{
//实例化摄像头 前置摄像头  //经测试此方法不适用Vuforial  8.1.7及以上版本
CameraDevice.Instance.Init(CameraDevice.CameraDirection.CAMERA_FRONT);
}
//打开摄像头
CameraDevice.Instance.Start();
}
//打开关闭闪光灯
public void OnFlashTourch()
{
isFlashTourch = !isFlashTourch;
CameraDevice.Instance.SetFlashTorchMode(isFlashTourch);
}
}

猜你喜欢

转载自www.cnblogs.com/Damon-3707/p/12060012.html
今日推荐