Разработали приложение для просмотра недвижимости в 3D и AR для застройщика

KSK — мобильное приложение для 3D и AR экскурсии по строящемуся жилому комплексу компании КСК Холдинг. Работает на iOS и Android

4 сотрудника

3 месяца разработки

1 258 603 вершин в 3D-файле

Задача

Задача

Наш партнер пригласил нас в проект по разработке приложения для застройщика из Иваново КСК Холдинг. Команда создавала приложение, в котором потенциальные покупатели жилой недвижимости могут посмотреть дом и район рядом с ним с помощью AR и 3D. Мы усилили команду, выполнив Android-разработку и доработку iOS-версии приложения.

Решение

Решение

KSK — мобильное приложение на Kotlin и Swift с виртуальной экскурсией по строящемуся жилому комплексу компании КСК Холдинг. Просмотр объекта и инфраструктуры рядом с ним доступны в двух форматах —  3D и AR. Если пользователю понравится конкретный дом, он может приблизить его и рассмотреть поближе или сразу оставить заявку на покупку недвижимости.

Процесс разработки

Над приложением три месяца работали четверо наших сотрудников ― Android-разработчик,  iOS-разработчик, тестировщик и проджект-менеджер.

Работали без ТЗ, что ускоряет процесс разработки небольшого проекта. Мы получили от заказчика дизайн мобильного приложения в Figma, на основании которого продумали пользовательские сценарии и состояния интерфейса. 

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

  • Jetpack Compose — для создания пользовательских интерфейсов на Android
  • ArCore — для функционала дополненной реальности (AR)
  • OpenGL — для создания высококачественной 2D и 3D графики
  • Firebase Cloud Messaging — для отправки push-уведомлений пользователям
  • Firebase Crashlytics — для отслеживания и анализа сбоев в приложении

Разбили проект на задачи. Детальный брифинг клиента позволил разбить проект на понятные задачи ― мы насчитали их около 40. Они были связаны с разными функциями приложения: 3D и AR, экран загрузки, уведомления, форма обратной связи и прочее.

Доработали интерфейс. Дизайн в Figma отражал не все пользовательские сценарии приложения, некоторые мы достраивали сами. Например, прописывали, как изменится внешний вид кнопки по клику, куда после нажатия попадет пользователь.

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

Клиент также хотел интегрировать в трехмерную модель элементы анимации, которые двигаются независимо друг от друга: свет, машины, люди и так далее. Чтобы решить эту задачу, для отрисовки 3D-макета мы использовали библиотеку OpenGL вместо стандартной от Google.

Исправили ошибки. iOS-разработчик также занимался рефакторингом — дорабатывал код основной команды и помогал устранять ошибки.

Что было самым сложным

Приложение перегружало смартфоны. Из-за использования технологий 3D и AR мощность устройств использовалась неоптимально — память и процессор начинали тормозить. В ходе разработки 3D-модель увеличилась в 10 раз, поэтому нужно было подобрать новые технологии для работы с ней.

Не все смартфоны подходили для тестирования. Функция AR работает только на новых гаджетах.

3D-модель работала некорректно. Картинка заедала при передвижении или изменении масштаба, объекты в ней ломались или не синхронизировались друг с другом.

Как мы решили эту задачу

Оптимизировали работу приложения. Перебором разных моделей мы нашли решение, которое позволило плавно перемещать картинку и не сильно нагружать смартфон. Вместо изначального формата файла .obj стали использовать .jlb. Доработали Open Source библиотеку, в которой читали модели, так как она не была предназначена для работы с файлами большого размера. 

Тестировали на эмуляторах и нескольких гаджетах. Тестировщик использовал новейшие мощные смартфоны других членов команды и программы, создающие образ планшета или смартфона для Android или iOS.

Интегрировали кнопки в интерфейс. Сначала мы отрисовали кнопки “поверх” приложения, но потом по пожеланию заказчика сделали так, чтобы они скрывались за зданиями. Для этого мы нарисовали кнопки прям внутри 3D-рендера и сделали их частью трехмерной модели. Это помогло добиться плавной графики и видимости кнопок в любом положении. 

Проектный менеджер Светлана Чернявская

«В процессе работы мы не всегда знали, как именно будет выглядеть 3D- и AR-модель в приложении. Многократное тестирование приложений на разных устройствах позволило выявить ошибки и своевременно отправить модель на доработку.»

Технологический стек

Android

Jetpack Compose
ArCore
OpenGL
Firebase Cloud Messaging
Firebase Crashlytycs
MVVM

iOS

Swift
SwiftUI
ARKit
Reality Kit
SceneKit
SOLID
KISS
DRY
YAGNI

Результат

Вместе с командой партнера за 3 месяца мы создали приложение, где пользователи могут:

  • отправляться на эксклюзивные экскурсии по комплексу и отдельным зданиям в 3D и AR;
  • детализировать план комплекса и рассмотреть понравившийся дом;
  • переключаться между режимами 3D и AR;
  • отметить нужный дом, чтобы связаться с застройщиком и узнать подробности;
  • узнавать о новостях и актуальных событиях ЖК через push-уведомления;
  • получить помощь и ответы на вопросы от менеджеров.

iOS
iOS
Android
Экскурсии в 3D

0

Давайте обсудим ваш проект!

Это бесплатно. Мы расскажем, как приложение решит конкретные бизнес-задачи.