Я работаю с Google VR SDK for Unity, пытаясь создать простой 360-видео-просмотрщик, используя компоненты, поставляемые с SDK. Я пытаюсь расширить PanoVideoSample для динамического изменения исходного видео, когда пользователь переходит из меню.Google VR SDK (Unity) - URL-адрес подкачки GvrVideoPlayerTexture
У меня возникли проблемы с изменением URL-адреса для GvrVideoPlayerTexture с помощью кода. На своей демонстрационной сцене (VideoDemo) у них есть PanoVideoSample, который содержит видеосферу, в которой вы можете редактировать сценарий GVRVideoPlayerTexture на панели инспектора, чтобы указать правильный URL-адрес видео.
Я хотел бы динамически установить URL-адрес видео на C#, а не жестко-кодировать кучу отдельных видеокадров, затем скрыть/показать их. Я почти получил эту работу со следующим кодом.
public void SwapVideo(int index){
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture>().videoURL = urls [index];// my new url
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture>().ReInitializeVideo();
videoSphere.SetActive (true);
}
public void ReturnToMainMenu(){
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture>().CleanupVideo();
videoSphere.SetActive (false);
this.gameObject.SetActive (true);
}
Код выше, кажется, работает, но проблема в том, текстура на VideoSphere белеет после того, как URL-адрес установлен, и текстура реинициализируется. Я вижу, что новое видео загружается, и я слышу звук для нового видео, но сцена просто показывает белую текстуру. See the output here
Я интересно, если я пропускаю ключевой шаг на GvrVideoPlayerTexture или, возможно, дополнительные вызовы для обновления StereoPanoSphereMaterial, который используется для визуализации сцены. Этот SDK довольно новый, и, похоже, не так много людей пишут об этом, поэтому любая помощь приветствуется.