Webxr что это
Перейти к содержимому

Webxr что это

  • автор:

Hello WebXR: новая демонстрация возможностей браузерной виртуальной реальности от Mozilla

Mozilla запустила веб-приложение виртуальной реальности под названием «Hello WebXR». Оно представляет собой вводный тур для новичков в виртуальной реальности и показывает различные типы контента и взаимодействий, доступных в реальном времени через интернет.

Открыть приложение могут пользователи очков с браузерами, в которых есть поддержка разметки WebXR, таких как Quest с Oculus Browser, или любых очков для ПК с Google Chrome или, ещё лучше, Firefox Reality от самой Mozilla, которая наверняка насчитывала на совместную работу своих решений.

Для запуска достаточно перейти по ссылке https://blog.mozvr.com/hello-webxr/. Здесь вас ждёт множество различных объектов для взаимодействия. Вы сможете сыграть на ксилофоне, посмотреть картины, пролистать на ленту Twitter, которая показывает любые любые твиты с тегом #hellowebxr, и даже сделать граффити. В главном зале есть несколько глобусов, которые телепортируют вас в сферические фото.

Три двери переносят из главного зала в другие места, где вы можете насладиться позиционным звуком, посмотреть на классические скульптуры и прогуляться по верхнему этажу небоскрёба.

Приложение создано с использованием движка three.js и инфраструктуры ECSY, стандарта glTF с компрессией Draco для моделей и Basis для текстур. Модели созданы в Blender. Везде работает рапечённое освещение.

В роли стороннего контента выступили фотограмметрические скульптуры, звуки с freesound.org и классические картины из общедоступных онлайн-галерей.

Исходный код хранится на GitHub.

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

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

Основы WebXR

WebXR, с ядром WebXR Device API обеспечивает функциональные возможности, необходимые для использования (AR и VR) в Интернете как с дополненной, так и с виртуальной реальностью. Вместе эти технологии называются смешанной реальностью (MR) или перекрестной реальностью (XR). Смешанная реальность — это большая и сложная тема, в которой нужно многому научиться, и многие другие APIs нужно объединить, чтобы создать привлекательный опыт для пользователей.

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

Что такое WebXR, а что нет

WebXR — это API для веб-контента и приложений, которые можно использовать для взаимодействия с оборудованием смешанной реальности, таким как гарнитуры и очки виртуальной реальности со встроенными функциями дополненной реальности. Это включает в себя как управление процессом рендеринга представлений, необходимых для имитации 3D-опыта, так и способность определять движение гарнитуры (или другого устройства обнаружения движения) и предоставлять необходимые данные для обновления изображений, показываемых пользователю.

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

WebXR не является технологией рендеринга и не предоставляет функций для управления 3D-данными или их рендеринга на дисплее. Это важный факт, о котором следует помнить. Хотя WebXR управляет синхронизацией, планированием и различными точками зрения, соответствующими рисованию сцены, он не знает, как загружать модели и управлять ими, как их визуализировать и текстурировать и так далее. Эта часть полностью зависит от вас. К счастью, доступны WebGL и различные платформы на основе WebGL, а также libraries, которые значительно упрощают работу со всем этим.

Чем WebXR отличается от WebVR?

WebVR считался экспериментальным API, предназначенным для того, чтобы помочь составителям спецификаций определить наилучшие подходы к созданию виртуальной реальности API в Интернете. Разработчики браузеров добавили в браузеры поддержку WebVR, что позволило веб-разработчикам экспериментировать. Но вскоре стало ясно, что для допиливания API для виртуальной реальности в сети разумнее будет начать новую спецификацию, чем пытаться «починить» WebVR.

Это привело к рождению WebXR.. Принципиальное отличие заключается в том, что WebXR поддерживает не только виртуальную реальность, но и дополненную реальность, которая смешивает виртуальные объекты с окружающей средой пользователя.

Еще одно ключевое отличие заключается в том, что WebXR имеет встроенную поддержку расширенного input controllers , который используется с большинством гарнитур смешанной реальности, в то время как WebVR полагался на Gamepad API для поддержки контроллеров. В WebXR, основные действия выбора и сжатия поддерживаются напрямую с помощью событий, в то время как другие элементы управления доступны через специальную реализацию WebXR-specific объекта Gamepad .

Basic concepts

Прежде чем вдаваться в подробности, давайте рассмотрим некоторые основные понятия, которые вам необходимо знать, прежде чем вы научитесь разрабатывать XR-код.

Поле зрения

Термин поле зрения (FOV) относится к любой визуальной технологии, от старых пленочных камер до современных цифровых видеокамер, включая камеры в компьютерах и мобильных устройствах.

Что такое поле зрения?

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

Человеческий глаз может воспринимать FOV под углом около 135°. Предполагая, что у человека два здоровых глаза, общее поле зрения в конечном итоге составляет от 200° до 220° в ширину. Почему FOV шире с двумя глазами, но не вдвое больше, чем FOV с одним глазком? Это потому, что FOV двух глаз сильно перекрываются. Это перекрытие дает нам восприятие глубины, ширина которого составляет около 115°. За пределами области перекрытия наше зрение возвращается к монокулярному.

Показанный здесь рисунок демонстрирует концепцию синего клина FOV: для левого глаза и красного клина для правого глаза. Светло-коричневая перекрывающаяся область — это место, где зритель имеет бинокулярное зрение и может воспринимать глубину. Если вы посмотрите внимательно, то увидите, что каждый глаз видит кубик немного по-разному, а комбинированный вид объединяет их в трехмерную форму.

Как правило, приложения определяют и управляют только горизонтальным FOV.. Дополнительные сведения см. в разделе The optics of 3D .

Поле зрения и устройства смешанной реальности

Чтобы добиться достаточно широкого поля зрения, чтобы глаза пользователя обманулись, заставив его поверить, что виртуальный мир полностью его окружает, FOV должен как минимум приблизиться к ширине области бинокулярного зрения. Стандартные гарнитуры обычно имеют угол обзора около 90°, в то время как лучшие гарнитуры обычно имеют угол обзора около 150°. Поскольку FOV зависит от размера линз и от того, насколько близко они расположены к глазам пользователя, существуют ограничения на то, насколько широким может быть FOV без установки линз в глазные яблоки пользователя.

Широкий FOV может существенно улучшить ощущение погружения пользователя. Однако увеличение FOV также может увеличить вес и стоимость гарнитуры.

Степени свободы

Термин «степени свободы» указывает на то, сколько свободы передвижения имеет пользователь в виртуальном мире. Это напрямую связано с тем, сколько типов движения аппаратная конфигурация WebXR способна распознавать и воспроизводить в виртуальной сцене.

Рисунок: Диаграмма, показывающая движения, возможные с оборудованием с 3 степенями свободы: рыскание, крен и тангаж. Свобода вращательного движения

Первые три степени свободы вращательные. Вращательные степени свободы:

  • Шаг: взгляд вверх и вниз
  • Yaw: взгляд влево и вправо
  • Рулон: наклон влево и вправо

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

Типичная базовая гарнитура предлагает три степени свободы, распознавая вращение вокруг всех трех осей. Это часто называют сокращением 3DoF.

Свобода поступательного движения

Остальные три степени свободы являются поступательными, обеспечивая способность ощущать движение в пространстве: вперед и назад, влево и вправо, вверх и вниз. Поддержка всех шести степеней свободы обозначается как 6DoF.

Некоторые более продвинутые гарнитуры обеспечивают по крайней мере минимальную поддержку обнаружения поступательного движения, но для захвата более существенного движения в пространстве обычно требуются внешние датчики, такие как камеры (использующие либо видимый свет, либо infrared).).

Режимы сеанса WebXR

WebXR предлагает поддержку как сеансов дополненной реальности (AR), так и сеансов виртуальной реальности (VR) с использованием одного и того же API.. Тип сеанса, который вы хотите создать, указывается при создании сеанса. Это делается путем указания соответствующей строки режима сеанса для типа сеанса, который вы хотите создать.

Virtual reality

В среде виртуальной реальности все изображение создается в цифровом виде вашим приложением или сайтом, от объектов переднего плана до фона или скайбокса. Ваш код отрисовки кадра должен будет перерисовывать каждый пиксель каждого вида во время каждого кадра, чтобы избежать возможных артефактов. Некоторые платформы могут предоставлять вам ранее очищенные кадры, в то время как другие могут оптимизировать производительность, не стирая буферы кадра, чтобы избежать необходимости касаться каждого пикселя дважды за кадр.

В модели WebXR: доступно два режима сеанса виртуальной реальности: встроенный и иммерсивный. Первый, указанный строкой режима сеанса inline , представляет визуализированную сцену в контексте документа в веб-браузере и не требует для просмотра специального оборудования XR. Режим иммерсивного сеанса указывается с помощью режима сеанса immersive-vr . Этот режим сеанса требует устройства XR, такого как гарнитура, и заменяет весь мир визуализированной сценой с использованием дисплеев, отображаемых для каждого глаза пользователя.

Augmented reality

В дополненной реальности (AR), пользователь видит изображения, которые вы визуализируете, представленные поверх физической, реальной среды вокруг них. Поскольку AR — это всегда захватывающий опыт, в котором сцена — это весь мир вокруг пользователя (вместо того, чтобы быть заключенным в коробку на screen),, единственный режим сеанса AR — immersive-ar .

Существует два основных типа устройств дополненной реальности:

  • Устройства, которые используют камеры для захвата мира перед пользователем, отображают содержимое WebXR поверх этого изображения, а затем отображают изображение на экране. К этим устройствам относятся телефоны, которые отображают результирующую сцену на экране устройства в 2D-презентации, а также очки, в которых используется пара камер, по одной для каждого глаза, для захвата сцены в стереофоническом режиме, чтобы сохранить глубину мира, при этом сцена WebXR затем визуализируется для каждого глаза с захваченным фоном этого глаза на месте.
  • Устройства, в которых используются прозрачные очки, позволяющие пользователю видеть мир, при этом визуализированное изображение накладывается поверх сцены. Таким образом, пользователь напрямую просматривает реальный мир, а не серию его цифровых фотографий.

Оба типа устройств должны также поддерживать сеансы виртуальной реальности. WebXR обычно не волнует, какой тип устройства вы используете, и процесс рендеринга почти такой же, как и для VR,, за исключением того, что вы не стираете фон или скайбокс перед рендерингом каждого кадра.

Типы оборудования WebXR

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

Более простые и недорогие устройства XR обычно используют встроенный компьютер или подключаются к смартфону, в основном используя мобильные CPU и GPU для запуска приложений, рендеринга изображений и их отображения пользователю. Решения с более высокой мощностью обычно переносят выполнение приложений и обработку графики на внешнее устройство, такое как настольный компьютер, и либо подключаются к компьютеру с помощью кабеля, либо используют беспроводную сеть для получения изображений для отображения пользователю.

Headsets

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

В подавляющем большинстве гарнитур используется один дисплей, рамка которого разделена пополам, причем по одной половине фокусируется на каждом глазу пользователя. Например, если в гарнитуре используется экран с разрешением 2560×1440, левая половина которого используется для просмотра левым глазом, а правая — правым, буфер кадра используется следующим образом:

Самые простые гарнитуры не имеют встроенных датчиков и фокусируют каждую половину экрана в соответствующий глаз. Типичным примером этого является Google Cardboard , тип гарнитуры, впервые созданный Google, который можно дешево создать из картона или других недорогих материалов. Эти устройства часто работают, подключая ваш телефон к гарнитуре, чтобы его экран и встроенный графический процессор можно было использовать для рендеринга и отображения сцены XR.

Более продвинутые гарнитуры имеют встроенные дисплеи и крепятся к голове с помощью резинки, ремешка или ремешка с застежкой-липучкой. Эти гарнитуры могут включать встроенные динамики и микрофон, разъемы and/or для подключения внешних. Кроме того, эти гарнитуры могут иметь различные датчики для обнаружения перемещения гарнитуры в пространстве. Типы и количество включенных датчиков определяют, сколько degrees of freedom имеется у пользователя.

Очки и очки

Очки XR похожи на гарнитуры тем, что они включают в себя размещение поверхностей графического дисплея перед глазами, чтобы отображать виды сцены, необходимые для имитации глубины моделируемой сцены.

Разница в том, что очки проходят через реальный мир, накладывая визуализированное изображение поверх физической среды пользователя. Это делается без цифрового воспроизведения мира, как это было бы необходимо при использовании полноценной гарнитуры. Вместо этого поверхность дисплея прозрачна, и если ничего не отображать, это практически идентично ношению обычных очков. Когда объекты рисуются, они рисуются на линзах очков, частично или полностью блокируя видимость физической среды через затемненную часть линзы.

CAVEs

Cave Automated Virtual Environment (CAVE) — это иммерсивная виртуальная среда, в которой сцена проецируется или иным образом отображается на стенах (а также, возможно, на потолке and/or floor),, что полностью окружает пользователя симуляцией и позволяет ему погрузиться в сцену. Пользователь носит 3D-очки, которые одновременно добавляют 3D-эффект к проецируемому изображению, но предоставляют системе средства для визуализации объектов переднего плана в мире .

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

Они не распространены среди обычных пользователей; в основном они либо экспериментальные, либо используются в демонстрационных целях, либо используются более крупными организациями. Одним из недостатков является то, что CAVE не может имитировать ничего ближе стены.

Важные напоминания о здоровье и безопасности

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

Болезнь виртуальной реальности

Virtual reality sickness — это состояние, при котором человек, погружающийся в виртуальную реальность, чувствует дискомфорт, дезориентацию или даже серьезную тошноту во время, а иногда и в течение короткого времени после опыта.

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

Дефекты, несовпадения или искажения могут сбивать с толку глаза и мозг, что приводит к чему угодно, от боли в глазах или головной боли до в некоторых случаях головокружения, головокружения или потенциально сильной тошноты. Также важно быть внимательным ко всему, что вы можете показать, что может вызвать припадки, учитывая всеобъемлющий характер гарнитуры; пользователь может быть не в состоянии быстро отвести взгляд от изображения, которое вы представляете, если оно вызывает дискомфорт.

Physical risks

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

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

Если у вас есть какой-либо контент, который может представлять опасность для любых пользователей, вы должны предоставить предупреждающее сообщение. Точно так же стоит напомнить пользователям, чтобы они по возможности оставались на своих местах и были осторожны при передвижении с гарнитурой, если опыт представляет собой полное погружение в виртуальную реальность. Всегда лучше перестраховаться, чем потом сожалеть!

Роль фреймворков

Поскольку 3D-графика — и, в частности, смешанная реальность — включает в себя множество часто запутанных математических операций, управление данными и другие сложные задачи, маловероятно, что в большинстве случаев вы будете напрямую использовать WebGL для рендеринга своей сцены. Вместо этого вы, вероятно, будете выполнять большую часть своей работы, используя одну из платформ или libraries, которые построены поверх WebGL, чтобы сделать их более удобными в использовании.

Особым преимуществом использования фреймворка вместо непосредственного использования WebGL API является то, что libraries, как правило, реализует функциональность виртуальной камеры. OpenGL (и, следовательно, WebGL в расширении) не предлагает вид с камеры напрямую, использование library, который имитирует его от вашего имени, может значительно упростить вашу работу, особенно при создании кода, который позволяет свободно перемещаться по вашему виртуальному миру.

Поскольку WebGL используется для рендеринга 3D-мира в сеансе WebXR, вы должны сначала ознакомиться с общим использованием WebGL’s и с основами 3D-графики в целом.

3D-фреймворки общего назначения

Эти фреймворки хороши для программирования общего назначения, а также для разработки игр, когда вы хотите самостоятельно реализовать логику. Они предназначены для создания и анимации 3D-сцен независимо от контекста.

  • A-Frame (специально разработан для создания приложений WebXR-based)
  • Babylon.js
  • Three.js

Game toolkits

Наборы игровых инструментов предназначены для разработчиков игр и часто включают в себя игровые особенности, такие как физические модели, системы управления вводом, управление активами, воспроизведение трехмерного звука и т.п.

Next steps

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

  • Жизненный цикл приложения WebXR
  • Запуск и завершение сеанса WebXR
  • Движение, ориентация и движение: пример WebXR

Технология «WebXR» (3D модель игрового персонажа)

Технология WebXR является относительно молодой и инновационной в своем сегменте. Главной отличительной особенностью данной технологии от VR, AR и MR является то, что она изначально фокусируется на пространственной смешанной реальности в веб, проще говоря через браузеры. При работе с созданным на WebGL трёхмерным контентом API WebXR может превращать обычные URL или веб-адреса в порталы в другие миры.

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

Описание

Для того чтобы воспользоваться технологией WebXR, нажмите в окне с трехмерной моделью персонажа, в нижнем правом углу на иконку «Проекция» и разрешите доступ к камере. Затем просто наведите смартфон на пол или другую ровную поверхность, чтобы разместить модель. Как только модель будет устойчива на поверхности, Вы можете жестом масштабирования (двумя пальцами сводите-разводите модель в углы экрана своего смартфона) увеличить или уменьшить размер модели в помещении. Так же тапнув и задержав кончиком пальца у любого края модели персонажа, Вы можете вращать его в нужном направлении. Зажав пальцем центральную часть основания модели и двигая в разные стороны, Вы измените расположение ее в сцене, проще говоря переместите ее. Экспериментируйте ��

На веб-сайтах появилась возможность добавлять ссылку для запуска приложения WebXR Experience удаленно на Quest

Теперь веб-сайты могут добавлять кнопку для дистанционной загрузки URL-адреса на Quest.

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

Теперь веб-сайты могут добавлять кнопку для дистанционной загрузки URL-адреса на Quest

Кликнув по ссылке, вы попадете в раздел «Открыть в VR» на сайте Oculus. com, где вас спросят, на какой гарнитуре вы хотите открыть сайт. URL может быть обычной ссылкой на веб-сайт или иммерсивным опытом WebXR.

Если гарнитура включена и подключена к интернету, нажатие на кнопку «Открыть» автоматически запустит браузер Meta Quest Browser и откроет URL-адрес, так что когда вы наденете гарнитуру, страница уже будет загружена.

Платформа для хостинга 3D помещений Matterport стала первой крупной WebXR платформой, внедрившей Quest Web Launch.

Разработчики могут добавить кнопку Meta Quest Web Launch на свой сайт, создав ссылку со следующим синтаксисом:

Например:

Благодаря этой функции значительно уменьшится проблема, связанная с поиском WebXR опыта на телефоне или компьютере и переходом к нему в гарнитуре виртуальной реальности.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *