Unity WebGL 构建网络摄像头纹理不起作用
Unity WebGL build Webcam texture not working
我有基本的 webgl 应用程序和 Unity3D 2017,其中我使用网络摄像头纹理在屏幕上显示网络摄像头提要。这是我用来请求网络摄像头权限的代码:
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 构建时不起作用。它确实请求使用网络摄像头的许可,然后我的笔记本电脑摄像头旁边的绿灯亮起,但我只能看到黑屏。然而,有一次当我想我刷新了两次或什么的时候,网络摄像头出现了。之后我一直无法重现它。
如有任何帮助,我们将不胜感激。谢谢
问题已解决。问题是 Webgl 应用程序禁止自动播放(至少在 chrome 上)。所以我所要做的就是要求用户在启动网络摄像头之前点击屏幕。固定。
我有基本的 webgl 应用程序和 Unity3D 2017,其中我使用网络摄像头纹理在屏幕上显示网络摄像头提要。这是我用来请求网络摄像头权限的代码:
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 构建时不起作用。它确实请求使用网络摄像头的许可,然后我的笔记本电脑摄像头旁边的绿灯亮起,但我只能看到黑屏。然而,有一次当我想我刷新了两次或什么的时候,网络摄像头出现了。之后我一直无法重现它。
如有任何帮助,我们将不胜感激。谢谢
问题已解决。问题是 Webgl 应用程序禁止自动播放(至少在 chrome 上)。所以我所要做的就是要求用户在启动网络摄像头之前点击屏幕。固定。