C# 在Unity3d中的web摄影机之间切换

C# 在Unity3d中的web摄影机之间切换,c#,unity3d,C#,Unity3d,我正在尝试构建一个应用程序,用户可以在连接的网络摄像机之间切换。启动时,应加载工作正常的默认网络摄像头。之后,用户可以选择在摄像机之间切换。当我尝试这样做时,当我第二次调用另一个摄像头时,我试图将网络摄像头纹理投影到的四边形会变成黑色。我已附加debug.log以查看是否检测到相机,相机是否正在检测。谁能告诉我哪里出了错。下面是调用web camera 2的代码 public void camTwo() { WebCamDevice[] cam_devices = Web

我正在尝试构建一个应用程序,用户可以在连接的网络摄像机之间切换。启动时,应加载工作正常的默认网络摄像头。之后,用户可以选择在摄像机之间切换。当我尝试这样做时,当我第二次调用另一个摄像头时,我试图将网络摄像头纹理投影到的四边形会变成黑色。我已附加debug.log以查看是否检测到相机,相机是否正在检测。谁能告诉我哪里出了错。下面是调用web camera 2的代码

public void camTwo()
    {
        WebCamDevice[] cam_devices = WebCamTexture.devices;
        WebCamTexture webcamTexture = new WebCamTexture(cam_devices[1].name);
        webcamTexture.Stop();
        if (webcamTexture == null)
        {
            Debug.LogError("web cam not found");
        }
        else
          {
            Debug.Log("camera found");
          }
        Renderer renderer = e.GetComponent<Renderer>();
        renderer.material.mainTexture = webcamTexture;
        webcamTexture.Play();
    }
public void camtoo()
{
WebCamDevice[]cam_devices=WebCamTexture.devices;
WebCamTexture WebCamTexture=新的WebCamTexture(cam_设备[1]。名称);
webcamTexture.Stop();
如果(webcamTexture==null)
{
Debug.LogError(“未找到网络摄像头”);
}
其他的
{
Debug.Log(“找到摄影机”);
}
渲染器=e.GetComponent();
renderer.material.mainTexture=webcamTexture;
webcamTexture.Play();
}

如果纹理上的材质设置为黑色,则纹理有时可能为黑色。还有,你的场景中有灯光吗?如果纹理位于3D对象(如平面或立方体)上,则需要光源才能看到它。与其以编程方式创建webCamTexture,不如在GUI中手动创建要将摄像头输送到的纹理,并使用该纹理显示WebCam(更容易查看其属性并编辑它们)。

我可以知道为什么该问题被降级吗。你能告诉我还需要什么样的细节吗?请使用正确的标签
unityscript
是早期Unity版本中使用的一种类似JavaScript风格的自定义语言,现在已经被长期弃用了!您的脚本显然是
c#