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

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

Документация Oculus для разработчиков:

  1. Введение в рекомендации
  2. Бинокулярное зрение, стереоскопическая визуализация и индикаторы глубины
  3. Поле зрения и масштаб
  4. Методы рендеринга
  5. Движение
  6. «Болезнь симуляции»
  7. Пользовательский интерфейс
  8. Пользовательский ввод и навигация
  9. Заключение
  10. Введение в SDK для ПК
  11. Руководство разработчика
  12. Руководство по началу работы с ПК SDK

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

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

  • Проверьте, соответствует ли ваша система рекомендуемым требованиям. См. «Рекомендуемые характеристики».
  • Установите Oculus App и Oculus Home. См. «Настройка Oculus Rift».
  • Установите SDK. См. «Настройка SDK Oculus Rift».
  • Начните работу с демоверсиями. См. «Начало работы с демоверсиями».
Рекомендуемые характеристики

Присутствие – это первый уровень магии, в которой заключается невероятный опыт в виртуальной реальности: безошибочное ощущение, что вы были телепортированы в какое-то новое место. Комфортное и устойчивое чувство присутствия требует сочетания надлежащего аппаратного обеспечения виртуальной реальности, правильного контента и соответствующей системы.

Для полноценного опыта с Oculus Rift мы рекомендуем следующую систему:

  • Видеокарта: GTX 1060 / AMD Radeon RX 480 или лучше
  • Альтернативная видеокарта: NVIDIA GTX 970 / AMD Radeon R9 290 или лучше
  • Порцессор: Intel i5-4590, аналог или лучше
  • Память: 8GB+ RAM
  • Видеовыход: Совместимый с HDMI 1.3 видеовыход
  • USB порты: Три USB 3.0 порта и один USB 2.0 порт
  • Операционная система: Windows 7 SP1 64 bit или более новая, а также новейшая версия платформы DirectX

Кроме того, убедитесь, что у вас также есть последние версии графических драйверов:

Цель всех игр и приложений для Oculus Rift заключается в том, чтобы предоставить наилучший опыт при этих конфигурациях. В конечном счете, мы считаем, что это будет основополагающим фактором для успеха виртуальной реальности, поскольку вы можете оптимизировать и настраивать свой контент для известной спецификации, последовательно добиваясь чувства присутствия и упрощая разработку.

Настройка Oculus Rift

Перед установкой SDK Oculus мы рекомендуем убедиться, что прошивка, рантайм и оборудование правильно настроены и протестированы.

Чтобы установить рантайм и программное обеспечение, выполните шаги, описанные в Oculus Setup. Если вы не используете последнюю прошивку при использовании Oculus Setup, она автоматически установит последнюю версию прошивки и драйверов.

Для получения дополнительной информации о настройке Oculus Rift см.:  https://www.oculus.com/setup/.

Примечание: Поскольку вы занимаетесь разработкой и проектированием, обязательно включите возможность использования неизвестных источников. Чтобы Oculus запускала программное обеспечение из неизвестных источников, нажмите на значок шестерёнки и выберите «Настройки». Затем нажмите «Общие» и включите «Неизвестные источники».

Настройка SDK Oculus Rift

В этом разделе описано, как настроить SDK.

Установка

Последняя версия Oculus SDK всегда доступна в Центре разработчиков Oculus (Oculus Developer Center). Чтобы загрузить последний пакет, перейдите по ссылке: http://developer.oculus.com.

В версиях SDK используется формат major.minor.patch. Например, 5.0.1 означает Major 5, Minor 0, Patch 1.

Примечание: Инструкции в этом разделе предполагают, что вы установили Oculus Rift и программное обеспечение для него через Oculus Setup.

Настройки компилятора

Библиотеки LibOVR не требуют обработки исключений или поддержки RTTI.

Ваша игра или приложение может отключить эти функции для повышения эффективности.

Решения для проектирования

Разработчики могут перепроектировать сэмплы и LibOVR, используя те проекты и решения, которые размещены в каталогах сэмплов и LibOVR/Projects.

Windows Решения и файлы проектов для Visual Studio 2010, 2012, 2013 и 2015 предоставляются вместе с SDK. Samples/Projects/Windows/VSxxxx/Samples.sln или аналоги 2012/2013/2015 – это основное решение, которое позволяет вам создавать и запускать сэмплы, а также LibOVR.

Примечание: SDK не поддерживает универсальную платформу Windows (UWP).

Начало работы с демоверсиями

Теперь, когда Oculus Rift подключен, драйверы установлены и SDK установлен, вы готовы к тому, чтобы начать использовать SDK.

Примечание: Если вы этого ещё не сделали, уделите минуту тому, чтобы отрегулировать шлем виртуальной реальности Oculus Rift таким образом, чтобы он был комфортным для вашей головы и глаз.

Разработчики ПО и интеграционные инженеры

Если вы интегрируете Oculus SDK в свой игровой движок, Oculus рекомендует начинать с простых пробных проектов.

Откройте следующие проекты, создайте их и поэкспериментируйте с приведенным сэмплом кода: Samples/Projects/Windows/VSxxxx/Samples.sln

Oc6lusRoomTiny

Это хорошее место для начала, потому как его исходный код компактно сочетает в себе все критические функции Oculus SDK. Он содержит логику, необходимую для инициализации ядра LibOVR, доступ к устройствам Oculus, использует профиля игрока, реализует отслеживание головы, слияние датчиков, стереоскопический 3D-рендеринг и обработку искажений. OculusRoomTiny идёт вместе с вариантами Direct3D 11, OpenGL и Direct3D 12, каждый со своими отдельными проектами и исходными файлами.

Примечание: Проекты сэмплов Oculus Room Tiny (DX12) для каждого из VS2010 и до VS2015 требуют, чтобы для сборки был установлен соответствующий пакет Windows 10 SDK. Если у вас есть другая версия пакета Windows 10 SDK, не так, которая требуется, вы с высокой долей вероятности получите ошибки компиляции missing dx12.h или аналогичные. Чтобы исправить это для VS2010-VS2013, вам необходимо отредактировать файл Samples\OculusRoomTiny\OculusRoomTiny (DX12)\Projects\Windows\Windows10SDKPaths.props в текстовом редакторе и изменить номера для ссылки на ваш Windows 10 SDK, обычно устанавливаемые с помощью заголовков в C:>Program Files (x86)\Windows Kits\10\Include. Чтобы исправить это для VS2015, вам необходимо отредактировать это в меню Project Properties → General → Target Platform Version.


Рисунок 1. OculusRoomTiny

OculusWorldDemo

Это более сложный сэмпл. Он предназначен для переноса и поддержки многих других функций. К ним относятся переключение между окнами и полноэкранным режимом, 3D-модель XML и загрузка текстур, обнаружение столкновения при перемещении, регулируемый размер и качество контроля, 2D-оверлеи текста пользовательского интерфейса и т. д.

Это хорошее приложение для экспериментов после того, как вы познакомились с основами Oculus SDK. Оно также включает в себя накладывающееся меню с параметрами и переключателями, которое настраивает многие аспекты рендеринга, включая поле зрения, отображение таргетинга, настройку времени и дисплея. Экспериментирование с этими вариантами может предоставить разработчикам понимание того, что означают соответствующие числа и как они влияют на происходящее «за кулисами».

При запуске OculusWorldDemo в Windows по умолчанию используется Direct3D 11. Однако вы можете выбрать для рендеринга OpenGL, добавив к исполняемому файлу аргумент командной строки «-r GL».

Помимо экспериментов с предоставленным сэмплом кода, Oculus рекомендует прочитать остальную часть этого руководства. Она включает в себя инициализацию LibOVR, отслеживание головы, рендеринг для Oculus Rift и минимизацию задержки.

Художники и игровые дизайнеры

Если вы интегрируете Oculus SDK в свой игровой движок, Oculus рекомендует начать с простых пробных проектов.

Если вы художник или дизайнер игр, который незнаком с C++, мы рекомендуем загружать Unity вместе с соответствующей интеграцией Oculus. Вы можете использовать наши готовые решения для мгновенного создания контента на основе Oculus.

Мы также рекомендуем прочитать «Рекомендации и практики Oculus» целиком, где есть советы, предложения и исследования, ориентированные на создание и развитие идеального восприятия виртуальной реальности. Тематика включает в себя схемы управления, пользовательские интерфейсы, кадрирование, функции камеры и игровой процесс. Руководство должно быть справочным пособием при разработке ваших игр с готовым для использования Oculus Rift.

Помимо этого, следующий шаг – это начать создавать свою собственную игру или приложение для Oculus Rift. Тысячи разработчиков строят будущее для игр в виртуальной реальности. Чтобы узнать, о чём они говорят и что им интересно, перейдите на forums.oculus.com.

Демо OculusWorldDemo

Oculus рекомендует использовать предварительно созданный OculusWorldDemo для изучения SDK. Вы можете найти ссылку на нужный файл в корневом каталоге установки Oculus SDK.

Ниже приведен скриншот приложения OculusWorldDemo:

Рисунок 2. Приложение OculusWorldDemo

Элементы управления OculusWorldDemo

OculusWorldDemo использует сочетание стандартных и специализированных элементов управления.

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

W, S для движения вперёд, назад

A, D для того, чтобы держаться лево, право

Мышь для просмотра влево, вправо

Левый стик геймпада для передижения

Правый стик геймпада для поворота

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

F4 как многозадачный переключатель

F5 как переключатель sRGB

F7 как переключатель для режима просмотра моно/стерео

F9 как переключатель в полноэкранный режим (для низкой задержки)

F11 как переключатель HUD производительности

E для движений относительно головы/тела

R для того, чтобы сбросить ориентацию датчика

Esc для отмены полноэкранного режима

-, + для регулировки высоты глаз

L для того, чтобы откорректировать четвёртое значение просмотра

Tab для меню опций

Spacebar для того, чтобы включить наложение отладочной информации

T для того, чтобы сбросить позицию игрока

Ctrl+Q для выхода

G для режима наложения циклов сетки

U, J для того, чтобы откорректировать второе значение просмотра

I, K для того, чтобы откорректировать третье значение просмотра

; для циклического рендеринга пейзажей

+Shift для быстрого изменения значений

O для переключения Time-Warp

C для переключения FreezeEyeUpdate

V для переключения Vsync

Применение OculusWorldDemo

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

Когда изображение будет правильно отображаться внутри Oculus Rift, выберите момент, чтобы осмотреться в виртуальной реальности и проверить, всё ли оборудование работает правильно. Вы должны уметь видеть, что физический перевод головы теперь воссоздан точно так же, как и виртуальный мир, и вращения.

Важно: Если после первоначальной калибровки вам нужно по какой-либо причине переместить сенсор, не забудьте свести к минимуму движение шлема виртуальной реальности на несколько секунд, удерживая его в пределах усечённого пространства конуса слежения. Это даст системе возможность перекалибровать позицию датчика.

Если вы хотите более подробно исследовать позиционное отслеживание, вы можете нажать клавишу с «;» для того, чтобы ввести поле «моря кубов», которое мы используем для отладки. В этом режиме отображаются кубы, которые позволяют легко отслеживать поведение отслеживания положения. Кубы отображаются зеленым, когда отслеживается положение головы, и красным цветом, когда слияние датчика падает на модель головы.

Есть ряд интересных моментов, которые следует принять к сведению в первый раз, когда вы испытываете OculusWorldDemo. Во-первых, уровень предназначен для масштабирования. Таким образом, все кажется примерно такой же высоты, как в реальном мире. Размеры для всего, включая стулья, столы, двери и потолок, основаны на измерениях объектов реального мира. Все единицы измерения измеряются в метрах.

В зависимости от вашего фактического роста, вы можете чувствовать себя ниже или выше обычного. По умолчанию высота глаз игрока в OculusWorldDemo составляет 1,61 метра (приблизительная средняя высота глаз взрослого человека), но это можно отрегулировать с помощью клавиш «+» и «-».

 

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

 

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