[置顶] unity调用外部摄像头

在unity中我们有时需要调用外部的摄像头,用来处理一系列的功能

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();//开始摄像  
        }
    }
}

你可能感兴趣的:(unity,摄像头)