Unity WebGL构建网络摄像头纹理不起作用

时间:2018-10-10 09:34:06

标签: unity3d webcam unity-webgl

我有一个带有Unity3D 2017的基本webgl应用程序,其中我使用摄像头纹理在屏幕上显示了摄像头提要。这是我用来请求网络摄像头许可的代码:

yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
    if (Application.HasUserAuthorization(UserAuthorization.WebCam))
    {
        Debug.Log("webcam found");
        startWebCam ();
    }
    else
    {
        Debug.Log("webcam not found");
    }

这是在用户看到的飞机上渲染网络摄像头的代码。

void startWebCam() {
    WebCamDevice device = WebCamTexture.devices[0];

    cam_texture = new WebCamTexture (device.name);
    camera_renderer.material.mainTexture = cam_texture;
    cam_texture.Play ();
}

它在编辑器中工作正常,但是当我导出webgl版本时不起作用。它确实要求使用网络摄像头的许可,然后我的笔记本电脑摄像头旁边的绿灯亮起,但我只能看到黑屏。但是,这是我想刷新两次或类似的时间,出现了网络摄像头提要。此后,我无法重现它。

在此感谢您的任何帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

解决了该问题。问题是Webgl应用程序(至少在chrome上)禁止自动播放。因此,我要做的就是要求用户在启动网络摄像头之前点击屏幕。固定。