Нужны ли видеозвонки в VR?
В Voximplant мы в основном занимаемся автоматикой звонков: автоматически ответить и рассказать что с заказом, автоматически позвонить перед доставкой, автоматически соединить с нужным клиентом — вся вот эта история и JavaScript в облаке. Но кроме этого мы любим делать к нашей платформе SDK: Web SDK, чтобы звонить из браузера и в браузер, нативные Android и iOS SDK, чтобы в роуминге звонить через интернет, React Native SDK, чтобы звонить из кросс-платформенных приложений. А несколько дней назад мы сделали SDK для Unity. Который позволяет звонить из виртуальной реальности.
Сюрприз: это не про игры
Когда произносят «Unity», подразумевают игры. И мы даже пообщались с представителями игровой индустрии, нужны ли им в играх голосовые и видеозвонки. Дружный хор «Нет, ни в коем случае!» нас слегка удивил. Оказалось, что для большинства кооперативных игр возможность общения голосом со случайными партнерами по игре ни к чему хорошему не приводит. Читы, оскорбления и мат — самое частое, чего опасаются разработчики. Лишь крупнейшие проекты со специфичным геймплеем могут позволить себе добавить голосовое общение: World of Warcraft, World of Tanks и им подобные. Но не кооперативный аналог Clash Royale из App Stor«а.
Unity + VR = не только игры
Виртуальная реальность в пользовательском сегменте сейчас — это игрушки. Не в смысле «играть в игрушки», а в смысле «высокотехнологичная игрушка»: попробовал, повосхищался и положил на полку, потому что контента нет. А вот для бизнеса все не так. То, насколько легко оказалось обмануть наш вестибулярный аппарат и зрительную кору мозга, по достоинству оценили все компании, которым нужно обучать сотрудников. Это программиста можно обучить, имея только стол, стул и ноутбук. А инженеры-нефтяники набираются опыта, копаясь в очень дорогом оборудовании. Которое, к тому же, любит располагаться в труднодоступных местах, куда их еще и доставить надо. Использование шлемов виртуальной реальности и обучающих программ позволяет экономить астрономические суммы, привлекать к обучению гораздо больше кандидатов и давать им гораздо больше материала.
VR в образовании, тренировках и квестах
С момента релиза SDK прошло всего несколько дней, но мы уже видим большой интерес к передаче видео и голоса без задержек «внутрь» VR приложений. Из того, что нам рассказывают и хотят попробовать:
- Обучение в специализированных школах. Эксперименты по физике и химии в виртуальном пространстве выглядят зрелищно и хорошо запоминаются. А надевший шлем и превратившийся в «говорящий шарик» учитель может «телепортироваться» от одного ученика к другому, корректируя их действия и отвечая на вопросы. При этом востребованный учитель может вести занятия сразу для нескольких школ, физически находясь у себя дома или в головном офисе.
- Презентации в виртуальном пространстве. Что дает VR по сравнению с монитором? Возможность крутить головой. Вспоминаем обычный вебинар: слайды на весь экран, маленькое видео ведущего в уголке — грусть, тоска. Ставим камеру перед ведущим, проецируем видеозвонок на текстуру в виртуальную реальность, на текстуру слева от него — слайды. Получаем возможность ученикам не только общаться в реальном времени, но и поворотом головы выбирать, на чем фокусировать внимание — на слайдах или на докладчике. То есть делать то, что мы делаем при посещении очных занятий.
- Обучение сотрудников МЧС, нефтяников и прочих ребят, которым для тренировки нужны специальные места, ситуации и оборудование. Коммуникации без задержек и возможность включать в конференцию множество людей с разных устройство: веб-страниц личных кабинетов, сотовых, SIP-переговорных.
- Квесты. Возможность сыграть в мафию, сидя у себя дома — бесценно :)
Реализация: немного боли и страдания
Android и iOS SDK с libwebrtc наперевес у нас есть уже давно, и мы наивно полагали, что сделать SDK для Unity будет не очень сложно. Суровая реальность, как обычно, внесла свои коррективы. Первая «наивная» версия добавляла в верхнее меню пункт «экспортировать Android/iOS проект с нужными модификациями и подключенными библиотеками». Знакомые разработчики, которым мы это показали, покрутили пальцем у виска и отправили смотреть Google Сardboard SDK. Как оказалось, сборку нативного кода все-таки можно интегрировать в сам Unity Editor: для этого нужно разложить бинарные файлы в строго отведенные места проекта и добавить плагин к самой IDE, который включится в процесс сборки и проведет все модификации «на лету». Еще одной сложностью были права в новых андроидах: сама по себе Unity их спрашивать не умеет, поэтому пришлось делать два круга обвязки: первый добавлял в проект нужный манифест, а второй — запрашивал права к микрофону и камере при инициализации SDK.
Ваше мнение?
Все вышеописанное делают с момента появления первых VR-прототипов. Включая передачу голоса и видео. Но каждая такая разработка сейчас — уникальная штука со своим парком велосипедов. Делать их дорого и долго. А наш SDK позволяет добавлять в VR приложения голос и видео за несколько часов, что позволяет коллегам быстро экспериментировать и двигать вперед индустрию. Первые результаты будут минимум через полгода, но вы можете попробовать наш SDK уже сейчас и поделиться своим мнением о будущем VR в комментариях.