AR-приложение для SAP
Клиент
SAP SE — немецкая компания, ведущий мировой производитель программного обеспечения для организаций. У SAP более 400 000 клиентов и более 102 400 сотрудников по всему миру.
Задача
Сделать приложение с AR для визуализации строительства нефтедобывающий скважины
SAP разрабатывает программное обеспечение для многих отраслей. В том числе у него есть решения для планирования и контроля строительных операций. Чтобы презентовать их для клиентов, SAP использует демо-стенд, который состоит из экрана и интерактивной песочницы с кинетическим песком. На экране клиент видит, как планируется и ведется проект капитального строительства в системе SAP S4/HANA. А в интерактивной песочнице идет процесс строительства нефтедобывающей скважины. Это помогает потенциальному клиенту представить процесс целиком и соотнести этапы строительства с ИТ-инструментами.
Сперва SAP использовал двухмерное изображение. На песочницу сверху мощным проектором проецировалась картинка. Но проблема была в том, что 2D не позволяло детально показать процессы. На плоской картинке не было видно, как строится каждый элемент: как происходит отсыпка участка, установка станков-качалок, прокладка трубопровода до завода по переработке нефти.
Тогда для большей наглядности SAP решил разработать AR-приложение. С этой задачей они и обратились в Surf.
Вызовы
- Перенести двухмерный стенд SAP в AR-приложение с игровыми элементами.
- Добиться, чтобы все объекты в приложении выглядели реалистично. Для этого пришлось решить много сложностей с рендерингом поверхностей и материалов.
- Оптимизировать приложение, чтобы оно работало на айфонах и айпадах.
Что получилось
AR-приложение, где на ваших глазах идёт виртуальная стройка. Клиент может сам выбрать место, куда поставить добывающую скважину, проложить ЛЭП и нефтепровод. Между этапами можно переключаться — например, перейти сразу к прокладке нефтепровода. За счет 3D анимации изображение оживает, виден не просто результат, а каждый из этапов стройки.
Приложение работает на iOS-устройствах с лидаром.
Как мы это сделали
Игровые элементы и «живые» 3D модели для SAP
Для заказчика было очень важно при помощи 3Д показать, как работает стройка, что меняется или добавляется на каждом этапе. А ещё у SAP были свои 3Д модели, которые нужно было встроить в приложение. Это ограничивало в выборе технологий. Так, например, экспорт моделей в платформу для AR-разработки от Apple ARkit оказался очень сложным и долгим, поэтому от этого варианта отказались.
Кроме того, в приложении было нужно добавить много игровых элементов, например, пользователь может жестами менять расположение ЛЭП или выбирать место под строительство завода. Поэтому для его реализации мы выбрали игровой движок Unity.
Unity — межплатформенная среда разработки компьютерных игр. Позволяет создавать приложения, работающие на более чем 25 различных платформах.
Пробная версия. Старт без багов
Сначала создали пробную версию приложения. В ней обкатали все 3D модели. На этом же этапе выявили возможные проблемы с визуализацией и проверили работу лидара c Unity. В результате, нашли и решили многие проблемы на самом старте.
Оптимальная работа на iOS-устройствах
Клиенту было важно оптимизировать приложение под iPhone и iPad. Для этого пришлось упростить 3D-модели, чтобы приложение обрабатывало их быстрей.
Сложней всего оказалось оптимизировать приложение под последнюю модель iPhone 12 pro, поэтому работу каждой новой фичи проверяли в первую очередь на ней.
Реалистичность объектов и работа без ошибок
Часть проблем пришлось решать опытным путём.
Например, не сразу получилось добиться реалистичности поверхностей и материалов. А ещё в какой-то момент все изображения в приложении у нас окрашивались в розовый цвет. Эти проблемы решили настройками рендерера, которые пришлось долго подбирать.
Рендерер — механизм, с помощью которого происходит преобразование 3D-моделей в изображение.
Приложение разрабатывали под iOS-устройства с лидаром. Лидар строит сетку, на которой потом крепятся AR-объекты. При разработке столкнулись с интересной особенностью: закреплённые на сетке объекты начали проваливаться “под землю”. Проблема оказалась в разрешающей способности лидара. Решили её, “приподняв” объекты в виртуальном пространстве на три сантиметра от земли. Высоту подбирали опытным путем. Оказалось, что если объекты расположить ниже, это значение меньше величины погрешности и они проваливаются. Если поднять объекты на 10 см, это выглядит нереалистично.
Удобное управление. Зум и переключатель между этапами
Строительство нефтедобывающей скважины в приложении происходит по этапам.
- Георазведка
- Начальный этап строительства
- Прокладка ЛЭП
- Появление электричества и завершение стройки
- Прокладка нефтепровода
Для удобства клиентов мы добавили возможность переключаться между этапами, какой-то из них можно пропустить или вернуться и повторить заново.
А чтобы клиент мог рассмотреть какой-нибудь объект детальней, мы добавили в приложение зум.
Результат
Старший архитектор бизнес-решений