Unity WebGL не работает текстура веб-камеры - PullRequest
0 голосов
/ 10 октября 2018

У меня есть базовое приложение 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.Он запрашивает разрешение на использование веб-камеры, а затем включается зеленый индикатор рядом с камерой моего ноутбука, но я вижу только черный экран.Тем не менее, был один раз, когда я думаю, что я обновился дважды или около того, появилась веб-камера.Я не смог воспроизвести его после этого.

Буду признателен за любую помощь здесь.Спасибо.

1 Ответ

0 голосов
/ 14 октября 2018

Получил, что проблема решена.Проблема заключалась в том, что автовоспроизведение запрещено в приложениях Webgl (по крайней мере, в Chrome).Поэтому все, что мне нужно было сделать, это попросить пользователя нажать на экран перед запуском веб-камеры.Исправлено.

...