Розробка мобільного AR-додатку для ритейлу
Покупець стоїть перед полицею з дивами в магазині меблів та не розуміє, чи стане цей диван у його вітальні між вікном та телевізійною тумбою. Саме тут AR перестає бути грою і стає інструментом продажу. Правильно реалізований furniture placement через ARKit або ARCore конвертує сумніви в покупку — це документовано в кейсах IKEA Place та Wayfair. Погано реалізований — опускає рейтинг додатку до 2.1 з відзивами "модель плаває по підлозі".
Де ломається ARKit/ARCore в ритейл-сценаріях
Горизонтальне виявлення площин на нетипічних поверхнях. ARKit відмінно працює на паркеті з текстурою та повністю втрачається на однотонному білому ламінаті або килимовому покритті без рисунку — ARPlaneDetection.horizontal повертає якорі з величезною невизначеністю, модель уповільнюється або "проваліється" під підлогу. Рішення — LiDAR на iPhone 12 Pro та новіше через ARWorldTrackingConfiguration з sceneReconstruction: .meshWithClassification. На пристроях без LiDAR доводиться додавати ручне розміщення з drag-жестом та візуальним індикатором поверхні.
Масштаб та відповідність реальним розмірам. 3D-моделі для AR мають мати коректний масштаб 1:1 у метрах. Часто дизайнери відправляють USDZ або GLB без метаданих розмірів — модель дивана 2,4 м відображається як табуретка. Додаємо SCNNode з явним simdScale на основі паспортних габаритів товару, які приходять з product-каталогу.
Освітлення. AREnvironmentProbeAnchor та ARDirectionalLightEstimate дають базову оцінку, але переекспозиція в торговому залі з холодним флуоресцентним світлом робить темний диван "пластиковим". В iOS 16+ використовуємо AREnvironmentTexturing.automatic для environment map — це помітно покращує PBR-матеріали без ручного налаштування.
Окрема біль — користувачі з iPhone X (без LiDAR, без Neural Engine другого покоління): A11 Bionic справляється, але завантаження важких USDZ-моделей від 15 МБ опускає FPS нижче 30. Оптимізація геометрії через Reality Composer Pro або Blender + USDZ Tools обов'язкова.
Як будуємо ритейл AR
Стек. iOS — ARKit 6 + RealityKit 2 (переважно) або SceneKit для legacy-підтримки. Android — ARCore 1.40 + Scene Viewer або кастомний рендер через Filament. Кросс-платформа — Flutter з плагіном ar_flutter_plugin або React Native + react-native-arkit/ViroReact, але нативні рішення дають помітно плавніший tracking.
3D-контент pipeline. Отримуємо вихідники від постачальника (найчастіше OBJ або FBX), конвертуємо в USDZ (iOS) та glTF 2.0 (Android) через Reality Converter та Blender 4.x. Автоматизуємо через скрипти — каталог у 500+ SKU вручну не обробити. Паралельно налаштовуємо CDN-доставку моделей з кешуванням на пристрої через URLCache або кастомний disk cache, щоб не завантажувати 20 МБ при кожному відкритті товару.
Інтеграція з каталогом. AR-функція вбудовується у існуюче приложення як окремий модуль. Товар з каталогу передає ID → бекенд відправляє URL 3D-моделі та габаритів → ARViewController завантажує та розміщує. Важливо обробляти fallback: якщо 3D-моделі немає, показуємо стандартний екран товару, а не crash.
Product try-on для одягу та аксесуарів. Інша історія — тут потрібен face/body tracking. ARKit надає ARFaceTrackingConfiguration (тільки фронтальна камера, iPhone X+), для примірки одягу на все тіло — ARBodyTrackingConfiguration (A12+). Алгоритм: детектуємо skeleton, накладаємо 3D-mesh одягу з morph targets за ключовими точками скелета.
Етапи роботи
- Аудит існуючого додатка — версії iOS/Android, підтримувані пристрої, поточний 3D-контент-pipeline або його відсутність.
- Проектування AR UX — сценарії використання, wireframes AR-екранів, визначення жестів (place, rotate, scale, snap-to-grid).
- Розробка AR-модуля — нативний або кросс-платформенний, інтеграція з каталогом.
- Оптимізація 3D-контенту — перша партія моделей для пілоту.
- QA на реальних пристроях — тестування tracking в різних умовах освітлення, на різних поверхнях.
- Публікація та підтримка — оновлення при нових версіях ARKit/ARCore.
Оцінки часових рамок
Мінімальна AR-функція (placement однієї категорії товарів) для існуючого додатка: 3–5 тижнів. Повноцінний AR-модуль з підтримкою каталогу, CDN, аналітикою та Android-версією: 2–4 місяці. Вартість розраховується індивідуально після аудиту вимог та обсягу 3D-контенту.







