Реализация 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.
Сроки
Примерка аксессуаров (очки, украшения) на базе face tracking — 2-3 недели. Одежда с body tracking и базовой деформацией — 6-10 недель. Интеграция стороннего SDK (Perfect Corp, Snap Camera Kit) — 1-2 недели плюс лицензия. Стоимость рассчитывается индивидуально после анализа каталога товаров.







