Виртуальная реальность (VR) снова вышла на передний план и становится одним из основных направлений развития индустрии. Все активнее развивается направление WebVR — технологии и средства, которые встраиваются напрямую в веб-браузеры и позволяют строить трехмерные объекты без использования собственных аппаратных и программных платформ. Насколько это удобно, хорошо ли проработаны решения и каково будущее технологий VR, узнаем у экспертов.
WebVR может напрямую в браузере работать с современными терминалами типа Oculus Rift, Google Cardboard, HTC Vive и другими. По сути это направление предлагает единые стандарты, которым следуют и создатели браузеров, и разработчики аппаратных решений, и производители контента. Это позволяет избежать «зоопарка устройств», несовместимых между собой решений, пользователям не нужно мучиться выбором — какую платформу предпочесть, а у разработчиков контента есть единый набор правил, которому можно легко следовать. Кроме того, WebVR способен работать на любых устройствах, независимо от ОС и аппаратных платформ, где работает браузер с поддержкой WebVR. Плюс, не нужно скачивать и устанавливать приложения и сам контент — все запускается напрямую из интернета в браузере.
Из минусов технологии можно отметить невысокую скорость работы — в браузере много лишних прослоек, трансляция инструкций и т.д., все это отнимает заметную долю производительности. К тому же, браузеры, как правило, меньше оптимизированы под аппаратные и программные особенности конкретных устройств. Плюс, технология еще не достигла зрелости — не все еще реализовано в должной мере и обкатано, иногда встречаются ошибки и несовместимости. Очень многое в статусе беты, включая сами браузеры.
О перспективности и перспективах Web VR мы решили поговорить с Мартином Сплиттом и Денисом Радиным.
Мартин Сплитт — инженер по ПО по фронт- и бэкенду в Archilogic. Евангелист и активный участник развития ПО с открытым кодом. Верит в веб-платформы и работает с самыми современными технологиями, направленными на развитие веба.
Денис Радин — фронтенд-инженер, разрабатывающий «встроенный» JavaScript в Liberty Global. Энтузиаст компьютерной графики и оптимизации быстродействия веб-приложений. Организатор AmsterdamJS и React Amsterdam. Ведет блог PixelsCommander.com.
— Пока технология VR — это либо узкая отрасль для гиков, либо развлечения (в том числе аттракционы на рынках, в залах игровых автоматов и пр.). Насколько растет использование технологий обычными пользователями (особенно вне игр)? Сохраняется ли интерес у старых пользователей, которые уже пользовались технологией?
Мартин Сплитт: Технологии VR не настолько узконишевые, как может показаться. С другой стороны, они не так распространены на рынке, как хотели бы продемонстрировать их активные сторонники. В 2016 году объемы продаж оказались значительно ниже прогнозов (согласно им, объем рынка должен был достигнуть 10,7 млн устройств, а в реальности GearVR, Rift и Vive вместе продали примерно три млн устройств). Но некоторого успеха VR-технологии все же достигли. Более активно развивается рынок мобильных устройств: уровень продаж GearVR составил 2,2 млн шт, а Google Cardboard вообще разошелся феноменальным тиражом в 88 млн устройств.
Интересно отметить, что мобильные пользователи используют VR-устройства два-три раза в неделю, но не очень долго. При этом основной сценарий — это не игры, а развлечения и журналистика. Впрочем, игры не стоит сбрасывать со счетов — в конце концов, третьим устройством по объему продаж стала Playstation VR.
Денис Радин: На первый взгляд действительно кажется, что основная шумиха спала и VR становится специализированной технологией, но давайте посмотрим, что это за специализации: обучение, медицина, игровая индустрия. Вот, например, PornHub дает бодрый отчет — полмиллиона DAU в VR. Выходит, что специализации очень разнообразные и VR занимает свои ниши там, откуда, вполне вероятно, еще раз начнет наступление на наши мониторы через несколько лет. Я все-таки думаю, что мониторы со временем исчезнут. Зачем нужна доска с диагональю 27 дюймов, если можно получить 360 градусов рабочего пространства, используя мобильный телефон? Особенно актуально это может быть для тех, кто часто бывает в рабочих поездках.
— Нет ли опасений, что VR повторит судьбу 3D? Какими вы видите причины провала 3D, какие шаги индустрия предпринимает и намерена предпринять, чтобы избежать той же судьбы для VR?
Мартин Сплитт: Если речь идет о 3D-телевидении, то да, сейчас ситуация другая. Трехмерное телевидение не сумело набрать популярность как из-за отсутствия широкого интереса пользователей, так и из-за нехватки каких-то существенных преимуществ перед двухмерным ТВ-контентом. VR предлагает куда более глубокую степень погружения и более широкий спектр приложений. Так что мне кажется, что здесь не получится еще один «потерянный рынок».
Денис Радин: 3D-кинотеатры же не исчезли. VR развивается очень динамично, что же до рывка на широкий потребительский рынок, то здесь большие надежды подают Daydream и PS VR. Посмотрите на Daydream HMD: он мягкий, эластичный, тканевый, разработчики очень удачно перенесли VR из мира электронных устройств в мир аксессуаров, одежды. Пока непонятно, насколько это найдет отклик у покупателя, но можно легко представить, что через 10 лет у вас в одном шкафчике будут собраны уютные домашние тапочки, пижамка и свой мягкий персональный VR шлем.
— Будут ли использоваться элементы VR (именно VR, а не просто 3D) в обычных сайтах, интерфейсах и т.д.? Или останется узкая специализированная ниша типа 3D-моделей или презентаций?
Мартин Сплитт: Скорее всего, они не будут заменять существующие элементы обычных интерфейсов или сайтов — скорее, станут дополнять их там, где существующие способы визуализации недостаточно хороши: в описании взаимодействия пространства и данных, образовании, науке, журналистике и описании продукции. Я бы не сказал, что это «нишевые возможности» — эти сферы применения достаточно широкие, и нам еще предстоит до конца определить, что там можно сделать. Однако опросы пользователей показывают, что там есть некоторые многообещающие перспективы.
Денис Радин: Мне вообще кажется, что неправильно ставить вопрос о каких-то узких нишах. Да, сейчас VR-устройств в мире намного меньше, чем мобильных телефонов, но их уже больше, чем ПК в начале 90-х. Те интерфейсы, что мы знаем, будут вынуждены адаптироваться к VR, в вебе WebVR можно ожидать в виде Progressive Enchancement. Например при отображении сайта продающего акваланги на устройстве с VR погружаем пользователя под воду, запускаем VR рыбок, VR водоросли, VR блики поверхности… Об этом в том числе я расскажу в своем докладе на HolyJS.
— Насколько сегодня технологии WebVR зрелые? Пока остается впечатление, что WebVR находится в статусе даже не беты, а альфы. В какую сторону идет развитие технологий в целом?
Мартин Сплитт: Что касается готовности именно технологий, то мы постепенно подходим к этому. Еще есть над чем поработать, однако уже сейчас разработчики браузеров приняли технологию, идет активная работает над стандартом WebVR 2.0, а версию 1.1 можно назвать относительно стабильной. Я отвечал за внедрение WebVR на базе более ранних версий API, и могу сказать, что уже тогда сложностей было немного.
Однако у WebVR та же проблема, что и у VR в целом — мы все еще пытаемся найти оптимальные пути ее использования. Вопрос не в самой технологии, а в таких вещах, как удобство использования (UX), собственно представление истории и интерфейсы (UI). Например, сейчас появляются новые способы взаимодействия с пользователем, а также новые пути расширения WebVR относительно «традиционного» 3D-контента в интернете.
Денис Радин: Технология сама по себе рабочая, сейчас ее успешное использование скорее ограничивает недостаток эффективных инструментов разработки и низкая распространенность устройств по сравнению с теми же смартфонами. Конечно, намного проще и эффективней сделать сайтик на HTML/CSS и показать его на экранах смартфонов миллиардам потенциальных пользователей, но вторая сторона медали в том, что эти миллиарды уже имеют доступ к огромному массиву продуктов. Поэтому, чтобы выделиться, нужно искать новые средства выражения и модели взаимодействия.
— Насколько развита экосистема: поддержка браузеров, функции, возможности, библиотеки? Эти веб-приложения или технологии опираются на возможности браузера (или внешних библиотек)? Насколько сильное сообщество? Как поддерживают крупные коммерческие игроки рынка?
Мартин Сплитт: Я уже говорил раньше, что и экосистема, и стандарты стали сильными и устойчивыми. Google, Mozilla, Microsoft, Samsung и Facebook вместе работают над тем, чтобы внедрить WebVR в свои браузеры. Технологии уже есть в Google Chrome для Android, находятся в финишной стадии в Firefox и уже работают в Firefox Nightly, Microsoft вскоре внедрит их в Edge, браузер GearVR от Samsung поддерживает их уже достаточно давно, а Facebook внедряет их в своей браузер Carmel. Они есть даже в экспериментальном браузерном движке Servo от Mozilla.
Один из наиболее крупных игроков рынка, который хочет использовать WebVR вне собственно браузера, — это Facebook. В рамках ReactVR они хотят дать разработчикам React возможность проще и легче начать использование WebVR.
Что касается сообществ, то у нас есть отличное активное сообщество у Mozilla A-Frame, поэтому приобщиться к WebVR можно уже прямо сейчас.
Денис Радин: Поддержка браузеров пока не так хороша, как хотелось бы, но в целом достаточная: Firefox, Chrome + полноценный WebVR в Android Chrome (!), а это в перспективе весь сегмент Android. Тут очень любопытно, чем ответит Apple. Ведь в конце концов им тоже придется внедрять поддержку, деваться некуда.
Если говорить о библиотеках, то тут у Three.js с его плагинами нет конкурентов. Unity при экспорте в веб так же использует Three.js. Экосистема там, конечно, неплохая, но, надеюсь, кто-то из альтернативных движков сможет избавить нас от монополии в долгосрочной перспективе.
— Предполагается, что WebVR позволит унифицировать работу за счет единых стандартов. Ранее уже предпринимались подобные попытки, однако они приводили лишь к появлению нескольких конкурирующих или вовсе несовместимых стандартов. Есть ли шанс, что сейчас удастся реализовать задуманное?
Мартин Сплитт: Недавние технологии, такие как CSS grid, WebGL или Web Components, ясно показали, что мы уже прошли тот период, когда необходимо было работать с некорректными, несовместимыми реализациями в разных браузерах. Большая часть разработчиков браузеров достигла взаимопонимания, а учитывая, что нас вскоре ждут такие вещи, как Web Assembly, в будущем у нас будет все больше и больше возможностей создавать разные варианты виртуальной реальности, работающие во всех браузерах.
Вряд ли мы окажемся у разбитого корыта, а опыт Facebook, занимающегося разработкой и WebVR, и React, внушает мне надежду, что мощная платформа появится у нас скорее раньше, чем позже.
Денис Радин: Ну почему же? Web сдержал обещание и стал самой универсальной средой для создания интерфейсов. Думаю, WebVR разделит его успех, но это в большей степени завязано на энтузиазм больших игроков, публики и разработчиков. Поскольку сейчас все стороны заинтересованы в успехе, думаю, что все получится. Небольшой конфликт произошел вокруг WebGL, ведь этот стандарт не предполагает использование отличного от OpenGL интерфейса(например Direct3D) однако этот момент оперативно взяла в работу WebGPU рабочая группа в которую входят представители многих компаний.
— Нет ли войны стандартов? Насколько WebVR объединяет разработчиков контента, или они предпочитают создавать продукты под проприетарные платформы производителей оборудования?
Мартин Сплитт: Контент — это всегда основа всего. Многие производители контента уже высказывали мнение, что они с удовольствием будут создавать контент для WebVR, поскольку это позволяет им получить более широкую аудиторию. Да и те, кто предпочитает Unity или другую проприетарную систему, тоже не останутся в стороне — Web Assembly даст возможность производителям контента сохранить возможность работы со своими инструментами, и при этом их контент будет работать и на веб-платформах.
Денис Радин: Стандарт — это все, что JavaScript + WebGL, а дальше разработчик сам решает в рамках стоящей задачи. Можно ожидать, что свое влияние окажут разрабатываемый WebGPU и только что вышедший WebAssembly, но это все детали реализации. Отображение контента в браузере через контекст OpenGL/Direct3D никуда не уйдет, хотя форматы данных для моделей развиваются весьма бурно. Есть несколько групп, работающих над форматами данных, которые можно было бы назвать «JPEG для 3D-моделей». Этому способствует и развитие технологий 3D-сканирования, в частности Tango. Посмотрим, что из этого выйдет…
— «Традиционные» технологии VR требуют для взаимодействия с ними очки или шлем, что создает отдельные сложности — нужно надевать шлем, да и сидеть в нем долго не очень комфортно. Пропадает легкость использования. С WebVR ситуация аналогична. Окажет ли это какое-то влияние на дальнейшее развитие технологии?
Мартин Сплитт: Это проблема скорее не WebVR, а VR в целом. Тут я не смогу много сказать, поскольку не занимаюсь разработкой аппаратных платформ для VR, но просто подумайте — если посмотреть на ноутбуки, скажем, пятилетней давности, то они куда тяжелее и толще, чем современные модели.
Денис Радин: Легкость использования обусловлена качеством устройств. Да, конечно, Oculus Rift был большим шагом по сравнению со шлемами первой волны 90х, но они все еще очень громоздки и далеки от того, чтобы быть незаметными при ношении. Мягкий, компактный Daydream, о котором я уже упоминал, тут видится серьезным шагом вперед, и это только начало.
— Смотреть — это хорошо. А какие идеи насчет того, как в будущем управлять браузером в VR? Махать руками? Или как?
Мартин Сплитт: Если взглянуть в прошлое, то такие вещи мы всегда отвратительно предсказывали. Вспомните Google Glass. Но если уж придется заняться предсказаниями, то я бы сказал, что ввод должен осуществляться с помощью движений рук — может, с помощью жестов. Может, отслеживание рук… пока сложно сказать. Ввод с помощью луча (типа лазерной указки) — пока в тумане, т.к. это может работать как с контроллерами (контроллер daydream, контроллеры для работы с рукой от Vive/Oculus), так и без него (используя взгляд пользователя).
Денис Радин: На картинке выше мы видим небольшой пульт с акселерометром. Можно им махать, можно нажимать кнопки, можно вот удочку позакидывать.
Каждый тип шлема имеет свои контроллеры, работающие по похожему принципу, но с разным количеством функций и разной эргономикой. Увы, надежней таких коробочек с акселерометрами пока ничего нет, хотя, конечно, заслуживает упоминания контроллер Leap Motion. Он все еще ощутимо зависит от условий установки и освещения, но за последние 5 лет сделал большой рывок вперед. Его можно использовать в WebVR через JS API, позволяющее читать положение пальцев.
— Каково ваше видение WebVR, если технология в техническом плане станет успешной. Какие задачи обычных пользователей (кроме развлечения, это недолговечно) она будет решать? Один из примеров — возможность виртуального шоппинга, есть ли другие? И какие изменения она принесет в социальном плане? Не станет ли VR при повсеместном распространении конкурентом нашей реальности?
Мартин Сплитт: Ну, не знаю, насколько это нам поможет в совершении обычных покупок. Я скорее вижу основные выгоды от использования VR там, где нам сложно что-то сделать в реальном мире.
Например, хотя мир превращается в глобальное сообщество, я не могу раз в два дня прыгать на самолет, чтобы слетать к своим родителям, а телефонные разговоры и даже видеозвонки — это все-таки не то. В этом плане VR может помочь мне получить впечатления, которые недоступны в реальной жизни.
Мне кажется, основным направлением будут коммуникации и развлечения, как вариант — виртуальный тур по местам, куда мы сами не можем попасть, или просмотр фильмов или курсов, которые нам недоступны.
Такие сценарии использования обществу будет легче воспринять, чем «просто вместе тусоваться в VR». Но со временем все может измениться. В свое время обмен сообщениями люди более старшего возраста считали антисоциальным и глупым, а он стал основной формой общения среди молодежи. Кто знает, может, вместо того, чтобы постоянно пялиться в телефон, мы когда-нибудь будем носить шлемы, которые позволят нам проводить время с друзьями в VR, например, во время поездок на работу.
И я не думаю, что эти технологии будут конкурировать с реальной жизнью — скорее обогащать и дополнять ее.
Денис Радин: Виртуальное рабочее пространство, обучающие материалы, продажа недвижимости и туристических услуг через интернет — это то, что приходит в голову первым. Огромные рынки, пресыщенные обычными веб-приложениями, которые ждут свежих, эффективных решений. Ну и, конечно, общение в виртуальной реальности… Обычно именно интересов к этому направлению объясняют решение Facebook купить Oculus.
Кто-то назовет это началом классической антиутопии, где все сидят дома и общаются в виртуальном мире, но так смотреть на вещи как минимум скучно, да и необъективно. Давайте посмотрим на ближайшее прошлое… За последние полвека мы получили компьютеры и огромное количество сидячих рабочих мест, но тем не менее, в обществе наоборот процветает культ здоровья, и оно никогда еще не было более спортивным и здоровым, и никогда не жило так долго, как сейчас.
Сомнений в необходимости технологии нет. Я с нетерпением жду новых событий в развитии инструментов, браузеров, устройств. Очень хочу, чтобы больше разработчиков начали работать с WebGL и трехмерными пространствами в браузере, ведь именно наличие талантливых специалистов в первую очередь определяет потенциал технологии.
Глубже погрузиться в тему виртуальной реальности можно будет в Петербурге на конференции HolyJS, где с интересными докладами выступят оба эксперта. Денис Радин расскажет о том, «как интегрировать существующие web-приложения в мир виртуальной реальности», давая пользователям новые возможности и UX, а себе дозу фана.
А Мартин Сплитт уже рассказывал о WebVR на предыдущей HolyJS, и в этот раз выступит с другой темой «Rendering performance from the ground up» - о «перформансе по ступеням»: как разметка превращается в пиксели, как они собираются в целую страницу и чем мы можем помочь платформе в ускорении наших сайтов.
Более подробное описание интересных докладов можно найти тут, а вся программа конференции представлена на официальном сайте мероприятия.
Автор: MaxJoint