Доработка ПО для очков дополненной реальности «AR Прицел»

Специалисты отдела разработки ПО «СофтЭксперт» доработали приложение для очков дополненной реальности Nreal Air, которые могут подключаться к смартфону, ноутбуку или приставке. Приложение выполнено для частного лица, занимающегося разработкой патентоспособных изобретений для дальнейшего коммерческого продвижения с привлечением инвесторов.

Доработка ПО для очков дополненной реальности «AR Прицел»
Клиент

В этом проекте заказчиком выступило частное лицо, изобретатель, который разрабатывает технические новшества, получает на них патент и тиражирует с целью получения прибыли.

У заказчика было программное обеспечение для AR очков, которое позволяет прицеливаться при игре на бильярде. Разработка была выполнена другим подрядчиком, и к нам попала, когда потребовалось сделать доработку ПО.

Ситуация до начала проекта
Очки дополненной реальности Nreal Air — это высокотехнологичная разработка, которая позволяет подключиться к смартфонам на Android и iOS, планшетам, ноутбукам и игровым консолям. AR очки нового поколения можно использовать в повседневной жизни благодаря удобной и легкой конструкции. При этом каждая линза-дисплей обладает разрешением 1920×1080, что обеспечивает высокое качество изображения.
Заказчик предоставил приложение для очков Nreal Air, которое позволяло воспроизводить прицел для игры на бильярде. Приложение написано на языке c# с применением комплекта для разработки программного обеспечения NSDK. Интерфейс приложения состоял из дефолтных кнопок управления функционалом и двух видов прицельной сетки.
После анализа исходного кода стало понятно, что он плохо оптимизирован: на 2 вида прицельной сетки порядка полутора тысяч строк кода. Также наши разработчики выявили большое количество устаревших функций, которые больше не поддерживаются в библиотеке.
Цель и задачи проекта

Цель проекта — оптимизация исходного кода и доработка функционала приложения для очков дополненной реальности Nreal Air.

Задачи:

Доработка ПО для очков дополненной реальности «AR Прицел»
добавить новые виды прицельной сетки (точка и Т-линия),
Доработка ПО для очков дополненной реальности «AR Прицел»
сохранить имеющийся функционал приложения,
Доработка ПО для очков дополненной реальности «AR Прицел»
добавить возможность стабилизации прицельной сетки во время наклонов головы.
Реализация проекта

В первую очередь, мы решили переделать интерфейс программы и оптимизировать код, чтобы обеспечить условия для поддержки и доработки ПО. Без рефакторинга кода процесс разработки мог затянуться на несколько месяцев, что противоречило договоренностям с клиентом. После оптимизации количество строк кода уменьшилось практически вдвое.

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

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

Внутри данной SDK существует своя виртуальная камера для дополненной реальности имеющая несколько режимов работы: два из них поддерживают стабилизацию изображения, а один — для работы на плоскости. В предоставленной заказчиком версии программы был активен единственный режим без возможности стабилизации изображения.

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

Результаты проекта

После того, как все работы по задачам были выполнены, заказчик получил несколько версий программы:

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

Заказчик остался доволен организацией взаимодействия с командой в процессе доработки ПО и качеством выполненной работы. В дальнейшем заказчиком планируется добавление новых прицельных сеток, что благодаря оптимизированному коду займет минимум времени.

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

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

Стоимость разработки от 100 000 руб.