Работа над гибридным приложением Unity VR (картон) / 2D. Картонная сторона хорошо работает. У меня проблемы с переключением 2D / VR.
Когда я нахожусь в режиме 2D, прицельная сетка не перемещается, хотя касания экрана регистрируются. Так что приложение, похоже, не знает о гироскопе.
Я чувствую, что мне здесь не хватает чего-то фундаментального. У меня есть префаб GvrEventSystem, в котором есть компоненты EventSystem и GvrPointerInputModule.
Что за очевидная вещь я пропускаю?
ETA:
Меня попросили добавить соответствующие код. Вот код для переключения 2D-VR на лету. Этот код выполняется без ошибок, и приложение переключается между режимами VR и 2D каждые 3 секунды:
readonly string NONE_STRING = "";
readonly string CARDBOARD_STRING = "cardboard";
void Start()
{
Invoke("GoPhone", 3.0f);
}
void GoPhone()
{
SetVREnabled(false);
Invoke("GoVR", 3.0f);
}
void GoVR()
{
SetVREnabled(true);
Invoke("GoPhone", 3.0f);
}
void SetVREnabled(bool isEnabled)
{
if (isEnabled)
{
StartCoroutine(LoadDevice(CARDBOARD_STRING));
}
else
{
StartCoroutine(LoadDevice(NONE_STRING));
}
}
IEnumerator LoadDevice(string newDevice)
{
if (String.Compare(XRSettings.loadedDeviceName, newDevice, true) != 0)
{
XRSettings.LoadDeviceByName(newDevice);
yield return null;
if (!XRSettings.loadedDeviceName.Equals(NONE_STRING))
XRSettings.enabled = true;
}
}
Хотя я чувствую, что моя проблема - проблема конфигурации, а не проблема кода. В редакторе, который не поддерживает режим VR, приложение ведет себя в режиме 2D, как и ожидалось.
Также ETA:
JI C