Unity 3d UI獲取外部攝像頭拍攝
Unity 3d UI獲取外部攝像頭拍攝
3D環境下呼叫外部攝像頭的方法網路上有很多,在此不過多說,本方法是在2D環境下利用UI來呼叫外部攝像頭進行拍攝,總體而言,兩種環境下所用到的核心方法是一樣的。
1、建立一個RawImagin,並命名為CameraPlay
2、建立一個指令碼,命名為PlaneManager,將指令碼隨便掛在一個物體上。指令碼中的public RawImage rawImage;要記得在Inspector皮膚中把CameraPlay添上去
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class PlaneManager : MonoBehaviour
{
public string DeviceName;
//public Vector2 CameraSize;
public float CameraFPS;
//接收返回的圖片資料
WebCamTexture _webCamera;
//public GameObject Plane;//作為顯示攝像頭的皮膚
public RawImage rawImage;
void OnGUI()
{
if (GUI.Button(new Rect(100, 100, 100, 100), "Initialize Camera"))
{
StartCoroutine("InitCameraCor");
}
//新增一個按鈕來控制攝像機的開和關
if (GUI.Button(new Rect(100, 250, 100, 100), "ON/OFF"))
{
if (_webCamera != null && rawImage != null)
{
if (_webCamera.isPlaying)
StopCamera();
else
PlayCamera();
}
}
if (GUI.Button(new Rect(100, 450, 100, 100), "Quit"))
{
Application.Quit();
}
}
public void PlayCamera()
{
//Plane.GetComponent<MeshRenderer>().enabled = true;
rawImage.enabled = true;
_webCamera.Play();
}
public void StopCamera()
{
// Plane.GetComponent<MeshRenderer>().enabled = false;
rawImage.enabled = false;
_webCamera.Stop();
}
/// <summary>
/// 初始化攝像頭
/// </summary>
public IEnumerator InitCameraCor()
{
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{
WebCamDevice[] devices = WebCamTexture.devices;
DeviceName = devices[0].name;
_webCamera = new WebCamTexture(DeviceName, 1920, 1080, 60);
rawImage.texture = _webCamera;
//Plane.GetComponent<Renderer>().material.mainTexture = _webCamera;
//Plane.transform.localScale = new Vector3(1, 1, 1);
_webCamera.Play();
//前置後置攝像頭需要旋轉一定角度,否則畫面是不正確的,必須置於Play()函式後
rawImage.rectTransform.localEulerAngles = new Vector3(0, 0,_webCamera.videoRotationAngle+360);
}
}
}
3、執行結果
相關文章
- 《OpenCV設定和獲取攝像頭引數》OpenCV
- WebRTC從攝像頭獲取圖片傳入canvasWebCanvas
- 想用手機拍攝虛擬現實影片? 看看Teleport智慧攝像頭
- 攝像頭操作指南
- AndroidCamera2拍照(三)——切換攝像頭,延時拍攝和閃光模式Android模式
- ToDesk勾上攝像頭會看到我嗎?如何關閉攝像頭
- Python基於opencv呼叫攝像頭獲取個人圖片PythonOpenCV
- Nebulosity 4 for Mac(攝像頭影像捕獲工具)Mac
- unity3d--攝像機Unity3D
- unity3d攝像機Unity3D
- FFmpeg讀取Mac攝像頭的問題Mac
- blender 3D 建模模擬攝像頭視角3D
- 安卓呼叫攝像頭拍照安卓
- Android呼叫攝像頭Android
- .NET 攝像頭採集
- Win10攝像頭如何開啟_WIN10攝像頭在哪裡Win10
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- 攝像頭不能用怎麼辦 攝像頭不能用解決辦法
- 攝像頭黑屏怎麼辦 各種攝像頭不能用的解決方法
- 某CCTV攝像頭漏洞分析
- android opencv 前置攝像頭AndroidOpenCV
- Android呼叫攝像頭拍照Android
- android 開啟攝像頭Android
- jQuery webcam plugin呼叫攝像頭jQueryWebPlugin
- 人工智慧"眼睛"——攝像頭人工智慧
- WebRTC開啟本地攝像頭Web
- 修正Android攝像頭APIAndroidAPI
- Android 呼叫攝像頭拍照Android
- Android如何呼叫攝像頭Android
- 筆記本攝像頭怎麼開啟 筆記本設定攝像頭教程筆記
- 簡單介紹C#獲取攝像頭拍照顯示影像的方法C#
- win10 怎麼檢測攝像頭_win10怎麼設定攝像頭Win10
- Win10怎麼開啟攝像頭 win10開啟攝像頭的方法Win10
- opencv python 從攝像頭獲取視訊/從檔案獲取視訊 /儲存視訊OpenCVPython
- Android提供的攝像頭拍照Android
- 如何使用PYTHON操作攝像頭Python
- html5呼叫攝像頭功能HTML
- Maui Blazor 使用攝像頭實現UIBlazor