首页 > 解决方案 > 带有虚拟相机的 WebCamTexture

问题描述

在 Unity 中,我使用的是 WebCamTexture(在此讨论:Display live camera feed in Unity

但似乎 WebCamTexture 只能检测物理网络摄像头,但是如何让它使用虚拟网络摄像头呢?

我想使用虚拟网络摄像头,例如 OBS ( https://obsproject.com/welcome ) 或任何其他“虚拟摄像头”视频流,如何为 WebCamTexture 选择它?

我试过但只检测到物理相机,我不知道如何检测虚拟相机。

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

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();

但它找不到“虚拟相机流”......

标签: unity3d

解决方案


使用虚拟相机执行此操作的机制称为 RenderTexture。您可以在编辑器中手动创建资产,而不是使用代码创建它,将其分配给相机并将其分配给材质


推荐阅读