{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Трёхмерное мышление. Возможности и ограничения XR

Какие есть движки для разработки XR проектов? Как нам помогли архивы NASA? Чем плох и хорош WebAR? Убьют ли санкции индустрию XR в России? (да)

Рассказывает Марианна Алпатова, CTO и co-founder Magic Quick.

Уникальный процесс для уникальных проектов

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

У некоторых компаний производство дополненной реальности похоже на конвейер. Например, если студия делает книги в дополненной реальности или оживляет фотографии. Здесь всё просто: добавляешь метку (страницу или фотографию) и связываешь ее с какой-то анимацией или видео. Пользователь наводит смартфон на метку и радуется. У нас же заказчики из разных сфер с разными задачами, поэтому и проекты отличаются.

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

Мы очень любим программирование. Когда сталкиваешься со сложными техническими и математическими задачами, есть особый спортивный интерес, чтобы их решить. Например, когда к нам обратилась компания, которая запускает в космос спутники, возникла проблема с конвертацией величин. Пришлось залезть в древние архивы NASA и в них найти функцию, написанную на их собственном языке программирования IDL, которая конвертирует из одной системы счисления в другую. Было очень приятно, когда переписав её на свой рабочий язык программирования, мы с удивлением обнаружили, что она работает. Это вызывает искренний восторг. Особенно когда происходит в пять часов утра.

Как выбрать движок для разработки и что выбрали мы

Есть два самых популярных игровых движка: Unity и Unreal Engine. Unreal подходит больше для разработки проектов с крутой графикой под ПК, поэтому там имеет смысл разрабатывать высокореалистичные VR приложения. С другой стороны, есть Unity, который занимает процентов 80 мобильных проектов. Так как мы больше занимаемся AR, то и целевой платформой для нас будут являться именно смартфоны и планшеты, поэтому решили использовать в работе именно Unity. Unity начали работать с Vuforia, которая была одной из первых на рынке коммерческого AR. Началось всё с простой меточной дополненной реальности, а с приходом ARKit и ARCore технология значительно развилась. Unity их адаптировал и сделал так, чтобы этим было удобно пользоваться.

Таким образом, мы привыкли работать с Unity. Можно было бы делать нативно на Android Studio и Xcode, но тогда пришлось бы увеличить трудозатраты: нужны отдельные специалисты для каждой платформы. И там движки скорее физические, чем игровые, поэтому сильно функционально ограничены. Более того, у Android 3D разработка развита хуже, чем на iOS. Разумеется, также присутствуют традиционные проблемы с оптимизацией для всех устройств. Но опыт нативной разработки у нас тоже есть. Например, мы делали большой маркетплейс мебели на нативных платформах, но там не требовалось ничего сложнее перемещения и вращения объекта.

Для веб-проектов используем платформу WebGL внутри всё той же Unity. Конечно, существуют различные другие веб-платформы, которые позволяют создавать WebAR с помощью языка JS и таких библиотек как THREE.js, Babylon.js или A-FRAME, но там свои нюансы и сложности, в которых надо глубоко разбираться и иметь определённый опыт. Так как практически все наши проекты обычно «горящие», которые нужны были заказчику ещё "вчера", то и инструменты мы выбираем те, в которых уверенно ориентируемся, чтобы никого не подводить и гарантировать качественный результат.

Как и везде, найти разработчиков для дополненной реальности непросто. Многие заходят в IT на хайпе после курсов, где им обещают огромные зарплаты, но по факту они ничего не понимают и не умеют. Порой сложно найти даже обычного, но толкового Unity разработчика без опыта в AR, лишь бы он мог скриптовать трёхмерный контент и верстать красивые анимированные интерфейсы.

Почему WebAR (пока) тормозит индустрию

Есть много идей как использовать дополненную реальность, но все они разбиваются о технические ограничения. Кажется, что программно уже всё придумано, однако "железо" всё ещё не тянет. Например, устройства могут определить позицию объёмной метки, но даже самые мощные айфоны и айпады нестабильно определяют в динамике её угол поворота. Такая же проблема с глубиной сцены: датчики LIDAR присутствуют в единичных девайсах.

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

Часто к нам приходят клиенты с просьбой сделать что-то для WebAR, однако он жутко низкопроизводительный по сравнению с классическим приложением. У него много ограничений по ресурсам: нельзя на полную использовать процессор, память и видеокарту. К сожалению, сейчас браузеры — это резисторы, которые отрезают процентов 80 того, что можно было бы сделать. С другой стороны, для использования WebAR не нужно ничего скачивать из маркетов: отсканировал QR код и вот ты уже смотришь дополненную реальность. Низкий порог вхождения привлекает большее количество клиентов.

Если в классических мобильных приложениях мы можем придумать целые миры, большое количество контента, сделать всё красиво и качественно, то в WebAR наши возможности становятся крайне ограничены. Мы много думаем о том, сколько времени потребуется пользователю, чтобы загрузить веб-страницу с плеером е и вообще запустится ли она на его устройстве. А если запустится, то будет ли тормозить. При этом всё должно по-прежнему визуально быть красиво. Ведь если результат окажется непрезентабельным, никому это будет не нужно. Дополненная реальность создаёт вау-эффект в том случае, если человек действительно верит в то, что он видит. Интегрировать виртуальный объект в нашу среду «бесшовно» можно только при наличии правильной физики света и отражений, которая будет учитывать окружение пользователя в данный момент времени. При этом, у геймеров условно есть видеокарты из серии NVIDIA RTX, а у нас только дышащий на ладан web.

Вообще, AR поддерживают все айфоны начиная с 6S, но не без ограничений. У старых моделей не так много оперативной памяти и вычислительной мощности. Лучшие устройства для дополненной реальности — это айфоны начиная с iPhone X. Данные модели уже обладают фронтальной камерой глубины, что позволяет нам писать AR приложения с возможностью отслеживания мимики человека. С Android сложнее, потому что у каждого производителя свои особенности. Хоть и многие флагманские модели поддерживают безметочную дополненную реальность ARCore, всё равно приходится каждую отдельную взятую модель проверять в табличке поддерживаемых устройств, причём строгой логики попадания в неё нового девайса не существует пока ситуация выглядит как сущий кошмар QA-инженера.

Немного магии. От идеи до продукта в AR студии

Как работает проектный менеджер в студии разработки проектов дополненной реальности? С какими проблемами сталкивается и от чего получает удовольствие?

Как научиться думать трёхмерно

Дополненная реальность заставляет думать трёхмерно. Несмотря на появление 3D игр, человек всё равно воспринимает их плоскими, так как они отображаются на плоском экране. Мы привыкли, что на дисплее всё находится на одном расстоянии. Поэтому когда в дополненной реальности появляется объёмный объект, человеку сложно осознать то, что к нему можно подойти со смартфоном и рассмотреть с разных сторон. Обычно люди просто вытягивают руку и смотрят. Такой объект не воспринимается как такой же физический объект, который находился бы на столе.

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

AR — это развитие компьютерного зрения. Как глаза, которые могут смотреть по сторонам и что-то подмечать, но без сервера, машинного обучения и искусственного интеллекта это всё равно что глаза без мозга. Они бесполезны. Если мы не можем обрабатывать и анализировать то, что видим, как-то обрабатывать, то от зрения не было бы никакого толка. Облачные технологии — следующий шаг для развития AR. Когда 5G станет массовым, и будет легко передавать большие объёмы данных, мы можем делегировать некоторые операции машинному обучению и компьютерному интеллекту, а результат выводить на экран смартфона. В ближайшее время поместить такие технологии в смартфон не получится — мощностей не хватит. В идеале мы будем ходить с очками, которые проецируют AR в реальный мир и при этом будут полностью автономны.

Влияние санкций на AR и VR. (Всё плохо)

С точки зрения XR мы полностью зависим от западных технологий. Например, без Zappar не будет качественного WebAR, без Unity — всего остального. Остаются нативные технологии, но сейчас у Apple и Google проблемы с оплатой и на понятно с ними будет завтра. Что касается VR, то самые популярные шлемы Oculus принадлежат Meta* и не работают без подключения к VPN. Так что если нас блокируют и закрывают внутри России, у нас больше не будет AR и VR. Многие студии в РФ и Беларуси уже столкнулись с тем, что их аккаунты на портале разработчиков Vuforia были заблокированы, а это значит, что лицензионные ключи, которые использовались в разработке AR приложений, тоже потерялись валидность. В один день множество российских и белорусских AR приложений с применением библиотеки Vuforia превратились в «кирпич».

По традиции — шоурил наших проектов в дополненной реальности

*Meta признана в России экстремистской организацией.

0
1 комментарий
Рома Лоротин

сейчас так растёт VR, в плане развития, что аж не успеваешь за этим развитием следить

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда