Почему вам (возможно) не нужна дополненная реальность
Максим Зайцев, руководитель отдела веб- и мобильной разработки Digital Lab, об ограничениях допреальности, которые стоит учесть заказчикам перед запуском проекта.
Технологии реализации AR
Допреальность — технология отображения визуальных объектов — звуков, видео, объемных элементов, текстов, фото — поверх физического мира с помощью камеры устройства. Технологии реализации допреальности:
- Нативные, непосредственно от разработчиков операционных систем Apple и Google — ARKit и ARCore.
Устройства Apple поддерживают дополненную реальность с iPhone 6s. История с Google сложнее, так как парк устройств Android — это не 5-7 устройств как у Apple, а тысячи. У Google есть программа, по которой они распространяют свою ОС, и любой может воспроизвести телефон в Китае и установить на него Android, заплатив за это Google.
Соответственно, охватить все устройства Android невозможно, так как неизвестно, какое железо на каждом из них. Существует пополняемый список устройств, на которых Google гарантирует работу AR. Но там указаны конкретные модели и не факт, что остальные устройства в линейке будут поддерживать допреальность.
Плюс не стоит забывать о доле рынка Huawei. Они планируют переход на Harmony OS, поэтому будет ли корректно работать на их устройствах допреальность — вопрос.
Для расширения парка устройств есть специальные программные обеспечения. Самое известное и хорошо работающее — Vuforia. Vuforia интегрируется в среду разработки Unity, где можно создавать сцены, привязывать к маркерам 2D или 3D объекты, расставлять их на плоскости и так далее. То, что создано в Unity, отображается в последствии на экранах пользователей.
- Unreal Engine и Unity.
Создание допреальности происходит в разных средах и на разных языках разработки, например нативных Kotlin и Swift, или в игровых движках Unreal Engine и Unity, которые дают больше возможностей работы с графикой.
К примеру, мы сделали на Unity наш первый AR-проект — приложение для сети аптек «Ригла». Мы «оживили» мир вокруг товаров аптек сети, создав персонажа — фею Беллу, которая расскажет и покажет, как работают товары для красоты и здоровья, способы применения и противопоказания. Мы отсканировали более 200 SKU, сделали их маркерами, подготовили 12 анимаций для персонажа, каждая из которых показывает принцип действия препаратов. Фея впоследствии стала маскотом Риглы.
Стоимость
Первое ограничение, о котором мало кто знает — Vuforia дорого стоит. У них нет бесплатных программ, если выкладываете приложение в сторы, то это сразу платно. Причем ценовая политика неизвестна и непонятна: нет четкого тарифного плана для российских компаний с большим оборотом, цена формируется с учетом индивидуальных договоренностей.
Опять же наш кейс разработки приложения для Риглы. Мы использовали Vuforia, чтобы охватить больше устройств и столкнулись с тем, что главный штаб компании написал, что мы должны 25 тысяч долларов. Естественно, мы не закладывали эту стоимость в проект, и клиент бы не стал оплачивать такую сумму. Это был наш первый опыт работы с Vuforiа, мы не разобрались с тарифами и напоролись на неприятности. Нам пришлось экстренно переезжать на нативный стэк и делать доработки за свой счет. В итоге мы потеряли 60% пользователей, вот насколько Vuforia расширяла парк устройств для этого проекта.
Количество маркеров и полигонов
Маркер — это триггер для отображения, созданной сцены. Например, наш маркер — сторублевая купюра, и мы придумали, что при наведении камеры, программа распознает купюру и выводит 3D-объект или другое изображение, которое захотим. Так вот, нельзя завести неограниченное количество маркеров. Приложение должно будет общаться с сервером, постоянно подгружать данные, а если все зашить в билд, то в пороге 300 маркеров приложение начнет крашиться, вне зависимости, на каком устройстве запускать, даже если на последнем флагмане — это ограничение технологии.
И снова наше приложение для Риглы. Изначально планировалось внести в него все товары аптек, но условно, добавив 301 маркер, появились ошибки в работе приложения. Поэтому теперь мы удаляем предыдущие группы товаров и добавляем новые.
Также допреальность имеет ограничение на количество полигонов в сцене. Здесь повлияет непосредственно аппаратное обеспечение смартфона, если это последний игровой флагман Razer, то понятно, что на нем можно воспроизвести больше полигонов, чем на китайском ноунейме 3-х летней давности.
Возможности детализации
Из предыдущего пункта вытекают ограниченные возможности детализации. Со временем аппаратное обеспечение улучшится, но пока нельзя создать высокодетализированные, огромные сцены. Например, нельзя создать Москву в допреальности с высокой степенью детализацией, она будет примерной и верхнеуровневой. Или создать реалистичное лицо человека с невероятным количеством полигонов, чтобы оно было неотличимо от живого.
Передача физических эффектов
Нельзя передать некоторые физические эффекты. Например, сделать 3D-объект в допреальности, который будет отбрасывать тень в зависимости от того, как на него светит солнце, то есть глобальное освещение эмулировать невозможно.
Политика Apple
Для Apple недостаточно сделать приложение, которое воспроизводит 3D-сцену. У них есть так называемый индекс полезности — Apple просматривает приложения в ручном режиме, и модератор может решить, что приложение бесполезно для пользователя, и не пропустить его в стор. Поэтому надо накручивать полезный функционал — это может быть что угодно: контактная информация, новостная лента и тому подобное.
Интеграция в другие приложения
Допустим, есть текущее приложение, например интернет-магазин, а для пилота нужно отдельное приложение с допреальностью. Сначала надо убедиться, что подрядчик сможет интегрировать одно приложение в другое — это непростая задача, и успех будет зависеть от текущей реализации приложений. Для этого уже разработаны специальные обертки, но пока удачных кейсов мало. Есть вероятность столкнуться с тем, что придется заново писать приложение.
Один из наших клиентов хотел простую историю, чтобы временно подменить лояльность пока готовится основное приложение. Мы разработали AR-приложение, но интегрировать его в основное теперь сложно. А все потому, что изначально мы и разработчики основного приложения не были в полноценном контакте. Так что, стоит заранее подумать о том, как будете «дружить» свои приложения.
Фантазии о WebAR
Сделать отдельное приложение с допреальностью и выкатить его в сторы — так себе история, потому что приложение должны скачать, а для этого сначала надо убедить пользователя, что оно ему нужно. Люди отдают себе отчет, что это сложно, поэтому у многих есть фантазии на тему WebAR, вроде, открыл сайт, навел камеру, и также работает. Но это не так. В WebAR нельзя реализовать сложные 2D и 3D сцены, и хотя технология пригодна для решения простых задач, но пока уступает нативной. Хорошие кейсы есть, но это единичные случаи.
Вывод
Допреальность последнее время бурно развивается и это, кажется, связано с тем, что компании, впервые увидев эту технологию, с горящими глазами бегут реализовать ее в дело и не в дело. Области применения, где AR круто работает, конечно, есть. Например, примерка Lamoda. Или, допустим, в качестве презентации для компании-застройщика: закупить или арендовать планшеты, накатить на них презентацию, сделать классно расхлопывающуюся 3Dшку с красивой графикой и показывать, как будет выглядеть помещение после финишной отделки. Или, еще пример, Google анонсировала функцию навигации по картам с помощью дополненной реальности.
Но в основном технологию AR стоит использовать точечно, четко понимая, какие с помощью нее будут решены задачи, какой нужен эффект и какие у нее ограничения. А в остальном дополненная реальность — игрушка, которая производит вау-эффект и развлекает пользователя.