我正在使用Google VR SDK for Unity尝试使用SDK附带的组件构建一个简单的360视频查看器。我尝试扩展他们的PanoVideoSample,以便在用户从菜单导航时动态更改源视频。
我无法通过代码更改GvrVideoPlayerTexture的网址。在他们的演示场景(VideoDemo)中,他们有一个包含视频球的PanoVideoSample,您可以在检查器面板中编辑GVRVideoPlayerTexture脚本以指向正确的视频URL。
我想在C#中动态设置视频网址,而不是硬编码一堆单独的视频领域,然后隐藏/显示它们。我几乎可以使用以下代码。
char
上面的代码似乎有效,但问题是在设置url并重新初始化纹理后,videoSphere上的纹理变为白色。我可以看到新视频加载,我可以听到新视频的音频,但场景只显示白色纹理。 See the output here
我想知道我是否错过了GvrVideoPlayerTexture上的关键步骤,或者是否有其他调用来更新用于渲染场景的StereoPanoSphereMaterial。这个SDK很新,似乎没有人写这篇文章,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
我最终在Google VR文档(Streaming Video Support)的文档中找到了我的问题的答案。 我第一次尝试时仍然不完全清楚我做错了什么,但这是对我有用的代码。
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().videoURL = urls [index];
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().videoType = GvrVideoPlayerTexture.VideoType.Other;
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().videoProviderId = string.Empty;
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().videoContentID = string.Empty;
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().CleanupVideo ();
videoSphere.GetComponentInChildren<GvrVideoPlayerTexture> ().ReInitializeVideo ();