Oculus упростила портирование игр для Rift на Vive

504

Oculus выпустила обновление для своего пакета интеграции с Unity, чтобы упростить разработчикам эксклюзивных игр для Rift их портирование на Vive. Новая «поддержка кросс-платформенной разработки» добавлена ​​в версии пакета 1.31.0. В примечаниях к релизу указано, что это экспериментальная функция и она «может быть изменена или удалена».

Ситуация до сегодняшнего дня

Современные игровые движки вроде Unity становятся полезнее для разработчиков и конечных пользователей, в частности, благодаря тому, что основанные на них проекты и код поддерживают запуск на разных платформах, сокращая время разработки и переноса приложений с одной платформы на другую. Идеальный с этой точки зрения движок даёт разработчику сосредоточиться на творчестве без волнений о различиях платформ.

Но с этим всё не так просто — особенно для виртуальной реальности. Unity поддерживает API Oculus и SteamVR без каких-либо усилий со стороны разработчиков, но эта поддержка ограничена лишь необходимыми функциями. Oculus и Valve предоставляют специальные пакеты совместимости Unity поверх этих API — Oculus Integration и SteamVR Plugin. Они содержат скрипты, префабы, ресурсы, примеры сцен и дополнительные API, чтобы в распоряжении разработчиков было нечто большее, чем топорная интеграция через движок.

Проблема в том, что плагин SteamVR напрямую не поддерживает API Oculus, а Oculus Store для одобрения публикаций требует, чтобы приложения напрямую поддерживали API Oculus. Если вы хотите представить свой проект в Oculus Store для Rift, а также в Steam для Rift и HTC Vive, вам придётся использовать оба пакета совместимости или общую инфраструктуру Unity XR, которая, как правило, считается функционально уступающей первому варианту. Использование обоих пакетов требует дополнительного времени на разработку и усложняет проект.

Обновление

Изменения в новой версии Oculus Integration заключаются в том, что его основные функции теперь поддерживают API SteamVR, а не только API Oculus Rift. С точки зрения разработки не меняется ничего, кроме того, что префабы и API будут задавать и возвращать значения ещё и для Vive.

Функции:

  • Камера. Префаб OVRCameraRig, используемый для обработки виртуальных камер для глаз пользователя и игровых объектов для пользовательских контроллеров, полностью поддерживает HTC Vive.
  • Отслеживание. Вызовы API для получения данных о скорости или угловой скорости очков будут работать с HTC Vive.
  • Ввод. API получает состояния кнопок, позиции пальцев и сигналы о нажатии курков контроллеров Touch, а с контроллерами HTC сенсорная панель обрабатывается как джойстик под большой палец, а кнопка меню над ней — как верхние кнопки Y/B на Touch (элементы управления на кнопках A и X необходимо изменить).

  • Отдача. Прежние API для тактильной обратной связи в Touch теперь работают на контроллерах HTC.
  • Guardian / Chaperone. API для понимания границ и игрового пространства в системе безопасности Guardian будет работать с Chaperone для пользователей HTC Vive.
  • Аватары. Oculus Avatars будут работать в SteamVR, но пользователям вне экосистемы Oculus придётся выбирать из предопределённого списка вместо того, чтобы создавать собственные аватары (фактически, эта функция была включена раньше, но связана с релизом).

Что это означает и не означает

Во-первых, ничто из описанного не имеет прямых последствий для пользователей; всё это предназначено для разработчиков. Если разработчик создаёт игру в Unity для Oculus Rift и решает подключить HTC Vive, во многих случаях он может просто поставить флажок OpenVR в настройках платформы Unity. Больше нет необходимости интегрировать отдельные префабы и API от SteamVR Plugin и одновременно управлять двумя версиями всего.

Следует отметить, что плагин SteamVR также может использоваться для поддержки обоих очков, но его нельзя использовать для сборки под Oculus Store. В конечном счёте это означает, что разработчики, сначала создающие приложения для SteamVR, а затем планирующие представить их в Oculus Store, должны будут работать с Oculus Integration.

В играх из Oculus Store все ещё может быть только поддержка API от Oculus, отмеченная в Unity — обновление не заставит работать HTC Vive. Но оно снижает технические барьеры для разработчиков Unity, создающих контент для Rift, а затем выпускающих его на платформе SteamVR или сразу на обеих платформах.

В настоящее время единственной альтернативной платформой в Oculus Integration является SteamVR, а HTC Vive — единственное альтернативное оборудование. К тому же софт предназначен для Unity и не работает в Unreal Engine. Если в будущем удобство не перейдёт дорогу маркетингу, можно надеяться, что кроссплатформенная поддержка обеих крупнейших платформ виртуальной реальности только расширится.

Не пропускайте важнейшие новости о дополненной, смешанной и виртуальной реальности — подписывайтесь на Голографику в TelegramВКTwitter и Facebook

Далее: Magic Leap объявляет конкурс разработчиков: каждый может получить $500 000