Новая игра с WebXR и поддержкой камеры с глубиной

Агентство Paradowski Creative выпустило игру WebXR под названием «The Escape Artist», доступную сейчас, с продвинутой поддержкой отслеживания контроллеров Quest 3 с использованием кнопок для взаимодействия и телепортации. В процессе адаптации поддержки трекинга взгляда и движений рук для Vision Pro, технический директор Джеймс К. Кейн изучил вопросы, связанные с дизайном, технологией и конфиденциальностью.

От полной зависимости Vision Pro от жестов и отслеживания взгляда есть как преимущества, так и недостатки. Однако когда это работает, ввод на основе взгляда кажется обещанным нам будущим – будто компьютер в реальном времени читает ваши мысли и предоставляет желаемое. Эта первая версия неидеальна из-за опасений относительно защиты личных данных, но Apple определенно задал новый стандарт для погружающегося пользовательского опыта.

Инновации даже перенесены в интернет в виде ввода transient-pointer в браузере Safari. Современный браузер сам по себе является полнофункциональной платформой для пространственных вычислений, и Apple вызвал удивление, когда объявил о бета-поддержке кросс-платформенного стандарта WebXR в Vision Pro с момента запуска. Несмотря на некоторые ограничения, мгновенная глобальная поставка погружающихся впечатлений без курирования в App Store или комиссий делает эту платформу невероятно мощной, интересной и доступной.

Разработка и популярность VR-игры

В Paradowski Creative на протяжении нескольких лет мы изучали этот канал. Мы агентская команда, создающая погружающиеся впечатления для топовых мировых брендов, таких как Sesame Street, adidas и Verizon, но мы также инвестируем в награжденный оригинальный контент, чтобы продвигать возможности среды. «The Escape Artist» – наша VR-игра-квест, где вы играете роль музы художника, пойманного в своей собственной работе, расшифровываете подсказки и решаете головоломки, чтобы найти вдохновение и сбежать в реальный мир. Она выставлена на главной странице каждого Meta Quest гарнитуры в мире, сыграна более чем четвертью миллиона людей в 168 странах и была выбрана победителем как Лучший повествовательный опыт на этогодичной церемонии Webby Awards.

Игра была в первую очередь разработана для физических контроллеров Meta Quest, и мы были на полпути в производство, когда Vision Pro был объявлен. Тем не менее, настоящий потенциал WebXR заключается в его кросс-платформенной и кросс-интерфейсной универсальности, и мы быстро осознали, что наша концепция могла бы хорошо работать в обоих режимах ввода. Мы смогли представить бета-поддержку отслеживания рук на Apple Vision Pro вскоре после его запуска, но теперь, когда у нас есть более полная документация по новому вводу на основе отслеживания взгляда от Apple, пришло время пересмотреть эту работу. Посмотрим, как раскрыт глазной след, для чего это может быть полезно и где это может оказаться несостоятельным.

Предыдущий опыт и документация

Ада Роуз Кэннон и Брандель Захернук из Apple недавно опубликовали блог, объясняющий, как работает данный ввод, включая его жизненный цикл и ключевые детали, обеспечивающие сохранение конфиденциальности. Блог также включает пример с использованием three.js, который заслуживает рассмотрения.

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

Apple справедливо видит это как чрезвычайно личные данные, которые должны быть защищены на уровне системы и с особой осторожностью обрабатываться разработчиками. Чтобы решить эти проблемы, данные о линии взгляда критически раскрываются только на один кадр. Это должно предотвратить злоупотребления со стороны злонамеренных разработчиков — но на практике это также препятствует созданию эффектов подсветки на основе взгляда перед выбором объекта. Точно так же разработчикам родной платформы не предоставляется прямой доступ к векторам взгляда кадр-за-кадром, но они могут использовать поддержку на уровне операционной системы от компонентов UIKit. Мы считаем, что Apple в конечном итоге пойдет и в этом направлении для веба, но пока это остается ограничением.

Несмотря на это, использование ввода transient-pointer для выбора объекта имеет смысл, когда выбираемые объекты занимают достаточно вашего поля зрения, чтобы избежать разочаровывающих промахов. Но как тестовый случай, я бы хотел попробовать разработать другой основной механизм — и я заметил последовательную проблему с контентом для Vision Pro, которую мы можем помочь решить.

Локомоция: постановка проблемы

Мало кто или вообще никто из приложений на Vision Pro позволяет полную свободу движения и самостоятельное перемещение по виртуальному пространству. Маркетинг Apple акцентирует внимание на сидячих, стационарных переживаниях, многие из которых происходят внутри плоских, 2D окон, парящих перед пользователем. Даже в полностью погружающихся приложениях, в лучшем случае у вас есть линейная телепортация на основе горячих точек, без истинного чувства контроля или исследования.

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

С точки зрения Vision Pro, изображение слева показывает жест щипка, который легко узнать — трассировка луча от этой ориентации запястья до объектов в радиусе нескольких метров была бы хорошо работать. Но справа, по мере того как пользователь выпрямляет локоть всего на несколько градусов, чтобы указать на землю, жест становится практически нераспознаваемым для датчиков камеры, а сиденье пользователя дополнительно становится физическим барьером для указания прямо вниз. «Быстрое ущипывание» – это простой случай — эти проблемы умножаются на более сложные жесты, включающие множество позиций суставов (например, ✌️, 🤘, или👍).

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

Простая реализация механизма

Хотя пример от Apple с использованием transient-pointer написан в three.js, наша игра сделана в Wonderland Engine, более пох