我有一个关于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();