c# – 在Unity中显示实时摄像头

我有一个关于Unity的问题.我希望以前没有回答过.
我想将相机(如高清摄像头)连接到我的电脑,视频输入应显示在Unity场景中.可以把它想象成一个虚拟电视屏幕,它可以实时显示相机所看到的内容.我怎样才能做到这一点?谷歌没有指出我正确的方向,但也许我只是无法正确查询;)

我希望你明白我的意思.

解决方法

是的,这当然是可能的,幸运的是Unity3D实际上支持它开箱即用.您可以使用 WebCamTexture查找网络摄像头并将其渲染为纹理.从那里,您可以选择在3D场景中的任何内容上渲染纹理,当然也包括虚拟电视屏幕.

它看起来很自我解释,但下面的代码应该让你开始.

列出并打印出它检测到的已连接设备:

var devices : WebCamDevice[] = WebCamTexture.devices;
for( var i = 0 ; i < devices.length ; i++ )
    Debug.Log(devices[i].name);

连接到连接的网络摄像头并将图像数据发送到纹理:

WebCamTexture webcam = WebCamTexture("NameOfDevice");
renderer.material.mainTexture = webcam;
webcam.Play();

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...