В последнее время у моих друзей начали появляться странные коробочки, в которые они вставляют свой мобильный, вешают все это на голову и куда-то пропадают.
Удивительно, что виртуальную реальность можно сделать из мобильника и куска картона. Но другой вопрос: зачем она нужна и что мы можем с ней сделать? Игры понятно, но это все равно очень узкий сегмент. Может ли веб стать той точкой роста, которая сделает VR действительно распространенной технологией? Каким образом можно использовать виртуальную реальность уже сейчас?
Чтобы разобраться, мы взяли интервью у Maртина Сплитта, который горячо болеет этой темой уже пару лет.
— Пожалуйста, представься.
— Привет! Меня зовут Мартин Сплитт. Я @g33konaut в твиттере и AVGP на гитхабе. Живу в Цюрихе и работаю senior fullstack-инженером в Archilogic. И я плохо говорю по-русски ;-)
— Какой у тебя опыт с VR и почему тебе так интересна эта тема?
— VR меняет правила игры, потому что она сдвигает процесс восприятия: вы не просто наблюдаете, вы принимаете непосредственное участие в чем-то. Также люди реагируют на VR-опыт совсем по-другому, нежели на просто 3D.
Работаю с WebVR практически с того момента, как она появилась, — начиная с октября 2014 года. С начала 2015 года используем её в продакшене. В spaces.archilogic.com пользователи могут использовать Google Cardboard, Oculus Rift или HTC Vive, чтобы ходить по офисам или квартирам в VR. Мы получили интересный опыт, работая над продуктом. Поэтому выступаю с докладами, чтобы поделиться этим опытом, и слежу за разработкой стандартов WebVR в консорциуме W3C.
— Впервые о VR заговорили в 1950 году. И с тех пор мы продолжаем думать и говорить о VR. Но почему такой большой интерес к ней именно сейчас, что изменилось?
— Если вы посмотрите на «Дамоклов меч» — первое VR-устройство, увидите, что это было довольно страшное, громоздкое, хитроумное изобретение. Большим барьером для распространения VR, кроме стоимости, сложности установки и размеров устройства, была нехватка доступного контента. В 90-x была вторая волна VR-устройств, таких как Virtual Boy, но высокая цена и нехватка контента мешали их распространению.
Ещё одним большим препятствием стало отсутствие технологии для убедительного погружения. Только недавно мы узнали, что VR при менее 90 кадрах в секунду вызывает укачивание у многих людей, что нарушает погружение. Мы выросли с виртуальными мирами без погружения: привыкли к компьютерной графике в фильмах, интернете, играх. Это делает нас более восприимчивыми к такой категории контента. Компьютеры стали достаточно мощными, чтобы рендерить виртуальные миры с производительностью, которая необходима для VR. Появились устройства по доступной цене — дешевые Daydream VR, GearVR и Cardboard и не такие дешевые, но доступные для энтузиастов Oculus и Vive. Поэтому все, что нас останавливает сейчас — это недостаток VR-контента. Но контент может быть создан почти кем угодно. Спасибо таким технологиям, как Unity, Unreal Engine и A-Frame. Что-то уже появилось в SteamVR или Oculus. Количество контента быстро растет.
— Какой текущий статус VR? Какие задачи стоят перед VR и webVR?
— Мы еще в самом начале пути, нам нужны эксперименты и исследования. Множество вещей еще не придумали. Нет конвенций, на которые мы можем положиться при создании VR-опыта и контента.
Сейчас у нас высокофрагментированная экосистема в терминах возможностей устройств, и тут WebVR может выстрелить. Веб и его разработчики привыкли к фрагментации и отзывчивости, хотя отзывчивость для VR — это абсолютно новая игра.
Вот некоторые задачи, которые предстоит решить: что нам делать с множеством разных способов ввода? Как наладить мосты между VR и не VR-контентом? Как будет происходить взаимодействие и передвижение в VR-мире? Как будет выглядеть UI в этом мире?
— В чем важность VR? Очевидно, VR и AR здорово подходят для игр. Оглушительный успех Pokemon Go — хороший тому пример. Но какие есть полезные применения VR? Зачастую люди не воспринимают VR серьезно, а только как очередную игрушку.
— Мы на самом деле не используем все визуальные и интерактивные возможности веба. Всякий раз, когда вы работаете с отображенными в пространстве данными, можно использовать 3D (а значит и VR), чтобы они лучше воспринимались.
VR можно использовать во многих сферах. Игры — самое очевидное применение. Есть интересные применения в журналистике (инфографика во время интервью с Мишель Обамой), туризме (страница с VR-турами), образовании (например, с Cardboard Expeditions), визуализации данных (визуализация Brexit), развлечениях (Oculus Rex), архитектуре, недвижимости (Archilogic), электронной коммерции и порно.
Другой аспект VR — он дает новый уровень социального взаимодействия. VR никогда не заменит реальность до конца, но будет наилучшим суррогатом из всех возможных. Если вы не можете быть где-то — из-за инвалидности, медицинских показаний или географического расположения — с VR вы сможете получить опыт вместе с другими людьми (так, как это не было бы возможно сделать в реальном физическом мире).
— Как ты думаешь, изменится ли веб под воздействием VR? Как будут работать ссылки, скролл и как сохранить свойство веба — способность пользователя перемещаться откуда угодно куда угодно?
— Абсолютно точно, что изменится. И это одна из областей изучений и исследований сейчас.
Есть несколько потрясающих исследований, сделанных командами MozVR and GoogleVR и нашей командой. Мы еще не знаем, как это сделать, но мы экспериментируем. Поразительное время, не правда ли?
Например, экспериментируем с порталами и телепортацией, но могут быть и другие способы. Здесь нас ограничивает только воображение!
— Возможно сделать веб-страницы более VR’истыми?
— Это тоже область активного изучения. Есть интересные исследования с отзывчивым VR, где вы имеете обычный сайт с неким 3D-контентом, на котором можно пользоваться мышью/тачбаром и клавиатурой. Но если у вас мобильное устройство, вам стоит использовать сенсоры, чтобы улучшить пользовательский опыт. VR же будет работать, когда нам будет доступно VR-устройство. Про это подробнее можно прочитать в статье Бориса Смуса из команды Google WebVR
— Со всеми этими потрясающими штуками мы не должны забывать основной принцип: нельзя ломать веб. Предположим, мы переизобретем веб и браузер, создадим полноценный виртуальный веб. Как будут поддерживаться старые сайты 2D, не ломая при этом ощущения виртуального мира?
— Отличный вопрос. Есть несколько способов сделать это.
Один из них — вставить сайт в виртуальный фрейм и улучшить это каким-нибудь статическим окружением. Браузер GearVR от Samsung делает именно так. Вы стоите в комнате и видите перед собой плавающий экран с веб-контентом на нем.
Есть различные эксперименты с режимами, где сайт можно развернуть на 360° вокруг себя, но я считаю это слишком странным. Но это еще одно поле, открытое для идей!
— Достаточно ли хорошо браузерное API? Общее веб-API должно быть хуже, чем более специализированное под мобильное или VR-устройство. Значит ли это, что мы должны иметь в виду кучу разных устройств, чтобы создать по-настоящему крутой VR-контент? Как ты подходишь к этой проблеме?
— Именно по этой причине поддерживаю усилия по стандартизации. Это продолжение давней битвы Web vs Native, из которой мы вынесли уроки. WebVR API предоставляет такие же или очень близкие к нативным возможности, но совместимые с широким спектром устройств. В этом преимущество веба над большинством нативных VR SDK и приложений.
Было бы неправдой сказать, что проектировать под широкий спектр различных VR-устройств проще пареной репы. Но это возможно и гораздо легче, чем в нативном случае, потому что у нас есть общее API для доступа к сенсорам.
— У нас появляется еще одна группа пользователей, и это не может не повлиять на разработчиков. Должны ли веб-разработчики учиться чему-то новому для работы с VR? Какие навыки будут в цене?
— Мы только начинаем понимать, как VR должен работать. Поэтому ещё разбираемся, как может выглядеть разработка под VR. Из личного опыта могу сказать, что инструменты для дебага находятся в своем младенчестве. И хотя инспектор WebGL, эмулятор WebVR и инструменты более высокого уровня на подходе, A-Frame, Three.js и Unity начинают все больше внимания уделять VR.
Касательно навыков: инструменты высокого уровня избавляют от необходимости знать много математики. Однако характеристики производительности совсем отличаются от классического 2D-веба. Поэтому необходимо понимание того, как устроен GPU пайплайн и WebGL.
Еще одна тема, которую необходимо осознать разработчикам — эмпатия. VR дает очень реалистичный опыт. Многие вещи происходят у пользователя в подсознании, поэтому легко испугать или даже травмировать пользователей. Разработчикам необходимо понять, что будут чувствовать люди, когда они будут попадать в созданный мир в первый раз.
— Можешь тут рассказать подробнее? Эмпатия — это хорошо, но это человеческий фактор, а люди делают ошибки. Есть ли какие-то стандарты, правила, которые стоит соблюдать при разработке VR?
— Если VR сделан правильно, пользователь ощущает это как полное погружение-присутствие. Что это значит: ситуации, где человек может испугаться, по-настоящему испугают его, потому что окружение и все, что происходит в нем, кажется реальным.
Пример: представьте, что вы в комнате с несколькими стальными трубами. Неожиданно трубы начинают взрываться, куски металла летят в вашу сторону.
И хотя физически вы будете в полной безопасности, впечатления будут гораздо более интенсивными, травматичными, нежели то же самое произошло бы в обычном кино или игре. Когда вещи летят в вашу голову, у вас запускаются физиологические реакции. Некоторые люди могут закричать, упасть на пол, повредить себя.
Это правило мне кажется одним из самых главных: вы должны оставлять личное пространство пользователя чистым. Ничего не должно пролетать сквозь него, пол не должен ломаться, нельзя, чтобы другие игроки или персонажи могли схватить или ударить его (уже был прецедент сексуального домогательства в VR)
Также помните, что ваш опыт и навыки с UI необязательно переносятся в VR. У Google и Oculus есть на этот счет гайдлайны.
— Кому бы ты не стал рекомендовать VR?
— Я бы не рекомендовал VR6 людям, подверженным укачиванию. В этом случае стоит пробовать только высококачественные устройства, как Oculus Rift или HTC Vive. Контент для мобильного VR зачастую не обладает должным FPS и не может точно отслеживать ваше местоположение внутри комнаты.
Советую сначала сфокусироваться на исследовании мира или создания чего-то в нем. Например, попробуйте Tiltbrush, Google Earth или Fantastic Contraption. Не стоит сразу брать игры, которые могут вызвать страх или напряжение.
— Пара слов о комьюнити VR. Где я могу распространить VR-контент, найти единомышленников? С чего начать?
— Есть замечательная бесплатная книга и Slack для WebVR. Можно попробовать создать что-нибудь с помощью Three.js, A-Frame или Unity.
— Ты едешь к нам 11 декабря в Москву на HolyJS. Что планируешь рассказать?
— Я благодарен, что мне предложили поделиться своим опытом с WebVR, и надеюсь, что у меня получится поднять энтузиазм и интерес к этой теме у слушателей. Нам нужно больше светлых умов, чтобы объять эту тему, понять, как все должно работать. Хочу рассказать о том, что знаю: как выглядит текущий ландшафт устройств VR и как начать работать с ними. Наконец, задам несколько вопросов и расскажу про несколько проблем, которые мы сейчас решаем.
Удивительно, что виртуальную реальность можно сделать из мобильника и куска картона. Но другой вопрос: зачем она нужна и что мы можем с ней сделать? Игры понятно, но это все равно очень узкий сегмент. Может ли веб стать той точкой роста, которая сделает VR действительно распространенной технологией? Каким образом можно использовать виртуальную реальность уже сейчас?
Чтобы разобраться, мы взяли интервью у Maртина Сплитта, который горячо болеет этой темой уже пару лет.
— Пожалуйста, представься.
— Привет! Меня зовут Мартин Сплитт. Я @g33konaut в твиттере и AVGP на гитхабе. Живу в Цюрихе и работаю senior fullstack-инженером в Archilogic. И я плохо говорю по-русски ;-)
— Какой у тебя опыт с VR и почему тебе так интересна эта тема?
— VR меняет правила игры, потому что она сдвигает процесс восприятия: вы не просто наблюдаете, вы принимаете непосредственное участие в чем-то. Также люди реагируют на VR-опыт совсем по-другому, нежели на просто 3D.
Работаю с WebVR практически с того момента, как она появилась, — начиная с октября 2014 года. С начала 2015 года используем её в продакшене. В spaces.archilogic.com пользователи могут использовать Google Cardboard, Oculus Rift или HTC Vive, чтобы ходить по офисам или квартирам в VR. Мы получили интересный опыт, работая над продуктом. Поэтому выступаю с докладами, чтобы поделиться этим опытом, и слежу за разработкой стандартов WebVR в консорциуме W3C.
— Впервые о VR заговорили в 1950 году. И с тех пор мы продолжаем думать и говорить о VR. Но почему такой большой интерес к ней именно сейчас, что изменилось?
— Если вы посмотрите на «Дамоклов меч» — первое VR-устройство, увидите, что это было довольно страшное, громоздкое, хитроумное изобретение. Большим барьером для распространения VR, кроме стоимости, сложности установки и размеров устройства, была нехватка доступного контента. В 90-x была вторая волна VR-устройств, таких как Virtual Boy, но высокая цена и нехватка контента мешали их распространению.
Ещё одним большим препятствием стало отсутствие технологии для убедительного погружения. Только недавно мы узнали, что VR при менее 90 кадрах в секунду вызывает укачивание у многих людей, что нарушает погружение. Мы выросли с виртуальными мирами без погружения: привыкли к компьютерной графике в фильмах, интернете, играх. Это делает нас более восприимчивыми к такой категории контента. Компьютеры стали достаточно мощными, чтобы рендерить виртуальные миры с производительностью, которая необходима для VR. Появились устройства по доступной цене — дешевые Daydream VR, GearVR и Cardboard и не такие дешевые, но доступные для энтузиастов Oculus и Vive. Поэтому все, что нас останавливает сейчас — это недостаток VR-контента. Но контент может быть создан почти кем угодно. Спасибо таким технологиям, как Unity, Unreal Engine и A-Frame. Что-то уже появилось в SteamVR или Oculus. Количество контента быстро растет.
— Какой текущий статус VR? Какие задачи стоят перед VR и webVR?
— Мы еще в самом начале пути, нам нужны эксперименты и исследования. Множество вещей еще не придумали. Нет конвенций, на которые мы можем положиться при создании VR-опыта и контента.
Сейчас у нас высокофрагментированная экосистема в терминах возможностей устройств, и тут WebVR может выстрелить. Веб и его разработчики привыкли к фрагментации и отзывчивости, хотя отзывчивость для VR — это абсолютно новая игра.
Вот некоторые задачи, которые предстоит решить: что нам делать с множеством разных способов ввода? Как наладить мосты между VR и не VR-контентом? Как будет происходить взаимодействие и передвижение в VR-мире? Как будет выглядеть UI в этом мире?
— В чем важность VR? Очевидно, VR и AR здорово подходят для игр. Оглушительный успех Pokemon Go — хороший тому пример. Но какие есть полезные применения VR? Зачастую люди не воспринимают VR серьезно, а только как очередную игрушку.
— Мы на самом деле не используем все визуальные и интерактивные возможности веба. Всякий раз, когда вы работаете с отображенными в пространстве данными, можно использовать 3D (а значит и VR), чтобы они лучше воспринимались.
VR можно использовать во многих сферах. Игры — самое очевидное применение. Есть интересные применения в журналистике (инфографика во время интервью с Мишель Обамой), туризме (страница с VR-турами), образовании (например, с Cardboard Expeditions), визуализации данных (визуализация Brexit), развлечениях (Oculus Rex), архитектуре, недвижимости (Archilogic), электронной коммерции и порно.
Другой аспект VR — он дает новый уровень социального взаимодействия. VR никогда не заменит реальность до конца, но будет наилучшим суррогатом из всех возможных. Если вы не можете быть где-то — из-за инвалидности, медицинских показаний или географического расположения — с VR вы сможете получить опыт вместе с другими людьми (так, как это не было бы возможно сделать в реальном физическом мире).
— Как ты думаешь, изменится ли веб под воздействием VR? Как будут работать ссылки, скролл и как сохранить свойство веба — способность пользователя перемещаться откуда угодно куда угодно?
— Абсолютно точно, что изменится. И это одна из областей изучений и исследований сейчас.
Есть несколько потрясающих исследований, сделанных командами MozVR and GoogleVR и нашей командой. Мы еще не знаем, как это сделать, но мы экспериментируем. Поразительное время, не правда ли?
Например, экспериментируем с порталами и телепортацией, но могут быть и другие способы. Здесь нас ограничивает только воображение!
— Возможно сделать веб-страницы более VR’истыми?
— Это тоже область активного изучения. Есть интересные исследования с отзывчивым VR, где вы имеете обычный сайт с неким 3D-контентом, на котором можно пользоваться мышью/тачбаром и клавиатурой. Но если у вас мобильное устройство, вам стоит использовать сенсоры, чтобы улучшить пользовательский опыт. VR же будет работать, когда нам будет доступно VR-устройство. Про это подробнее можно прочитать в статье Бориса Смуса из команды Google WebVR
— Со всеми этими потрясающими штуками мы не должны забывать основной принцип: нельзя ломать веб. Предположим, мы переизобретем веб и браузер, создадим полноценный виртуальный веб. Как будут поддерживаться старые сайты 2D, не ломая при этом ощущения виртуального мира?
— Отличный вопрос. Есть несколько способов сделать это.
Один из них — вставить сайт в виртуальный фрейм и улучшить это каким-нибудь статическим окружением. Браузер GearVR от Samsung делает именно так. Вы стоите в комнате и видите перед собой плавающий экран с веб-контентом на нем.
Есть различные эксперименты с режимами, где сайт можно развернуть на 360° вокруг себя, но я считаю это слишком странным. Но это еще одно поле, открытое для идей!
— Достаточно ли хорошо браузерное API? Общее веб-API должно быть хуже, чем более специализированное под мобильное или VR-устройство. Значит ли это, что мы должны иметь в виду кучу разных устройств, чтобы создать по-настоящему крутой VR-контент? Как ты подходишь к этой проблеме?
— Именно по этой причине поддерживаю усилия по стандартизации. Это продолжение давней битвы Web vs Native, из которой мы вынесли уроки. WebVR API предоставляет такие же или очень близкие к нативным возможности, но совместимые с широким спектром устройств. В этом преимущество веба над большинством нативных VR SDK и приложений.
Было бы неправдой сказать, что проектировать под широкий спектр различных VR-устройств проще пареной репы. Но это возможно и гораздо легче, чем в нативном случае, потому что у нас есть общее API для доступа к сенсорам.
— У нас появляется еще одна группа пользователей, и это не может не повлиять на разработчиков. Должны ли веб-разработчики учиться чему-то новому для работы с VR? Какие навыки будут в цене?
— Мы только начинаем понимать, как VR должен работать. Поэтому ещё разбираемся, как может выглядеть разработка под VR. Из личного опыта могу сказать, что инструменты для дебага находятся в своем младенчестве. И хотя инспектор WebGL, эмулятор WebVR и инструменты более высокого уровня на подходе, A-Frame, Three.js и Unity начинают все больше внимания уделять VR.
Касательно навыков: инструменты высокого уровня избавляют от необходимости знать много математики. Однако характеристики производительности совсем отличаются от классического 2D-веба. Поэтому необходимо понимание того, как устроен GPU пайплайн и WebGL.
Еще одна тема, которую необходимо осознать разработчикам — эмпатия. VR дает очень реалистичный опыт. Многие вещи происходят у пользователя в подсознании, поэтому легко испугать или даже травмировать пользователей. Разработчикам необходимо понять, что будут чувствовать люди, когда они будут попадать в созданный мир в первый раз.
— Можешь тут рассказать подробнее? Эмпатия — это хорошо, но это человеческий фактор, а люди делают ошибки. Есть ли какие-то стандарты, правила, которые стоит соблюдать при разработке VR?
— Если VR сделан правильно, пользователь ощущает это как полное погружение-присутствие. Что это значит: ситуации, где человек может испугаться, по-настоящему испугают его, потому что окружение и все, что происходит в нем, кажется реальным.
Пример: представьте, что вы в комнате с несколькими стальными трубами. Неожиданно трубы начинают взрываться, куски металла летят в вашу сторону.
И хотя физически вы будете в полной безопасности, впечатления будут гораздо более интенсивными, травматичными, нежели то же самое произошло бы в обычном кино или игре. Когда вещи летят в вашу голову, у вас запускаются физиологические реакции. Некоторые люди могут закричать, упасть на пол, повредить себя.
Это правило мне кажется одним из самых главных: вы должны оставлять личное пространство пользователя чистым. Ничего не должно пролетать сквозь него, пол не должен ломаться, нельзя, чтобы другие игроки или персонажи могли схватить или ударить его (уже был прецедент сексуального домогательства в VR)
Также помните, что ваш опыт и навыки с UI необязательно переносятся в VR. У Google и Oculus есть на этот счет гайдлайны.
— Кому бы ты не стал рекомендовать VR?
— Я бы не рекомендовал VR6 людям, подверженным укачиванию. В этом случае стоит пробовать только высококачественные устройства, как Oculus Rift или HTC Vive. Контент для мобильного VR зачастую не обладает должным FPS и не может точно отслеживать ваше местоположение внутри комнаты.
Советую сначала сфокусироваться на исследовании мира или создания чего-то в нем. Например, попробуйте Tiltbrush, Google Earth или Fantastic Contraption. Не стоит сразу брать игры, которые могут вызвать страх или напряжение.
— Пара слов о комьюнити VR. Где я могу распространить VR-контент, найти единомышленников? С чего начать?
— Есть замечательная бесплатная книга и Slack для WebVR. Можно попробовать создать что-нибудь с помощью Three.js, A-Frame или Unity.
— Ты едешь к нам 11 декабря в Москву на HolyJS. Что планируешь рассказать?
— Я благодарен, что мне предложили поделиться своим опытом с WebVR, и надеюсь, что у меня получится поднять энтузиазм и интерес к этой теме у слушателей. Нам нужно больше светлых умов, чтобы объять эту тему, понять, как все должно работать. Хочу рассказать о том, что знаю: как выглядит текущий ландшафт устройств VR и как начать работать с ними. Наконец, задам несколько вопросов и расскажу про несколько проблем, которые мы сейчас решаем.
Поделиться с друзьями
savelichalex
Наверно хотели написать GPU пайплайн?
sergeylapin
Поправил, спасибо!