zoukankan      html  css  js  c++  java
  • Unity调用外部摄像头,全屏显示摄像头画面

    有两种方法,常用的是GUI方法,代码如下:

    public class CameraTest : MonoBehaviour {
    
        WebCamTexture camTexture;
    
        void Start () {
            StartCoroutine(CallCamera());
        }
    
        IEnumerator CallCamera()
        {
            yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
            if (Application.HasUserAuthorization(UserAuthorization.WebCam))
            {
                if (camTexture != null)
                    camTexture.Stop();
    
                WebCamDevice[] cameraDevices = WebCamTexture.devices;
    
                string deviceName = cameraDevices[0].name;
                Debug.Log(deviceName);
    
                camTexture = new WebCamTexture(deviceName);
                camTexture.Play();
            }
        }
    
    
        void OnGUI()
        {
            if(camTexture!=null)
            {
                GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), camTexture, ScaleMode.StretchToFill);
           }
        }
    }
    

      

    GUI已经被抛弃,效率,DrawCall,适配等各种差,现使用UGUI实现:

    public class CameraTest : MonoBehaviour {
    
        WebCamTexture camTexture;
    
        Image img;
    
        public GameObject quad;
    
        void Start () {
            img = GetComponentInChildren<Image>();
            StartCoroutine(CallCamera());
        }
    
        IEnumerator CallCamera()
        {
            yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
            if (Application.HasUserAuthorization(UserAuthorization.WebCam))
            {
                if (camTexture != null)
                    camTexture.Stop();
    
                WebCamDevice[] cameraDevices = WebCamTexture.devices;
    
                string deviceName = cameraDevices[0].name;
                Debug.Log(deviceName);
    
                camTexture = new WebCamTexture(deviceName);
                img.canvasRenderer.SetTexture(camTexture); //注意改行代码
                camTexture.Play();
            }
        }
    
    }
    

      

  • 相关阅读:
    Java OCR tesseract 图像智能字符识别技术
    模板
    模板
    奇怪的haproxy 跳转
    奇怪的haproxy 跳转
    tomcat path配置
    tomcat path配置
    Mongodb 安装迁移
    image.xx.com 通过haproxy 跳转到内部图片服务器
    mysqldump 利用rr隔离实现一致性备份
  • 原文地址:https://www.cnblogs.com/scotly/p/5282606.html
Copyright © 2011-2022 走看看