• 大小: 1KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: unity3d  

资源简介

在unity3d里可以打开usb连接的外置摄像头
在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头在unity3d里可以打开usb连接的外置摄像头

资源截图

代码片段和文件信息

using UnityEngine;
using System.Collections;

public class CamController : MonoBehaviour {
public string deviceName;
WebCamTexture tex;//接收返回的图片数据

/// 实现IEnumerator接口,这里使用了一个协程,相当于多线程。
/// 这里是调用摄像头的方法。
IEnumerator test()
{
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);//授权
if (Application.HasUserAuthorization(UserAuthorization.WebCam))
{
WebCamDevice[] devices = WebCamTexture.devices;
deviceName = devices[0].name;
//设置摄像机摄像的区域
tex = new WebCamTexture(deviceName 400 300 12);
tex.Play();//开始摄像
}
}

//这段代码就是Unity调用摄像头的方法,图片数据就保存在tex中。
//下面看这段怎么使用上面的那段代码。

void OnGUI()
{
//开始按钮
if (GUI.Button(new Rect(0 0 150 150) “open“))
{
//调用启动那个协程,开启摄像头
StartCoroutine(test());
}

//暂停
if(GUI.Button(new Rect(020010030)“pause“))
{
tex.Pause();
//这个方法就是保存图片
StartCoroutine(getTexture2d());
}

//重启开始
if (GUI.Button(new Rect(0 300 100 30) “restart“))
{
tex.Play();
}

/*if (GUI.Button(new Rect(100 0 100 30) “摄像“))
{
//开始摄像,摄像就是一系列的图片集合
//StartCoroutine(getTexture2dshexiang());
}*/

if(tex!=null)
GUI.DrawTexture(new Rect(200 200 200 180) tex);
}

//保存图片是一个难点,找了半天,才发现这个方法来实现
/// 获取摄像头截取的图片,这里也是一个协程

IEnumerator getTexture2d()
{
yield return new WaitForEndOfframe();
Texture2D t = new Texture2D(200 180);//要保存图片的大小
//截取的区域
t.ReadPixels(new Rect(200 320 200 180) 0 0 false);
t.Apply();
//把图片数据转换为byte数组
byte[] byt = t.EncodeToPNG();
//然后保存为图片
System.IO.File.WriteAllBytes(Application.dataPath + “/shexiang/“ + Time.time + “.jpg“ byt);
//File.WriteAllBytes(Application.dataPath + “/shexiang/“ + Time.time + “.jpg“ byt);
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2291  2015-08-27 11:25  CamController.cs

评论

共有 条评论