我在使用三星 S6 的 GearVR 上使用 Unity (5.3.4p1) 时遇到了两个主要问题:
1)异步场景加载。有没有什么改变可以让我在后台加载新场景而不会看到小冻结?场景有大约 60k 的三角形,并使用了几个 4k 纹理和大约 10 个其他 2k 纹理。加载此场景时,会有多个短暂的冻结。我知道我可以通过淡出黑色然后开始加载级别来避免这种情况。但这需要大约 10 秒的时间,并且用户可能会在打开 VR 耳机的情况下长时间看到黑屏时感到困惑。
2) 从使用 WWW 类下载的图像创建纹理。我在另一个场景中使用显示在圆顶上的 360 4k 图像。当我尝试在运行时下载纹理(4k、PNG 或 JPG)时,它是异步完成的。但是当我使用 Unity 时,Unity 会冻结 2-3 秒:
Texture2D myTexture = www.texture;
除了使用下载的字节并在背景上使用非 Unity 算法解压缩 JPG 或 PNG,然后将创建的 rgb 值加载到新纹理之外,还有其他选择可以避免这种情况吗?在 Flickr VR 应用程序中可以看到平滑纹理加载的良好示例,但我怀疑他们使用 Unity 来创建这个应用程序。
这两个问题也出现在 Oculus Rift 上,但由于 PC 性能更好,所以不太明显。
一般来说,我希望使用 Unity 在 Gear VR 中实现流畅的加载体验。这有可能吗?