Впровадження AR-примірки меблів: повний цикл розробки

Стандарт заданий IKEA Place, але сьогодні користувачі вимагають більшого: меблі мають стояти строго горизонтально, коректно відкидати тіні, реалістично взаємодіяти з освітленням приміщення і не провалюватися в підлогу на пристроях без LiDAR. Ми реалізували подібні проєкти для замовників з каталогами

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Впровадження AR-примірки меблів: повний цикл розробки
Складний
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Стандарт заданий IKEA Place, але сьогодні користувачі вимагають більшого: меблі мають стояти строго горизонтально, коректно відкидати тіні, реалістично взаємодіяти з освітленням приміщення і не провалюватися в підлогу на пристроях без LiDAR. Ми реалізували подібні проєкти для замовників з каталогами до 1000 позицій — і знаємо кожну деталь. Наш досвід 5+ років і понад 10 реалізованих проєктів гарантують, що диван не провалиться в підлогу, а шафа стане рівно біля стіни.

Чи обов'язковий LiDAR для якісної примірки?

На пристроях без LiDAR ARKit покладається лише на монокулярну картинку. Похибка виявлення горизонтальних площин може досягати 10 см, а occlusion об'єктів не працює — віртуальні меблі завжди малюються поверх реальних. LiDAR вирішує обидві проблеми: точність plane detection знижується до 2 см (у 5 разів точніше), і через sceneReconstruction вмикається коректне перекриття. Ось порівняння:

Параметр Без LiDAR З LiDAR
Точність площини до 10 см до 2 см
Occlusion ні так
Розміщення при слабкій текстурі погано відмінно
Час релокалізації 5-15 сек 2-5 сек

Точність plane detection за відсутності LiDAR знижується в 5 разів, що критично для великогабаритних меблів — шафа може стояти з помітним нахилом.

Підготовка 3D-моделей для AR: типові помилки

Це часто недооцінювана частина проєкту. Каталог з 500 позицій, кожна з яких — GLTF з коректними PBR-матеріалами, правильними метаданими про реальний розмір і точкою прив'язки строго на нижній площині об'єкта.

Типові проблеми при отриманні моделей від клієнта:

  • Pivot point в центрі об'єкта — стіл летить у повітрі на висоті свого центру
  • Масштаб у сантиметрах замість метрів — диван розміром з кухню
  • Текстури в окремих файлах (не вбудовані в GLB) — модель завантажується без текстур
  • Y-up vs Z-up невідповідність — стіл лежить на боці

Конвертація та нормалізація каталогу через Blender Python API (batch script) або через Cesium ion / Sketchfab API — залежить від масштабу каталогу. ARKit документація рекомендує дотримуватися єдиної системи координат.

Детальніше про підготовку моделей

Для пакетної обробки 500+ файлів використовується Blender Python API. Скрипт автоматично:

  1. Переміщує pivot point в центр нижньої габаритної рамки
  2. Приводить масштаб до метрів (1 unit = 1 meter)
  3. Конвертує текстури в KTX2 для оптимального завантаження
  4. Встановлює правильну орієнтацію осей (Y-up)

Результат — каталог у форматі GLB, готовий до імпорту в Xcode або Android Studio.

Розміщення об'єкта: від raycast до стабільної позиції

Стандартний pipeline використовує ARRaycastQuery, але для меблів є специфіка: об'єкти великі, і користувач хоче точно розмістити не в центрі кімнати, а біля конкретної стіни. Це означає:

  1. Виявлення і горизонтальної, і вертикальної площини одночасно
  2. Snapping до стін — об'єкт «прилипає» на відстані 15 см від вертикальної площини
  3. Collision detection між об'єктами — два дивани не повинні перекриватися

Collision detection в RealityKit — CollisionComponent з ShapeResource.generateBox(size:). ARView.scene.subscribe(to: CollisionEvents.Began.self) — подія зіткнення. При перетині — візуальне підсвічування об'єкта червоним і заборона розміщення.

Як автоматизувати конвертацію 500 моделей?

Ми використовуємо batch-скрипт на Blender Python API, який за годину обробляє до 200 моделей. Це скорочує час підготовки каталогу з тижнів до 2–3 днів. Економія часу — до 70% порівняно з ручним редагуванням кожної моделі. Вартість конвертації каталогу з 500 моделей — від $2000.

Розробка мобільного AR: реалістичне освітлення

ARWorldTrackingConfiguration.environmentTexturing = .automatic — ARKit будує HDR environment map з камери. Це працює, але із затримкою: перші 5-10 секунд об'єкт освітлюється некоректно. Для меблевого додатку, де користувач бачить об'єкт одразу після розміщення — це помітно.

Покращення: AREnvironmentProbeAnchor з ручним розміщенням в центрі кімнати. Дозволяє примусово оновити environment map за вимогою (наприклад, по кнопці «оновити освітлення»).

Мультиоб'єктне розміщення та збереження сцени

Користувач розставляє кілька предметів, хоче зберегти результат і повернутися пізніше. ARSession.getCurrentWorldMap(completionHandler:) — зберігає стан ARWorldMap з anchor'ами в Data. При наступному запуску: ARWorldTrackingConfiguration.initialWorldMap = savedMap, ARKit релокалізується і відновлює позиції об'єктів.

Працює тільки в тому ж приміщенні при достатньому освітленні. Релокалізація займає 3-15 секунд. Порівняння способів збереження:

Технологія Платформа Час відновлення Обмеження
ARWorldMap iOS 3–15 с Тільки те ж приміщення
Cloud Anchors iOS/Android 5–30 с Потрібен інтернет
Ручне збереження позицій Обидві Миттєво Нема прив'язки до реального світу

Скріншот результату для шарінгу — ARView.snapshot(saveToHDR:completion:) + UIActivityViewController.

Що входить в роботу

  • Підготовка та конвертація 3D-моделей (до 500 позицій)
  • Інтеграція ARKit (iOS) / ARCore (Android) з plane detection, raycast, колізіями
  • Налаштування LiDAR occlusion та scene reconstruction
  • Реалізація snapping до стін і колізій між об'єктами
  • Збереження та завантаження сцени (ARWorldMap / Cloud Anchors)
  • Тестування на 10+ реальних пристроях
  • Публікація в App Store і Google Play (документація, метадані)
  • Навчання команди замовника роботі з інструментарієм

Чому обирають нас?

  • 5+ років досвіду в AR-розробці
  • Понад 10 реалізованих проєктів з віртуальним розміщенням меблів
  • Команда з 3+ інженерів та 1 3D-художника
  • Терміни: базова AR-примірка від $5000 за 5-7 днів

Строки

Базове розміщення одного об'єкта з plane detection — 5-7 днів. Мультиоб'єктне з collision, snapping до стін, збереженням сцени — 3-5 тижнів. Підтримка LiDAR occlusion — плюс 1 тиждень. Конвертація каталогу моделей оцінюється окремо за обсягом. Вартість розраховується індивідуально за підсумками аналізу вашого каталогу та технічного завдання. Зв'яжіться з нами для детального обговорення вашого проєкту — ми підготуємо технічне завдання та комерційну пропозицію. Отримайте консультацію прямо зараз.