Определить, включен ли экран HMD

Я создаю приложение, которое имеет дополнительную поддержку VR, я начал с того, что просто определил, обнаружен ли HMD, и, если да, включил необходимые кнопки в меню.

Затем я столкнулся с проблемой: когда приложение запускалось в режиме direct-to-rift, можно было использовать только камеру Oculus. Камера Unity по умолчанию просто показывает синий экран, это означает, что я не могу использовать ни одно из основных приложений в этом режиме.

Это привело меня к созданию простого меню VR, чтобы запустить часть VR, которая отображается только при использовании прямого режима.

Я сделал это с помощью

 OVRManager.display.isDirectMode
 OVRManager.display.isPresent

это прекрасно работает, когда используется прямой или расширенный режим, или когда рифт вообще не подключен. Но когда rift подключается в прямом режиме и приложение запускается с исполняемым файлом по умолчанию (а не с direct-to-rift). Он по-прежнему обнаруживает Rift и то, что он находится в прямом режиме, но я не мог найти способ проверить, действительно ли HMD включен, что означает, что меню VR активируется, когда этого не должно быть.

  • Есть ли способ узнать, действительно ли Unity использует трещину или включен ли дисплей?

  • Есть ли другие способы запустить в рифт, когда приложение уже запущено?

  • Есть ли способ узнать, какой исполняемый файл использовался для запуска приложения?


person Casper Kleintjes    schedule 11.05.2015    source источник


Ответы (1)


Не могу гарантировать, что это сработает для единства, но вы должны иметь возможность позвонить:

System.Environment.GetCommandLineArgs()

и получите имя исполняемого файла из первого аргумента, чтобы увидеть, какой был запускаемый исполняемый файл.

https://msdn.microsoft.com/en-us/library/system.environment.getcommandlineargs.aspx

person Mog    schedule 22.05.2015