У меня есть две основные проблемы с Unity (5.3.4p1) на GearVR с Samsung S6:
1) Асинхронная загрузка сцены. Есть ли какое-либо изменение, позволяющее загрузить новую сцену в фоновом режиме, не видя небольших зависаний? Сцена имеет ~60k треугольников и использует пару текстур 4k и ~10 других текстур 2k. Когда эта сцена загружается, происходит несколько коротких замираний. Я знаю, что могу избежать этого, затухая до черного цвета, а затем запуская уровень загрузки. Но это занимает ~ 10 секунд, и пользователь может быть сбит с толку, видя черный экран в течение такого длительного времени с включенной гарнитурой VR.
2) Создание текстур из изображений, загруженных с помощью класса WWW. Я использую изображение 360 4k, отображаемое на куполе в другой сцене. Когда я пытаюсь загрузить текстуру (4k, PNG или JPG) во время выполнения, это делается асинхронно. Но Unity зависает на 2-3 секунды, когда я использую:
Texture2D myTexture = www.texture;
Есть ли какой-либо способ избежать этого, кроме использования загруженных байтов и распаковки JPG или PNG с использованием алгоритма, отличного от Unity, на фоне, а затем загрузки созданных значений rgb в новую текстуру? Хороший пример плавной загрузки текстур можно увидеть в приложении Flickr VR, но я сомневаюсь, что они использовали Unity для создания этого приложения.
Эти две проблемы возникают и на Oculus Rift, но они менее заметны из-за более высокой производительности ПК.
Как правило, я хочу добиться плавной загрузки в Gear VR с помощью Unity. Это как-то возможно?