Как настроить OSVR HDK на OSX 10.11.5 El Capitan

Как не геймер, я просто хочу играть с VR и испытать это. OSVR, кажется, один дешевый вариант для меня по сравнению с Oculus и Hive.

Я получил HDK на прошлой неделе, очень взволнованный и хотел протестировать его на своем Mac Book Pro (OSX 10.11.5 El Capitan / 2,7 ГГц i7 / 16 ГБ DDR3 / nVidia GeForce GT 650M 1024 МБ).

Сначала я установил osvrcore в https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/Installing/osx.md, используя опцию homebrew

$ brew tap OSVR/osvr
$ brew install osvr-core --HEAD

Я действительно должен был вручную установить opencv, используя homebrew.

Затем я подключил все кабели и подключил HMD и камеру к моему Mac. Видел, что мой экран расширен до экрана HMD, но повернут на 90 градусов. Согласно https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/HDK/HDK-Unboxing-and-Getting-Started.md:

Скорее всего, по умолчанию он будет отображаться как "портретный" 1080x1920. Это режим с максимальной производительностью. Однако в настоящее время большинство приложений не работают с ним в этом режиме, поэтому вместо этого вам нужно выбрать разрешение 1920x1080. (Это не означает, что вам нужно изменить настройку "Поворот" - просто выберите альтернативное разрешение, и HMD выполнит вращение внутри.)

Однако вышеописанное не сработало для меня, после установки разрешения на 1920x1080 дисплей на HMD просто испортился. Поэтому я следовал http://www.osvr.org/forum/viewtopic.php?f=10&t=3572&p=4272&hilit=osx и только что сделал поворот экрана, тогда я вижу, что расширенный экран отображается нормально на HMD.

С тех пор я застрял. Согласно https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/HDK/HDK-Unboxing-and-Getting-Started.md:

Конфигурация по умолчанию должна работать для пользователей HDK 1.3/1.4 с системами, поддерживающими прямой режим, но есть и другие варианты конфигурации. Кроме того, для самого HMD есть инструмент конфигурации, который позволяет вам настраивать вещи дальше.

И похоже, что файл конфигурации по умолчанию просто пуст:

/* The default config file, as used with the HDK, is fully auto-detected, so no configuration required. */
/* See the JSON-Schema for server config or other samples to see possible options. */
{
    "description": "The default config file, as used with the HDK, is fully auto-detected, so no configuration required. See the JSON-Schema for server config or other samples to see possible options."
}

Во всяком случае, я пошел вперед и запустил его:

$ pwd
/usr/local/Cellar/osvr-core/HEAD/share/osvrcore

$ osvr_server osvr_server_config.json
[OSVR Server] Using config file 'osvr_server_config.json'
[OSVR Server] Constructing server as configured...
[OSVR Server] Loading auto-loadable plugins...
[OSVR Server] Loading plugins...
[OSVR Server] 
[OSVR Server] Instantiating configured drivers...
[OSVR Server] 
[OSVR Server] Using OSVR HDK for display configuration. Did not find an alternate valid 'display' object in config file.
[OSVR Server] Triggering automatic hardware detection...
[OSVR Server] Registering shutdown handler...
[OSVR Server] Starting server mainloop: OSVR Server is ready to go!
[OSVR] Performing hardware auto-detection.
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKit0
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0
[OSVR] Path tree updated or connection detected
[OSVR] Sending path tree to clients.

Затем я следовал за http://hapticmonkey.weebly.com/blog/installing-osvr-on-yosemite-mac-os чтобы установить OSVRTrackerView, и запустил OSVRTrackerView в отдельном окне. Я видел красные / синие / зеленые стрелки в окне моего экрана Mac, и эти стрелки вращались, когда я поворачивал HMD. Но это все. Я не могу видеть это на моем экране HMD.

Вот вывод с osvr-сервера

[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKit0
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0
[OSVR] Path tree updated or connection detected
[OSVR] Sending path tree to clients.
vrpn: Connection request received from 127.0.0.1: 127.0.0.1 65307
[OSVR] Performing hardware auto-detection.
[OSVR] Path tree updated or connection detected
[OSVR] Sending path tree to clients.
vrpn: Connection request received from 127.0.0.1: 127.0.0.1 65309[/code]

А вот вывод с консоли TrackerView:

$ /usr/local/Cellar/osvr-tracker-viewer/HEAD/OSVRTrackerView
[OSVR] Connecting to default (local) host
[OSVR] Client context initialized for org.osvr.trackerview
[OSVR] Got connection to main OSVR server
[OSVR] Got updated path tree, processing
[OSVR] Connected 0 of 0 unconnected paths successfully
[OSVR] Connection process took 10ms: have connection to server, have path tree

[TrackerViewer] No arguments passed: default is as if you passed the following:
 --pose /me/hands/left --pose /me/hands/right --pose /me/head

Вы можете указать --pose или --orientation, затем путь столько раз, сколько захотите. Передайте аргумент --help для получения дополнительной информации.

[OSVR] Interface initialized for /me/hands/left
[OSVR] Could not resolve source for /me/hands/left
[OSVR] Interface initialized for /me/hands/right
[OSVR] Could not resolve source for /me/hands/right
[OSVR] Interface initialized for /me/head
[OSVR] Constructed a TrackerHandler for com_osvr_Multiserver/OSVRHackerDevKitPrediction0@localhost:3883 sensor 0
[OSVR] Successfully produced handler for /me/head

[TrackerViewer] /me/head - got first report, enabling display![/code]

Теперь я хотел идти дальше. Согласно https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/HDK/HDK-Unboxing-and-Getting-Started.md, я могу запустить The "Palace" Demo

Демонстрация OSVR Unity Palace (репозиторий с исходным кодом) - это визуально насыщенная среда, позволяющая осмотреть и изучить возможности использования оборудования, поддерживаемого OSVR, включая HDK. Первая ссылка содержит бинарные загрузки для Windows: просто загрузите и запустите (убедитесь, что сервер OSVR запущен!) И, при желании, перемещайтесь по среде с помощью геймпада или клавиатуры и мыши. На начальном экране вам нужно выбрать дисплей, на котором сконфигурирован ваш HDK, и разрешение Full HD 1920x1080.

Но похоже это только для Windows. И я не был уверен, как заставить его работать на Mac.

Я также пытался использовать другие файлы конфигурации: osvr_server_config.HDK13DirectMode.sample.json:

$ cp sample-configs/osvr_server_config.HDK13DirectMode.sample.json osvr_server_config.json

$ osvr_server osvr_server_config.json
[OSVR Server] Using config file 'osvr_server_config.json'
[OSVR Server] Constructing server as configured...
[OSVR Server] Loading auto-loadable plugins...
[OSVR Server] Loading plugins...
[OSVR Server] 
[OSVR Server] Instantiating configured drivers...
[OSVR] Added device: org_osvr_filter_videoimufusion/HeadFusion
[OSVR] Client context initialized for org.osvr.analysisplugin
[OSVR] Interface initialized for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd
[OSVR] Interface initialized for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front
[OSVR Server] Successes:
[OSVR Server]  - com_osvr_VideoBasedHMDTracker/VideoBasedHMDTracker
[OSVR Server]  - org_osvr_filter_videoimufusion/VideoIMUFusion
[OSVR Server] 
[OSVR Server] 
[OSVR Server] Aliases found and parsed from config file.
[OSVR Server] Display descriptor found and parsed from config file.
[OSVR Server] RenderManager config found and parsed from the config file.
[OSVR Server] Triggering automatic hardware detection...
[OSVR Server] Registering shutdown handler...
[OSVR Server] Starting server mainloop: OSVR Server is ready to go!
[OSVR] Performing hardware auto-detection.
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKit0
[OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0

Но, как вы можете видеть выше, он просто застрял там, я не вижу линии [OSVR] Sending path tree to clients. как со стандартным (пустым) файлом конфигурации. Более того, с этим файлом конфигурации я больше не могу даже убить osvr-сервер. Это просто распечатать:

^C[OSVR Server] Received shutdown signal...
^C[OSVR Server] Received shutdown signal...
^C[OSVR Server] Received shutdown signal...
^C[OSVR Server] Received shutdown signal...
^C[OSVR Server] Received shutdown signal...

Так что мне пришлось убить -9 этот процесс.

Я также попытался просто пойти дальше и скачал игру с https://itch.io/games/osvr/platform-osx, вот эту: https://seven-hills-games.itch.io/hellicott-city. Но когда я его запустил. он показывал все только на моем экране Mac, с предупреждением "HMD не обнаружен" вверху.

Может кто-нибудь дать какие-либо предложения о том, что делать дальше, чтобы получить дальнейшее?

2 ответа

OSVR и Hellicott City разработчик здесь.

Можете ли вы запустить примеры RenderManagerOpenGL? Не уверен, что это включено в доморощенную установку. Я не смог заставить работать домашнюю установку, но примеры RenderManager работают, когда я собираю OSVR-Core из исходного кода. Я бы проверил это с настройкой расширенного режима, прежде чем переходить к другим приложениям, потому что все, что ему нужно для запуска, уже есть.

@reden правильно, что прямой режим не будет работать, вам нужно будет использовать файл конфигурации расширенного режима или любой пустой файл конфигурации, такой как вы опубликовали, который вообще не будет использовать RenderManager.

Hellicott City, Palace Demo и другие примеры OSVR-Unity не поставляются с библиотеками OSVR для Mac. Я думаю, что вам нужно будет открыть демо-версию Palace в Unity, добавить необходимые библиотеки osvr*.so в каталог плагинов и собрать для Mac. Эти файлы osvr*.so должны быть везде, где homebrew устанавливает OSVR. Однако вы не сможете использовать RenderManager, пока плагин OSVR-Unity-Rendering также не будет создан для Mac. На данный момент этот плагин не работает с OpenGL, но OSVR-Unity все равно должен работать без плагина RenderManager/OSVR-Unity-Rendering. Эти вещи есть в списке дел, но поддержка Mac не была главным приоритетом.

Не пользователь Mac или знакомый с этой конкретной игрой, но; возможно, он работает только в расширенном режиме и / или режим Direct недоступен на Mac. Вы пытались изменить конфигурацию, чтобы отключить прямой режим? Tracker Viewer не должен отображаться в HDK, это скорее подтверждение того, что отслеживание работает / отлаживается. В Windows, когда HDK находится в расширенном режиме, он отображается как дополнительный экран в свойствах дисплея. Существует приложение под названием OSVR Config, но оно может быть доступно только для Windows. Конфигурация дисплея находится в \OSVR-Core\bin\osvr_server_config.json, Попробуйте установить "directModeEnabled": false

Другие вопросы по тегам