Workspace Digital Awards 2025 — успейте номинировать кейсы по льготной цене до 1 декабря. Принять участие!
СофтЭксперт
Доработка ПО для очков дополненной реальности «AR Прицел»
СофтЭксперт
#Разработка программного обеспечения

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

189 
СофтЭксперт
СофтЭксперт Россия, Тула
Поделиться:
Доработка ПО для очков дополненной реальности «AR Прицел»
Клиент

частное лицо

Бюджет

250 000

Сфера

Обучение

Регион

Россия

Сдано

Июль 2023

Задача

Клиент

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

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

Ситуация до начала проекта

Очки дополненной реальности Nreal Air — это высокотехнологичная разработка, которая позволяет подключиться к смартфонам на Android и iOS, планшетам, ноутбукам и игровым консолям. AR очки нового поколения можно использовать в повседневной жизни благодаря удобной и легкой конструкции. При этом каждая линза-дисплей обладает разрешением 1920x1080, что обеспечивает высокое качество изображения.

Заказчик предоставил приложение для очков Nreal Air, которое позволяло воспроизводить прицел для игры на бильярде. Приложение написано на языке c# с применением комплекта для разработки программного обеспечения NSDK. Интерфейс приложения состоял из дефолтных кнопок управления функционалом и двух видов прицельной сетки.

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

Цель и задачи проекта

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

Задачи:

добавить новые виды прицельной сетки (точка и Т-линия),

сохранить имеющийся функционал приложения,

добавить возможность стабилизации прицельной сетки во время наклонов головы.

Решение

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

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

Результат

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

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


Стек технологий

  • С# С# Язык программирования

Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

СофтЭксперт с удовольствием обсудит вашу задачу

Оставить заявку