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、執行結果
相關文章
- WebRTC從攝像頭獲取圖片傳入canvasWebCanvas
- AndroidCamera2拍照(三)——切換攝像頭,延時拍攝和閃光模式Android模式
- Python基於opencv呼叫攝像頭獲取個人圖片PythonOpenCV
- 攝像頭操作指南
- 【音影片】攝像頭
- ToDesk勾上攝像頭會看到我嗎?如何關閉攝像頭
- Nebulosity 4 for Mac(攝像頭影像捕獲工具)Mac
- blender 3D 建模模擬攝像頭視角3D
- android 開啟攝像頭Android
- android opencv 前置攝像頭AndroidOpenCV
- Android呼叫攝像頭拍照Android
- .NET 攝像頭採集
- Win10攝像頭如何開啟_WIN10攝像頭在哪裡Win10
- 搭建一個攝像頭應用程式 應用程式內部攝像頭
- opencv python 從攝像頭獲取視訊/從檔案獲取視訊 /儲存視訊OpenCVPython
- jQuery webcam plugin呼叫攝像頭jQueryWebPlugin
- 如何使用PYTHON操作攝像頭Python
- Android提供的攝像頭拍照Android
- 某CCTV攝像頭漏洞分析
- 安卓呼叫攝像頭拍照安卓
- 大華攝像頭 ZLMediaKit JavaJava
- WebRTC開啟本地攝像頭Web
- 人工智慧"眼睛"——攝像頭人工智慧
- 簡單介紹C#獲取攝像頭拍照顯示影像的方法C#
- 筆記本攝像頭怎麼開啟 筆記本設定攝像頭教程筆記
- win10 怎麼檢測攝像頭_win10怎麼設定攝像頭Win10
- html5呼叫攝像頭功能HTML
- [譯]Android的多攝像頭支援Android
- [譯] Android 的多攝像頭支援Android
- 樹莓派攝像頭預覽樹莓派
- shodan秒破網路攝像頭
- 教你如何利用python呼叫攝像頭Python
- UVC攝像頭按鍵拍照功能
- 滑坡監測識別攝像頭
- 人員跌倒檢測攝像頭
- HTML5如何呼叫攝像頭?HTML
- 高空拋物智慧抓拍攝像頭
- Maui Blazor 使用攝像頭實現UIBlazor