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);
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM