Я создал опыт виртуальной реальности в Unreal Engine, и в мире виртуальной реальности есть кнопка, которая может открыть внешний exe, что также является опытом виртуальной реальности. Это как комната меню VR (приложение Unreal) и мини-игра VR (не создана Unreal и является внешним exe). Когда вы играете в мини-игру, меню Unreal VR по-прежнему открыто сзади.
Я пробовал разные способы открыть внешний exe, например:
FPlatformProcess::CreateProc
FMonitoredProcess
FInteractiveProcess
Все они могут успешно запустить внешний exe-файл, но проблема в том, что когда внешний exe-файл воспроизводится и закрывается, приложение меню Unreal VR теряет отслеживание зрения Oculus. Эта проблема возникает, только если внешний exe-приложение является приложением VR. Я попытался запустить обычный exe-файл, такой как браузер, и нет проблем с отслеживанием ошибок при переходе на «Alt Tab» для возврата к приложению Unreal VR.
Вот что я получил из выходного журнала:
LogHMD: приобретено отслеживание видения
LogHMD: отслеживание потерянного зрения
Это ошибка Unreal? Есть ли способ, который может позволить Oculus повторно отслеживаться Unreal после запуска внешнего VR exe?
Большое спасибо!
Драйверы Oculus должны обрабатывать только один процесс за раз, поэтому всякий раз, когда запускается это новое приложение, Unreal должен отказаться от своего подключения к службе, потому что кто-то еще запрашивает HMD для рендеринга этих кадров VR. Как выделенный вывод, оба приложения, выдающие кадры одновременно, не могут быть хорошей вещью.
Что касается вашего контекста, я предлагаю вам попробовать вызвать "Stereo On"
Консольная команда для повторного включения HMD, хотя вы также можете попробовать использовать Oculus "HMD Enable"
Команда перед рукой.
Личная забота: сохранение этого меню в фоновом режиме также должно потреблять ресурсы, а в VR это проблема оптимизации, которую вам, возможно, придется в конечном итоге решить.
Других решений пока нет …