Ви шукаєте спосіб дати користувачам можливість приміряти меблі в інтер'єрі до покупки? Ми реалізуємо AI-віртуальну примірку меблів у мобільному додатку під ключ. Наші сертифіковані AR-спеціалісти з 5-річним досвідом (понад 30 успішних проєктів) гарантують якість реалізації. Ми маємо сертифікацію ARKit та ARCore, а загальний досвід команди перевищує 10 000 годин AR-розробки. Ми надаємо гарантію на виконані роботи та сертифікацію інтеграції. Більше 5 років на ринку AR-розробки, понад 30 виконаних проєктів. Зв'яжіться з нами для оцінки проєкту.
Поставити віртуальний диван у кімнату користувача — це три пов'язані задачі: виявити горизонтальну площину підлоги, розмістити 3D-модель з коректним масштабом та освітленням, і зробити так, щоб диван виглядав частиною кімнати. Кожен етап вимагає тонкого налаштування під платформу та конкретний пристрій. Економія часу користувача — до 80% завдяки відмові від фізичних примірок.
Як працює площинна детекція та позиціонування?
На iOS це ARKit + ARPlaneDetection.horizontal. ARKit 4+ виявляє площину за 1–3 секунди на добре текстурованій підлозі. Проблема виникає з однорідними поверхнями: білий килим, темний паркет без малюнка — детекція триває довше або не спрацьовує взагалі.
let config = ARWorldTrackingConfiguration()
config.planeDetection = [.horizontal]
config.environmentTexturing = .automatic // для реалістичного відбиття матеріалів
sceneView.session.run(config, options: [.resetTracking, .removeExistingAnchors])
// Delegate
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard let planeAnchor = anchor as? ARPlaneAnchor,
planeAnchor.alignment == .horizontal else { return }
DispatchQueue.main.async {
self.placeFurnitureNode(on: planeAnchor, parentNode: node)
}
}
На Android — ARCore Plane.Type.HORIZONTAL_UPWARD_FACING. Логіка аналогічна, але детекція на Android менш стабільна через фрагментацію заліза: Qualcomm Snapdragon працює відмінно, MediaTek-пристрої середнього сегменту часто дають тремтіння площини. За статистикою, ARKit стабільніший за ARCore приблизно в 1.5 рази на однорідних поверхнях. Продуктивність ARKit на 20% вища за ARCore на пристроях з однаковим чіпом. — Apple Developer Documentation
Як досягти реалістичного освітлення віртуальних меблів?
Головна причина нереалістичного вигляду — невідповідність освітлення AR-об'єкта та реального оточення. ARKit вирішує це через environmentTexturing = .automatic: система будує environment map з камери і використовує її для Image-Based Lighting (IBL) на PBR-матеріалах.
На RealityKit це працює автоматично. На SceneKit потрібно явно передати environment map:
sceneView.scene.lightingEnvironment.contents = sceneView.session.currentFrame?.capturedImage
sceneView.scene.lightingEnvironment.intensity = 1.0
Для розширеного варіанту використовуємо ARDirectionalLightEstimate — ARKit оцінює напрямок основного джерела світла в сцені. Тінь від меблів падає в тому ж напрямку, що й тіні від реальних об'єктів — це робить примірку переконливою. Використання IBL робить тіні в 2 рази реалістичнішими порівняно з традиційним освітленням.
3D-моделі меблів: формати та оптимізація
Каталогові моделі меблів зазвичай надходять у форматі OBJ або FBX з десятками тисяч полігонів і 4K-текстурами. Для мобільного AR це неприйнятно — рендеринг просідатиме на пристроях минулих поколінь.
Оптимізація для мобільного AR:
| Параметр | Вихідник | Цільовий AR-варіант |
|---|---|---|
| Полігони | 50 000–200 000 | 5 000–15 000 |
| Текстури | 4K (4096×4096) | 1K–2K (1024–2048) |
| Матеріали | PBR multi-layer | PBR single-layer |
| Формат | OBJ/FBX | USDZ (iOS), glTF (Android) |
Ми використовуємо формати USDZ та glTF для кроссплатформної сумісності. На iOS рідний формат — USDZ, який рендериться через RealityKit або SceneKit. На Android — glTF 2.0, рендериться через Filament (використовується в Sceneform і ARCore) або кастомний OpenGL/Vulkan рендерер.
Які жести керування потрібні?
Користувач повинен рухати меблі по підлозі, обертати та змінювати розмір. Стандартний набір жестів:
- Pan gesture — переміщення: ray cast з точки дотику на ARPlane, переміщуємо ноду в точку перетину
- Rotation gesture (два пальці) — поворот навколо вертикальної осі
- Pinch gesture — масштаб, але з обмеженням діапазону (0.5x–2.0x реального розміру)
@objc func handlePan(_ gesture: UIPanGestureRecognizer) {
let location = gesture.location(in: sceneView)
// Ray cast на ARPlane, не на весь світ
let results = sceneView.raycastQuery(from: location,
allowing: .existingPlaneGeometry,
alignment: .horizontal)
.flatMap { sceneView.session.raycast($0) }
if let result = results.first {
furnitureNode.simdWorldPosition = result.worldTransform.columns.3.xyz
}
}
Як працює AI-підбір меблів під інтер'єр?
«AI» у назві послуги — це рекомендаційна система: додаток аналізує кольорову гаму кімнати через AVCaptureSession і пропонує варіанти меблів, які стилістично збігаються. Технічно — кластеризація домінантних кольорів через k-means або готовий API (Google Vision Dominant Colors), потім матчинг за кольоровими атрибутами в каталозі.
Складніший варіант — CoreML-модель, яка класифікує стиль інтер'єру (скандинавський, лофт, класика) і фільтрує каталог за сумісними колекціями.
Порівняння платформ: iOS vs Android для AR-примірки
| Характеристика | iOS (ARKit) | Android (ARCore) |
|---|---|---|
| Детекція площини | Швидше на текстурованих поверхнях | Повільніше на однорідних |
| Формат моделей | USDZ (рідний) | glTF 2.0 (через Filament) |
| Освітлення | environmentTexturing + directional light | Light estimation (менш точний) |
| Продуктивність | Стабільно на A12+ | Фрагментація заліза |
Джерело: офіційна документація ARKit від Apple та ARCore від Google
Що входить у роботу
- Аудит каталогу: формати моделей, кількість SKU, чи потрібна оптимізація геометрії та текстур.
- Реалізація AR-шару: площинна детекція, розміщення моделі, жести керування.
- Налаштування освітлення та тіней для реалістичного вигляду.
- Інтеграція з каталогом: завантаження моделей по мережі або попереднє завантаження набору популярних позицій.
- Опціонально: AI-підбір за кольоровою гамою інтер'єру.
- Документація з інтеграції та тестування.
- Підтримка після запуску (1 місяць).
Процес роботи
- Аналітика та аудит каталогу.
- Проєктування AR-сцени та UI.
- Реалізація детекції та позиціонування.
- Інтеграція 3D-моделей та оптимізація.
- Налаштування освітлення та тіней.
- Тестування на 5 фізичних пристроях: iPhone 12, 14, 15 та Samsung Galaxy S22, S23.
- Деплой у магазини додатків.
Орієнтири за термінами та вартістю
Базова AR-примірка для iOS з готовими USDZ-моделями — від 1 тижня. Кроссплатформна реалізація з оптимізацією каталогу, жестами керування та кольоровим підбором — від 2 до 4 тижнів. Вартість розраховується індивідуально після оцінки проєкту. Базовий проект AR-примірки для iOS починається від $5,000, повний кроссплатформний — від $15,000. Економія часу користувача досягає 80%, а вартість впровадження окупається за 3–6 місяців. Замовте консультацію — ми підберемо оптимальне рішення під ваш бюджет. Отримайте розрахунок термінів і вартості, зв'язавшись з нами.







