Реалізація AR-примерки товарів (віртуальна примерочна)
Віртуальна примерка — це не просто «наложити 3D-об'єкт на тіло». Достовірна примерка вимагає точного відстеження позиції тіла, правильного масштабування моделі під параметри користувача та фізично коректної взаємодії з освітленням. Без цих трьох компонентів примерка виглядає як дитячий коллаж — та конверсію не дає.
Стек для різних категорій товарів
Завдання «примерка» — umbrella-термін, який на практиці розпадається на принципово різні технічні завдання:
| Категорія | Технологія | Складність |
|---|---|---|
| Очки, украшения, головні убори | Face Tracking (ARKit/ARCore) | Середня |
| Одяг, футболки | Body Tracking + деформація mesh | Висока |
| Обувь | Foot tracking / AR ground plane | Середня |
| Сумки, аксесуари на руку | Hand/Wrist Tracking | Середня |
| Крупні товари (меблі) | Plane Detection + 3D placement | Низька |
Найскладніша категорія — одяг. Без корректної деформації mesh по позі тіла одяг виглядає як картонний силует поверх людини.
Одяг: body tracking та деформація
iOS: ARBodyTrackingConfiguration (A12+, iOS 13+) дає 91-точечний skeleton у мировых координатах. ARSkeleton3D з jointModelTransforms — матриці кожного суглоба. Поверх skeleton натягуємо skinned mesh одежди: кожна вершина меша привязана до 1-4 суглобів з вагами (skinning weights). При русі суглоба вершини слідують за ним згідно ваг.
Формат skinned mesh — USDZ з SkinningComponent в RealityKit. Підготовка меша в Blender з rigging під стандартний ARKit skeleton — критично важливий етап. Якщо artist не знайомий з ARKit joint hierarchy, rib cage та spine будуть деформуватися некоректно.
Android: ARCore не надає body tracking з коробки. Варіанти: MediaPipe Pose (Google), BlazePose (33 ключові точки), MoveNet (Google). Це не ARKit-рівень точності, але для маркетингової примерки достатньо. Деформація меша — через кастомний OpenGL/Vulkan шейдер або TensorFlow Lite з pose estimation.
Сторонні SDK як альтернатива
Для fashion e-commerce без бажання писати deformer з нуля:
Zakeke — SaaS з AR-примеркою для e-commerce. SDK для iOS/Android, інтеграція по API з каталогом. Підтримує одяг через 2D overlay (не 3D-деформацію) — швидше в реалізації, менш реалістично.
Snap AR / Lens Studio — для примерки через Snapchat-камеру. Інтеграція через Camera Kit SDK в нативний додаток. Готові шаблони для одежди, очків, обуви.
Perfect Corp YouCam SDK — спеціалізується на beauty/fashion. Нативний SDK для iOS/Android з face+body tracking. Ліцензія enterprise.
Масштабування під користувача
Очки примеряються без введення параметрів — face tracking тримає їх точно на носі. Одяг — інше дело. Базовий підхід: стандартний розмір S/M/L з масштабуванням меша по BoundingBox плеч з skeleton. Точна примерка з обхватом грудей/талії вимагає введення параметрів користувачем або body scanning (окремо завдання з ще більшою складністю).
Освітлення: чому примерка виглядає «пластиковою»
PBR-матеріал з корректними roughness/metallic значеннями + ARKit environment probe (AREnvironmentProbeAnchor) або automaticEnvironmentTexturing — мінімальний набір для реалістичного виду. Без environment map блискуча шкіра сумки та матова тканина куртки виглядають однаково.
Тіні від віртуальної одежди на реальне тіло — тільки з occluder mesh: невидима модель тіла відбиває тінь на реальний пол/стіни. В RealityKit — .occlusion матеріал на occluder entity.
Терміни та стратегія
Інтеграція Perfect Corp або Banuba SDK з базовим набором ефектів (помада, тіні, румяна) — 2-3 тижні. Розробка UI вибору продуктів з каталогу, збереженням/шарингом — ще 1-2 тижні. Кастомна реалізація на MediaPipe (якщо SDK за ціною не підходить) — від 3 місяців. Вартість розраховується індивідуально.







