Рубрика развивается при поддержке

Как это — заниматься дополненной реальностью в России

Драйв, боль, слезы и «новый интернет».

В закладки

Привет! С вами Артем Харитонов — основатель GORA Studio. Мы занимаемся дополненной реальностью (Augmented Reality, AR): разрабатываем AR-приложения и даже сделали инструмент, которым пользуются другие AR-разработчики во всем мире. Недавно на VC был рассказ о глобальных мировых достижениях в сфере дополненной реальности. А я расскажу, как это — делать AR-проекты в России.

Вместо предисловия: что происходит на рынке AR

Аналитики говорят, что рынок AR за 4 года вырастет в 11 раз, и это согласуется с моими ощущениями. Всего полтора года назад всех ограничивали технологии: чтобы полноценно пользоваться AR-приложениями, нужны были очки вроде Magic Leap. Они дорогие, тяжелые, "не для жизни" и сводят с ума вестибулярку, поэтому не зашли.

Но с конца 2018 года на рынок хлынули мощные смартфоны, способные легко работать с AR-объектами — например, добавлять их прямо в браузер. Таких смартфонов уже больше ста, и в жизнь обычных людей приходит всё больше AR-возможностей. Google выкатывает AR-навигацию в Google Maps, YouTube позволяет нанести AR-макияж из роликов бьюти-блогеров, а наши русские ребята из Faradise сделали платформу, чтобы примерить мебель к квартире перед покупкой и рассчитать материалы для ремонта.

Чем больше людей покупают современные смартфоны, тем быстрее растет потребление AR-приложений. Gartner говорит, что в следующем году с помощью AR будут делать покупки 100 миллионов человек — не буду спорить с экспертами :) Но прямо сейчас всё только начинается.

Главный вопрос жизни, вселенной и всего такого

Когда стоишь у истоков, главный вопрос — куда идти. Для нас это значит: "Каким AR-фреймворком будем усиленно заниматься?". Опций две: ARKit / ARCore или Unity / Vuforia.

ARKit от Apple и ARCore от Google — это нативные средства разработки AR-приложений. Чтобы делать приложения с их помощью, достаточно технической базы в виде Swift и JAVA (и еще нужна тонна дополнительных знаний, но об этом ниже).

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

​Приложение Just a Line на ARCore

Unity или Vuforia— AR-платформы на базе игрового движка, которая, впрочем, умеет использовать ARKit и ARCore (незабвенный Pokemon GO сделан как раз на Unity) для базового поиска поверхности и ориентации в пространстве. Без знаний C # не разгуляешься. Прочие варианты, вроде Unreal, уже непопулярны.

Перепробовав всё это, мы остановились на ARKit и ARCore. Сделали ставку на то, что Google и Apple не забросят AR и будут развивать нативные инструменты, а со временем они станут AR-стандартом для мобильных устройства.

Пока всё по плану: Apple, например, включила обновленый ARKit 3.0 в список главных новинок WWDC 2019 и выкатила универсальный 3D-формат .usdz (поддерживают все популярные 3D редакторы). Сейчас уже есть нативная интеграция просмотра .usdz в Safari на iOS:

А Google стабильно говорит о развитии ARCore на своих конференциях I/O и регулярно обновляет корневую библиотеку ARCore — Scenform, которая отвечает за отрисовку сцены и объектов в дополненной реальности.

Братство в вакууме

Разработка и на Unity, и на "голом" ARKit / ARCore идет в информационном вакууме. Да, в России AR занимаются десятки компаний — как мы, Faradise и Alchemy AR — а в мире сотни. Но такого мощного сообщества, как, например, вокруг PHP или Python, еще не сложилось, и на StackOverflow нет ответа на любой AR-чих.

Иногда, решая задачу, будто влетаешь лбом в бетонную стену: не знаешь, что делать, и узнать не у кого (Гугл еще не в курсе). Остается решать самим. И решаем, причем в процессе мы несколько раз находили недокументированные возможности ARKit. А в первых версиях ARCore вообще не было поддержки анимации у 3D-моделей, хотя в промо-роликах лев танцевал.

Промо-ролик демоверсии ARCore Oz

С другой стороны, у нас довольно узкая тусовка, и AR-разработчики знают друг друга. Мы из разных компаний, но все в одной лодке: нащупываем пути развития, создаем библиотеки для работы с AR. Наши AR-продукты для заказчиков — это, конечно, коммерческая тайна покрытая семью NDA. Но опыт изучения ARKit и ARCore никуда не спрятать, плюс делаем инструменты для облегчения AR-жизни — ими и делимся с коллегами.

Например, для записи видео в AR-режиме с 3D-моделями традиционно применяли обходной путь: писали видео экрана смартфона. Это колхоз. Сделали собственное решение — SCNRecorder, чтобы писать видео с камеры смартфона и добавлять на него AR-модель и звук, и выложили для всех на Гитхаб.

Приятно видеть, что SCNRecorder оказался полезен и нашим коллегам — в Сан-Франциско (США) его внедряют для записи видео в приложении Panda. Другие AR-разработчики тоже публикуют свои решения, и мы создаем общую базу инструментов. Б — братство!

AR-разработчик = евангелист + аналитик

На технологии AR нет устойчивого спроса, потому что рынок еще не сформировался. За рубежом многие считают дополненную реальность перспективной, но мало кто знают, как ее монетизировать (один из немногих примеров — игра Pokemon GO, которая принесла разработчикам $2 млрд). В России всё даже интереснее.

У нас многие потенциальные заказчики пришли из офлайна, не слышали об AR и не понимают, как работает эта технология. Иногда переговоры выглядят так: "Это что, для телефона? Мне не надо, мне целый сайт дешевле сделали" (утрирую, но суть такая). Единственный путь — стать евангелистами AR. Мы методично погружаем клиента в технологию: делаем демо, бесплатные микропроекты, показываем AR-кейсы в той же области. Постепенно у клиента появляется интерес к коммерческому применению AR.

Бывает и другая реакция: "О, AR — это круто! Надо делать". Но если не знать, с какой целью внедряем технологию, получится разработка ради разработки. Это путь к разочарованию и в AR, и в нас. А мы хотим делать продукты, которые принесут пользу бизнесу и потребителям, и продвигать дополненную реальность. Поэтому глубже погружаемся в процессы заказчика, чтобы предложить полезное решение.

На мировом рынке проще: больше компаний, которые понимают перспективы AR и готовы развиваться в этой сфере, — и мы планируем выйти на зарубежные рынки. По digital-трендам Россия быстро догоняет мировой уровень. В первом ряду идут гиганты вроде "Сибура", которые уже используют AR/VR-компоненты мирового уровня, а за ними следуют остальные.

Думаю, в России у AR-разработчиков тоже будут хорошие возможности (как это уже произошло в финтехе и нейросетях). К тому же у нас лучшие программисты — по уровню специалистов мы, вместе с Китаем, в топ-2 в мире (так говорит HackerRank и рейтинги ICPC, IOI и Facebook Hacker Cup). Так что двигаем AR-прогресс из России.

Почему вы не сможете нанять "готового" AR-разработчика (и я не смогу)?

У нас в компании работа построена по [фэншую] лучшим ИТ-практикам: эджайл, джира, слак, дженкинс, конфлюенс — вот это вот всё. Отличий только два. Во-первых, нас всего 15 (этого хватает, чтобы делать AR-проекты). А во-вторых, даже в нашу небольшую команду очень сложно найти новых людей.

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

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

Драйв и кайф: почему мы занимаемся AR

Да, нам непросто находить заказчиков и сотрудников, нужно продавать не только свои услуги, но и целую отрасль. Но игра стоит свеч.

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

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

Пределы AR

Мы одними из первых в СНГ занялись не собственным продуктом, а AR-разработкой под заказ. Для одних клиентов мы делали "узкие" проекты — например, AR-открытки (отправьте друзьям открытку с Исаакиевским собором, и из нее вырастет 3D-модель). Для других — масштабные. Сейчас занимаемся соцсетью, где в реальном мире можно оставить другим пользователям AR-объекты и распознавать метки и находить 3D объекты. В результате мы овладели довольно широким спектром возможностей. Поэтому расскажу об AR-возможностях на примере того, что может наша команда. Итак, сейчас смело можно:

  • разместить в реальном мире любой AR-объект — 3D, gif (включая GIPHY), изображение, текст или видео, в том числе с YouTube
  • найти любой размещенный 3D объект в нужно геолокации
  • сделать совместную игру (до 10 человек пока) и пострелять друг в друга или совместно в общего врага
  • рисовать навигацию снаружи и внутри помещений в AR (без маячков и wifi)
  • распознать "на лету" метки (лого бренда или страницу в каталоге) / QR-коды и показать нужный контент (3D объект или что угодно) с удобной админкой под клиента
  • распознать объект (например, навести телефон на здание и узнать, что это) Обычно ради уверенного распознавания тысячи фоток объекта прогоняют через нейросети. Мы же объединили сканирование с геолокацией: телефон знает, что за объекты рядом с вами, сокращает список вариантов и выдает точный ответ
  • сканировать любой живой неподвижный объект (размером до 2х2х2 метра) и в режиме реального времени делать 3D модель и отправлять её куда угодно в формате всех популярных 3D редакторов (качество среднее, но издалека можно не отличить человека от 3D модели)
  • селфи с 3D объектами (без датчиков глубины, не нужен iPhone X и выше)
  • разместить 3D объект за человека или перед ним в дополненной реальности (окклюзия, пришла с ARKit 3.0)
  • записать видео со звуком или фото в дополненной реальности в максимальном качестве (SCNRecorder)

Этих возможностей достаточно для решения задач, которые сейчас ставят перед AR. Можно показать над товаром в магазине виртуальную карточку с описанием. Или посмотреть, как этот здоровенный холодильник впишется на кухню. Или распознать на улице неизвестное заведение: "У того кафе пять звезд на Tripadvisor, идем!". Или привести покупателя по "лунной дорожке" в ваш магазин. Или выбрать блюдо в ресторане не по названию, а по 3D-модели, наведя телефон на меню. Или подсветить, как ставить узел при сборке машины на конвейере.

Возможностей больше, чем идей по применению. Качественные идеи — дело ближайших лет.

Станет мейнстримом? Да!

Думаю, дополненная реальность станет обычным делом в реальном мире — чем-то вроде "нового инстаграма". Те компании, которые опоздали с развитием в интернете в 90-е и 00-е, оказались на задворках бизнеса и прогресса. То же самое произойдет с компаниями, которые в 20-е дистанцируются от AR / VR.

Пока AR воспринимают как фишку для отстройки от конкурентов, пробу возможностей.

А к 2025 году 75% всех работающих людей в мире будут из поколения миллениалов, а за ними придет поколение Z. Это "цифровые" поколения. Для них нужны новые средства вовлечения, новые инструменты и интерфейсы для работы и бытовых дел.

Я не вижу для этого других прорывных возможностей, кроме AR / VR (без вживления чипа в мозг от Neuralink). Думаю, рынок найдет новые способы применить и монетизировать их. Поэтому нас ждет много экспериментов — и много решений, которые сейчас просто не приходят на ум.

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Артём Харитонов", "author_type": "self", "tags": ["gorastudio","future","augmentedreality","arkit","arcore","ar"], "comments": 20, "likes": 14, "favorites": 59, "is_advertisement": false, "subsite_label": "services", "id": 92520, "is_wide": false, "is_ugc": true, "date": "Fri, 15 Nov 2019 13:21:18 +0300", "is_special": false }
Облачная платформа
Основа для цифровизации бизнеса
0
{ "id": 92520, "author_id": 394390, "diff_limit": 1000, "urls": {"diff":"\/comments\/92520\/get","add":"\/comments\/92520\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/92520"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 200396, "last_count_and_date": null }
20 комментариев
Популярные
По порядку
Написать комментарий...
2

С очками, конечно, было бы удобней, чем с телефоном, но, видимо, это не технологии нашего дня, раз у гугла с его Google Glass не вышло

Ответить
2

Не кажется ли вам, что все технические моменты берут на себя Apple / Google / Unity / Vuforia, и в вашем примере: "выбрать блюдо в ресторане не по названию, а по 3D-модели, наведя телефон на меню", бОльшую роль сыграют 3D-визуализаторы? А программистам останется только отобразить .usdz на якоре, что решается за 15 минут? Ведь все эти блюда / бижутерию / товары из магазинов / что-угодно нужно рисовать.
По такой логике будущие AR-студии будут состоять из 10 визуализаторов и одного программиста?

Спасибо за статью, тоже год назад бился между Unity и ARKit и выбрал ARKit.

Ответить

Комментарий удален

0

Игорь, по такой схеме и двигались, например, ребята из Faradise (почему то сейчас недоступны) - набрали около 100 удаленных 3D-шников, чтобы всю мебель оцифровать в 3D.
Но не упускайте из виду важные составляющие приложения: дизайн, ux/ui, быстрота работы, авторизация, корзина, соц. механики и многое другое.
Хорошая 3D модель - это малая часть хорошего и удобного сервиса.

Ответить
1

А  если к очкам прикрутить ещё и перчатку для управления жестами в ar...
P.S. Статья интересная

Ответить
1

Интересная подача материала, спасибо автору. Пишите ещё!

Ответить
0

Спасибо. Обязательно напишем еще. 

У вас тоже есть что почитать)

Ответить
1

Смартфон в кармане - это удобно! Поэтому и зашло! Очки и прочая хрень на голове - не удобно! Поэтому и не зайдёт! Думайте! Нужно что то другое, а этого пока нет!

Ответить
0

Мы тестировали в офисе все существующие очки на рынке VR и доп. реальности - не смогли даже выйти из офиса в дверь без стиля "зомби" (руками вперед и наощупь) =)

Ответить
1

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

Ответить
0

Мы вас не подведем с хорошими приложениями в будущем, чтобы и удобно и полезно и через AR)

Ответить
1

Отличная статья, тоже делаю AR проект и тоже верю в то, что технология только в начале пути, особенно в России. 

Ответить
1

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

Ответить
0

Круто, дополненная реальность массово начнёт хайповать в след году

Ответить
1

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

Ответить
0

Мощный смартфон, не нужны галограммы

Ответить
0

Я поясню что имел ввиду: когда изображение будет не на экране смартфоне вообще, а вот в воздухе! Может смартфон будет типа проектора например...

Ответить
0

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

Ответить
0

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

Ответить
0

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

Ответить
0

Что по чем? Хочу пообщаться

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }