Впервые на русском: Документация Oculus для разработчиков. Руководство ПК SDK для разработчика. Система безопасности Oculus Guardian

Продолжаем публикацию эксклюзивной информации для разработчиков от Oculus. Новый раздел посвящён системе безопасности Oculus Guardian.

  1. Документация Oculus для разработчиков:
    1. Введение в рекомендации
    2. Бинокулярное зрение, стереоскопическая визуализация и индикаторы глубины
    3. Поле зрения и масштаб
    4. Методы рендеринга
    5. Движение
    6. Отслеживание
    7. «Болезнь симуляции»
    8. Пользовательский интерфейс
    9. Пользовательский ввод и навигация
    10. Заключение
    11. Введение в SDK для ПК
    12. Руководство разработчика
    13. Руководство по началу работы с ПК SDK
    14. Руководство ПК SDK для разработчика. Интеграция LibOVR
    15. Инициализация и перечень сенсоров
    16. Рендеринг в Oculus Rift
    17. Расширенная настройка рендеринга
    18. Управление связью с виртуальной реальностью
    19. Система безопасности Oculus Guardian
    20. Аудио Oculus Rift
    21. Контроллеры Oculus Touch
    22. Дополнительная информация об Oculus Touch
    23. Примеры использования SDK и геймпада
    24. Оптимизация вашего приложения
    25. Подключение контроллеров Oculus Touch
    26. Асинхронный SpaceWarp
    27. Дополнительная информация о подключении контроллеров Oculus Touch
    28. Справочная информация

Чтобы оставаться в курсе новостей о виртуальной реальности, подписывайтесь на наш Telegram!

Система Oculus Guardian предназначена для отображения накладываемых настенных и напольных маркеров тогда, когда пользователи приближаются к границам, которые они определили. Когда пользователь слишком близко подходит к краю границы, полупрозрачные маркеры границы отображаются в слое, который накладывается на игру или приложение.

На следующем рисунке показана активированная система Oculus Guardian. Обратите внимание на границы (линии) пола и границы стен (кресты):

Рисунок 13. Система  границ Oculus

Настройка системы Oculus Guardian на вашем Oculus Rift

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

Примечание: Пользователи могут устанавливать границы на стены и пол, устанавливать их только на пол или полностью отключать.

Для того, чтобы установить границы:

  1. Откройте приложение Oculus.
  2. Выберите «Настройки» (Settings) -> «Устройства» (Devices)-> «Запустить полную установку» (Run Full Setup).
  3. Выберите Oculus Rift и Oculus Touch.
  4. Следуйте инструкциям на экране для того, чтобы подтвердить отслеживание сенсора.
  5. Продолжайте, пока не появится страница «Отметить ваши границы» (Mark Your Boundaries).
  6. Следуйте инструкциям на экране, используя кнопку триггера INDEX для рисования внешних границ игровой зоны. В настоящее время не существует минимальной ширины и глубины.
  7. Когда вы закончите, нажмите «Далее» (Next). Ваши границы сохранены.

Если вам нужно отключить Guardian System, включите/отключите Guardian System Enabled/Disabled в Universal Menu («Универсальное меню»).

Конфигурация игры

Во время инициализации ваше приложение может сделать запрос API для получения внешней границы и игровой области. Внешняя граница – это пространство, определяемое пользователем во время настройки. Игровая площадка представляет собой прямоугольное пространство внутри внешней границы. С помощью этой информации ваше приложение может создать виртуальный мир с «барьерами», которые согласуются с реальным миром. Например, вы можете настроить размер кабины на основе пользовательской игровой зоны.

Следующие функции возвращают информацию о внешней границе и игровой области:

  • ovr_GetBoundaryDimensions: возвращает ширину, высоту и глубину игровой области или внешней границы в метрах.
  • ovr_GetBoundaryGeometry: возвращает точки, которые определяют игровое поле или внешнюю границу. Для игровой области она возвращает четыре точки, которые определяют прямоугольную область. Для внешней границы она возвращает все точки, которые определяют внешнюю границу.

Во время рантайма ваше приложение может запрашивать информацию о том, видимы ли границы, с помощью ovr_GetBoundaryVisible. Когда они видны, вы можете выбрать то, как приложение ответит. Например, вы можете приостановить работу приложения, замедлить работу приложения или просто отобразить уведомление.

Информация о статусе границ возвращается в структуре, которая содержит следующее:

  • IsTriggering (ovrBool): возвращает границы видимости.
  • ClosestDistance (float): расстояние до ближайшей игровой площадки или внешней поверхности границы.
  • ClosestPoint (ovrVector3f): ближайшая точка на поверхности границы.
  • ClosestPointNormal (ovrVector3f): нормальный показатель поверхности элемента, ближайший к поверхности границы.

Кроме того, вы можете установить границы, которые будут видимыми, для того, чтобы сориентировать пользователя или объяснить, как вы будете использовать это пространство, установив ovr_RequestBoundaryVisible() на ovrTrue. Когда вы закончите, просто переделайте в ovrFalse.

Примечание: Вы не можете принудительно отключать границы, если они были инициированы пользователем.

Цвет границ по умолчанию – голубой. Для того, чтобы изменить цвет, используйте ovr_SetBoundaryLookAndFeel().

Сэмпл кода

Для того, чтобы помочь вам приступить к работе, мы предоставляем образец кода в Samples/GuardianSystemDemo, который показывает использование следующих API:

  • ovr_TestBoundary
  • ovr_TestBoundaryPoint
  • ovr_SetBoundaryLookAndFeel
  • ovr_RequestBoundaryVisible
  • ovr_ResetBoundaryLookAndFee

Боксы сталкиваются с данными границы во время использования тестового API, пограничная видимость и цвет меняются каждую секунду, а симуляция замедляется (а затем останавливается), когда шлем виртуальной реальности или контроллер Oculus Touch оказываются слишком близко к границе.

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.