Unity调用外部摄像头

发表于2018-05-20
评论0 3.3k浏览
做项目的时候需要调用摄像头,其实调用摄像头的方法很简单,其中最常用到的方法是使用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();//开始摄像  
        }
    }
}

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引