我正在开发一个 webVR 视频播放器。 HTML 视频元素使用 ThreeJS 和映射到平面的 VideoTexture 在常规 3D 视图中加载和播放。它适用于 Chrome 和 Safari。
现在我通过添加按钮并启动 VR 会话添加了 webVR 模式。它在 Chrome 上运行良好,并使用 Chrome 的 WebXR 插件。 “工作正常”是指当我进入 VR 模式并退出 VR 并再次进入时,视频会继续播放。一切都好。
在 Apple Vision Pro 模拟器上,它在 Safari 的 3D 模式下运行良好。然而,一旦我进入 VR 模式(当确认弹出窗口出现时),视频就会停止更新映射的纹理。它仍然沿着时间线继续前进,但声音和视频纹理的更新在 VR 模式下停止。一旦我再次关闭 VR 模式,视频就会再次播放,从打开 VR 到现在的时间继续播放。 我希望这是有道理的。这是一个更大项目的一部分,但我正在努力分享一个示例。
演示视频在这里:https://youtu.be/ZNnadIutLsc
在这里遇到同样的问题。 我可以在 ThreeJS 场景中创建 3D 环境,配置 xr 控制器,并且当我在 Apple Vision Pro 模拟器上进入 VR 模式时,我仍然可以在场景中导航。 添加更多细节:在场景中使用视频播放器时,在 2D 窗口模式下播放效果良好;但一旦我进入 VR 模式,窗口就会冻结在最后渲染的帧上(它不会全黑)。如果我在 VR 模式下旋转或导航,渲染的图像仍然冻结,但如果我退出 VR 模式,则在 VR 中应用的导航已执行,并且渲染(和播放)再次开始工作。