Unity调用外部摄像头
发表于2018-05-20
做项目的时候需要调用摄像头,其实调用摄像头的方法很简单,其中最常用到的方法是使用GUI来实现。
代码如下:
using UnityEngine; using System.Collections; using System.Threading; public class BtnController : MonoBehaviour { public WebCamTexture webTex; public string deviceName; void Start() { } void Update() { } //绘制按钮 void OnGUI() { //开始按钮 if (GUI.Button(new Rect(0, 10, 100, 30), "click")) { //调用启动那个协程,开启摄像头 StartCoroutine(CallCamera()); } //重启开始 if (GUI.Button(new Rect(0, 80, 100, 30), "restart")) { webTex.Play(); } //绘制摄像头的显示区域以及大小 if (webTex != null) GUI.DrawTexture(new Rect(110, 0, 1000, 600), webTex); } /// ///调用摄像头 /// IEnumerator CallCamera() { yield return Application.RequestUserAuthorization(UserAuthorization.WebCam); if (Application.HasUserAuthorization(UserAuthorization.WebCam)) { WebCamDevice[] devices = WebCamTexture.devices; deviceName = devices[0].name; //设置摄像机摄像的区域 webTex = new WebCamTexture(deviceName, 10, 10, 10); webTex.Play();//开始摄像 } } }