Gamedev Олег Чимде
1 591

Доступная виртуальная реальность: разработчик о проекте VR Stream

В начале октября российская компания Dive Into VR выпустила приложение для стриминга игр в виртуальной реальности на смартфоны. Благодаря VR Stream можно играть как в обычные компьютерные игры, так и в проекты с поддержкой Oculus Rift. Вам понадобятся только мобильный телефон и недорогая гарнитура вроде Google Cardboard.

Программист и сооснователь компании DVR Валерий Дубов подробно рассказывает, как работает технология и какие трудности встретились ему на пути от идеи до реализации.

В закладки

Я занимаюсь мобильными разработками в сфере виртуальной реальности и считаю эту область наиболее перспективной и доступной для большинства пользователей. Сегодня я бы хотел рассказать о проекте VR Stream. Эта технология передает видеопоток с компьютера в мобильный телефон и преобразует картинку в режиме виртуальной реальности. По сути, мы заменяем дорогостоящие VR-устройства, вроде Oculus Rift и HTC Vive, и даем пользователям полный эффект присутствия и вовлеченности в игру.

DVR выступила технологическим партнером ВДНХ на Московском урбанистическом форуме

Об идее

Идея проекта родилась из моего прошлого опыта: я разрабатывал проект операционной системы в дополненной реальности. Тогда, благодаря книгам и собственной фантазии, в голове и сложилась четкая картина, как можно управлять данными при помощи собственных рук. Да-да, точно как в «Железном человеке».

Рынок AR активно развивался, и все больше людей понимало, как все это может выглядеть и работать. Железо постепенно расширяло свои возможности, так что я взялся за создание операционной системы и сделал прототип на Android: там использовалась страшная система охлаждения и Fish Eye линза.

Выглядело все, конечно, очень сырым, но я напомню — это было два года назад. Поэтому сегодняшние проекты, вроде Tilt Brush от Google или Social VR от Oculus, не производят на меня особого впечатления.

Вот пример использования Oculus и Leap Motion:

Тем не менее, Oculus и Leap Motion не укладывались в мою идею мобильности, и я столкнулся с серьезными проблемами на рынке железа — ограниченная производительность и отсутствие контроллеров вроде VR-перчаток. Я не нашел надежного решения и понял, что нужно сильно упростить идею и все-таки работать с тем, что есть (благо опыт позволял).

О разработке

Пока сокращал количество «хотелок» — понял, что мощности смартфонов будет недостаточно. Впрочем, только они дают желаемый уровень удобства, так почему бы мне не поставить где-нибудь сервер и не присоединить к нему смартфон и запустить приложение? Отличная мысль!

С этого, по сути, и началась моя разработка технологии стриминга. Первый прототип был создан с помощью крутой технологии Nvidia GRID, и вроде бы это должно было решить большинство задач. Вот только работала она только с картами Nvidia Quadro. Получив желаемый прототип, нужно было масштабироваться, и тогда я столкнулся с проблемой — Nvidia юридически запретила использовать эту технологию на других картах, то есть лицензия распространяется только на Nvidia Quadro. Привет Steam с их In home streaming и Moonlight, которые все-таки используют эту технологию и не скрывают этого.

После такого «облома» я принялся изучать альтернативные решения, но все программы, которые были на тот момент, давали либо задержку в 0.5 — 1 секунду, либо очень плохое качество картинки, либо крайне низкий FPS.

Основной задачей стало получить из игры сформированную картинку и максимально оптимизировать ее для отправки по медленному Wi-Fi, не нарушая при этом лицензии. Узкое место здесь — лишнее копирование в памяти, лишние такты процессора и прерывания. Все эти операции тратили милисекунды, которые суммарно превращались в заторможенность и дискомфорт в работе. Но в итоге мне удалось достичь желаемых показателей.

С телефоном было проще — это всего лишь воспроизведение видео, и производители чипов эту задачу оптимизируют самостоятельно. Тем не менее, небольшие «допилки» все же понадобились: телефон не должен был уходить в режим энергосбережения и включать лишние буферизации для плавного воспроизведения.

В любом случае, на первом месте стоял вопрос о задержках. И вот каких показателей нам удалось достичь.

Настройки стриминга:

— 1440p90 (pixel perfect для Samsung S6)

— Bitrate 30000

Тесты проведены на компьютере 6700HQ + GTX 1060, телефон Samsung S6. Трансляция осуществлялась по воздуху, стандарт 802.11n 5 ghz. 300mbit.

Среднее арифметическое — 20.8 мс. Теперь прибавляем время, которое нужно для рендера одного кадра у игры: в нашем случае это 10 мс, так как рендер шел при 92 кадрах в секунду. Это время уже включает обновленный контроль поворота телефона и предсказания гироскопа.

Затем прибавляем время, которое требуется монитору компьютера для обновления — это 5мс. Таким образом, получаем: 20.8 + 5 + 10 = 36мс — это motion-to-photon latency (задержка между движением головы пользователя и отображением на дисплее — прим. ред.) при трансляции по воздуху Oculus-игры.

О технологии

VR Stream — это инструмент, с помощью которого пользователи могут играть в привычные компьютерные игры новым способом, погрузившись в VR. Для этого достаточно иметь компьютер, который «тянет» уже существующие игры, смартфон и недорогой мобильный VR шлем, пусть даже Cardboard за два доллара.

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

Помимо игр для Windows, с помощью VR Stream можно также запускать вещи, разработанные под Oculus, из Steam или Oculus Store, — то есть игры, уже адаптированные или созданные под VR изначально. Безусловно, ощущения от них гораздо круче за счет адаптированного интерфейса, глубины картинки и эффекта присутствия.

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

Итоги

Последнее время все только и говорят про VR. Про его перспективы, возможности, опасности, непредсказуемости и прочее. И каждый по-своему прав. Очевидно, чтобы рынок VR стал мэйнстримом, нужно вкладывать много сил и энергии в разработку софта и контента — только так можно полноценно раскрыть все возможности технологии.

Шлем виртуальной реальности не должен пылиться на полке, а его функция не должна ограничиваться демонстрацией друзьям или соседям «Американских горок». Эти штуковины способны на многое, если их правильно использовать.

VR Stream решает вполне понятные проблемы существующего рынка виртуальной реальности — расширяет базу высококачественного VR-контента и снижает входную стоимость. Причем, эта схема выгодна как пользователям, так и разработчикам — мы приводим новую огромную аудиторию, что позволяет последним быстрее окупить инвестиции, вложенные в игру и быстрее зарабатывать.

В ближайшей перспективе мы планируем прикрутить возможность запуска игр из Steam VR, а также полноценно поддерживать карты AMD.

{ "author_name": "Олег Чимде", "author_type": "editor", "tags": [], "comments": 19, "likes": 10, "favorites": 0, "is_advertisement": false, "subsite_label": "gamedev", "id": 1650, "is_wide": false }
{ "id": 1650, "author_id": 3009, "diff_limit": 1000, "urls": {"diff":"\/comments\/1650\/get","add":"\/comments\/1650\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/1650"}, "attach_limit": 2, "max_comment_text_length": 5000 }

19 комментариев 19 комм.

Популярные

По порядку

Написать комментарий...

Evgeniya Soboleva

5

Да, действительно, этот скриншот (картинка 4) был сделан на моем рабочем столе в команде GeniARs в Кремниевой долине, чуть больше года назад. Но потом у меня закончились Деньги как часто бывает в стартапах, которые делаешь на свои последние кровные. После этого автор статьи предпочёл согласиться на предложение Ильи Флакса (Fibrum) и через некоторое время ушел в команду его Бывших сотрудников, которые сейчас релизят стриминг. И от бабушки ушел, и от дедушки ушел...

Ответить

Pavel Tsarev

Evgeniya
2

Евгения, вам до бабушки далеко, как кардбордам - до позишн трэкинга. :)

Ответить

Valeriy Dubov

Evgeniya
–2

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

Ответить

Ilya Flaks

Valeriy
3

Почему же? пусть мир знает о "Авторах" которые позволяют за чужой счет делать продукты, а потом выставлять это на показ как свою работу.

Ответить

Valeriy Dubov

Ilya
–3

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

Ответить

Илья Федоров

Valeriy
1

Валерий, хочу разобраться. Правильно понимаю что Вы считаете, что права на все разработки которые вы вели по данному продукту (технологии) и предоставили компании Dive Into VR (в который вы упомянуты как соучредитель) принадлежат Вам поскольку:
- Fibrum не оплатил вашу работу по разработке данного продукта (технологии). Цитата: "Я никгда не выставлял продукт как свой если мне была оплачена работа над ним";
- между Вами и Fibrum не было специального (отдельного) соглашения которого оговаривало бы препятсвия в использовании материалов связанных с продуктом (технологией). Цитирую: "либо были иные соглашения препятствующие использовать материалы связанные с этим продуктом."
- вы считаете что работа на компанию по его заданию имеете право присваивать себе результаты этой работы на том основании что отдельтного соглашения не было?
Как понял из пояснений Ильи Флакса, часть которых представлена в коммментариях к настоящей статье и комментариев к новой статье опубликованный от лица FIBRUM (https://dtf.ru/2070-kak-sozdavalsya-vr-stream-vzglyad-s-drugoy-storony). В рамках работы над этой технологией Вы:
- являлись штатным сотрудником ООО "Фибрум", и работали по трудовому договору;
- создавали этот продукт (технологию) по заданию компании Fibrum (скриншоты переписки и задач);
- получали денежное вознаграждение.
Пока картинка очень неприглядно выглядит для Вас и вашей компании.
Если вас не устраивали условия по оплате, то почему вы продолжали заниматься этим проектом в рамках Fibrum (вроде как этот факт не оспаривается)?
Если Вы считаете что работа над этим проектом не имеет отношения к вашей работе в FIBRUM, то почему она была использована в продуктах Fibrum в период вашей работы в компании?
P.S. Чтобы не было кривотолков, я в настоящий момент являюсь контрактором FIBRUM и имею доступ к части информации по этому проекту. Мне интересно разобраться в этом вопросе.

Ответить

Ilya Flaks

2

Мальчик валера забыл упомянуть, что сначала разрабатывал стриминг на ресурсы Евгении Соболевой в компании Geniars, а затем оставив ее с долгами и не доделанным продуктом пришёл работать в Фибрум, он уже тогда знал о том что "его продукт" нарушает лицензию Nvidia, но нам он об этом не сказал само собой, мы узнали об этом позже. Далее под года спонсировали его доработку стриминга в стенах Фибрум, после того как он за деньги компании, на компьютере компании и в ее стенах доработал продукт без использования Nvidia, он решил некрасиво свалить из компании к своим новым коллегам dvr, любителям воровать чужие проекты, сотрудников, технологии. Ребята к успеху явно идут, особенно тем, что ходят по рынку и спрашивают "что с проектом делать, как его развивать и монетизировать подскажите" мамкины бизнесмены, ещё и истории сочиняют как проект мальчик валера сделал )

@Сергей Бабаев я бы обратил внимание редакторов на проверку материала.

Ответить

Николай Чумаков

Ilya
0

Добрый день.

Если у вас есть какие-то претензии к автору, то не стоит переносить их на материал. DTF — площадка для разработчиков, мы не имеем никакого личного мнения о них, а только даём высказаться. Кого читать/слушать — это уже выберет читатель и профессионалы индустрии.

Ответить

Ilya Flaks

Николай
0

Хорошо ;)

Ответить

Valeriy Dubov

Ilya
–5

Илья, я перед тем как что то написать или сказать, несколько раз думаю. И понимаю разницу между такими понятиями как клевета или личное мнение.

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

Ответить

Fibrum

Valeriy
0

А теперь читаем как действительно создавался VR Stream https://dtf.ru/2070-kak-sozdavalsya-vr-stream-vzglyad-s-drugoy-storony#comment6462

Ответить

Fibrum

2

На этом видео бывший директор по маркетингу Алексей Свирский (сейчас один из основателей DVR http://joxi.ru/Dr8OJK1H3DawA6), на 2.15 минуте рассказывает о технологии VR стриминга на CES в январе 2016 года, когда проект разрабатывался еще в Fibrum https://youtu.be/r9jrUfKamqE

По итогам международных конференций было написано много статей об уникальном решении стриминга в VR от Fibrum. Всего более 100 публикаций, например:

«Gamers who play PC games can turn any game in an immersive VR experience using Fibrum's unique streaming capabilities» http://www.consumerelectronicsnet.com/article/Fibrum-The-Largest-Developer-of-Mobile-Virtual-Reality-Apps-Presents-its-Global-Virtual-Platform-at-CES-2016-4227155

Или «Gamers can use Fibrum’s streaming capabilities to play PC games in immersive VR» https://www.vrfocus.com/2015/12/fibrum-announces-global-vr-platform-to-showcase-at-ces-2016/

Алексей Свирский также как и Михаил Торкунов был уволен из компании Fibrum одним днем за ведение параллельной коммерческой деятельности и воровство проектов из компании.

Ответить

Pavel Tsarev

0

yourVR = enableHeadTracking ? true : false;
// anyway, респект за стриминг.

Ответить

Valeriy Dubov

Pavel
0

Интересно что бы это значило.
Позиционного трекинга нету
Для ориентации система предсказаний и далее
1. quaternion для oculus игр
2. mouse look для windows игр

Ответить

Pavel Tsarev

Valeriy
3

Главным образом, отсутствие position tracking драматически влияет на эффект motion sickness. То есть, я бы крайне не советовал проводить первое знакомство с VR через кардборы, особенно людям, далеким от интерактивных развлечений. Имеется негативный личный опыт, о чем жалею.
К сожалению, это даже не тренируется, поэтому, смею считать, что позиционое отслеживание - первый порог вхождения в интерактивный VR.

Но я сагрился, в основном, на фразу о Tilt Brush, основа которого есть room-scale + точные контроллеры. Зачем высказываться так о продукте, что пока недоступен для Вашей технологии?

Повторюсь, Валерий, выражаю глубокий респект Вашей работе.

Ответить

Ilya Flaks

1
Ответить

Михаил Пименов

1

Ладно, держался до последнего. 2015 год - Разбирался еще тогда, что там можно проделать с шлемами типа Fibrum и аналогами:

https://www.facebook.com/photo.php?fbid=10207349032317399&set=a.10206174121745369.1073741828.1633757376&type=3&theater

Написал стратегию развития выхода на пользовательский рынок, разбор настроек, функционал приложения, варианты интерфейса и т.д. В декабре встречались в Fibrum, где я подробно изложил всю эту историю. На тот момент я был полностью повязан на разработке своего проекта, при другом раскладе ктож знает, что бы вышло. По поводу DVR – Fibrum хоть чаю позвал попить, а здесь как-то совсем не спортивно.

Вместо чая налил колы, взял попкорн, жду возможности глянуть на их интерфейс (а то давно не виделись).
Оставлю это здесь.

Ответить

Олег Железцов

0

"Очевидно, чтобы рынок VR стал мэйнстримом" ( c )

Когда этот рынок успел стать мэйнстримом? Пока что мы наблюдаем не очень успешные попытки крупных компаний продать людям свои VR-девайсы.

Ответить

Evgeniya Soboleva

0

Павел, благодарю. Хотя мы тут не об этом.

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]