Оптимізація CAD для мобільної AR: покроковий конвеєр
Клієнти часто приносять STEP-файл дивана від постачальника, очікуючи, що за годину він з'явиться в AR-каталозі. Реальність: мільйони полігонів, відсутність UV-розгортки, неправильний масштаб — модель не працює ні в ARKit, ні в ARCore. Наш конвеєр вирішує цю проблему на кожному етапі: від імпорту CAD до фінального USDZ або GLB, стабільно тримаючи 60 FPS на iPhone 12 та Samsung S21. Компанія має понад 5 років досвіду та 50+ успішних проєктів. Гарантуємо, що кожна модель проходить тест на реальних пристроях перед здачею.
Технічні вимоги до AR-моделі
Полігонаж. Для мобільного AR — не більше 50 000–100 000 полігонів на об'єкт. Сцена з кількома об'єктами: сумарно до 300 000. Вище — FPS просідає на пристроях без PRO-чипа. Для простих об'єктів (коробка, склянка) — 500–3000 полігонів.
У ARKit Best Practices зазначено: «Для забезпечення плавної AR-взаємодії використовуйте моделі з числом полігонів не більше 100 000». Зверніть увагу: навіть 10% перевищення ліміту спричиняє просідання FPS на старих пристроях.
Текстури. Максимальний розмір — 2048×2048 пікселів. Для маленьких об'єктів — 1024×1024. Формати:
- iOS/USDZ: PNG або JPEG для diffuse, окремі карти для normal, roughness, metallic
- Android/GLB: переважно JPEG для diffuse (менший розмір), PNG для прозорості
ASTC стиснення текстур для iOS забезпечує на 40% кращу якість при тому ж бітрейті порівняно з JPEG.
UV-розгортка. Без перекриттів, без розтягувань. Для AR особливо важливо: модель розглядають зблизька, артефакти UV помітні. Рекомендуємо субдивізійну поверхню для згладжування.
Масштаб. 1 одиниця = 1 метр. Обов'язково для коректного відображення в ARKit/ARCore. Диван шириною 2.2 метра — це 2.2 юніти в сцені. Перевіряємо розміри в Blender через N-панель перед експортом.
Pivot point: точка обертання та розміщення — в центрі основи об'єкта для меблів, у геометричному центрі для решти. ARKit ставить модель relative to pivot — якщо pivot не там, об'єкт «плаває» над підлогою.
Як оптимізувати CAD-модель для AR?
CAD-файли від виробників містять мільйони полігонів — прямий імпорт в AR дає 2 FPS. Ми конвертуємо їх за таким конвеєром:
- Імпорт STEP у FreeCAD або Fusion 360
- Експорт в OBJ/FBX
- Ретопологія в Blender (автоматична через Remesh modifier, ручна для важливих деталей)
- UV та текстурування
- Експорт у USDZ/GLB
Ретопологія в Blender у 3 рази швидша, ніж вручну в Maya, завдяки Remesh-модифікатору з адаптивним розрішенням. Для складної органіки використовуємо ZBrush з подальшою ретопологією.
Конвеєр створення AR-моделі
Референси → Low Poly моделювання → UV → Текстурування → Оптимізація → Експорт
Працюємо переважно в Blender (безкоштовний, потужний, є Python API для автоматизації). Для органіки — ZBrush з ретопологією в Blender. Текстури — Substance Painter для PBR-матеріалів.
Оптимізація геометрії: Decimate modifier в Blender з контролем якості — прибираємо полігони, які не видно при нормальному ракурсі. Для круглих об'єктів (вази, колеса) — шейдинг через normal map, а не геометрію: 16-кутник з нормаллю виглядає як циліндр, але полігонів у 5 разів менше. Такий підхід дозволяє зменшити полігонаж на 80% без візуальних втрат.
Baking. Якщо джерело — високополігональна модель (фотограмметрія, CAD-імпорт), запікаємо normal map, ambient occlusion, curvature в Substance Painter. Це дає деталізацію високополігональної моделі при полігонажі низькополігональної.
Розгорнути технічні деталі ретопології
Для ретопології використовуємо Quad Remesher 1.2 в Blender з target poly count 50 000. Після ретопології обов'язково перевіряємо UV і перезапікаємо normal map. Час ретопології: 2–4 години для середньої складності об'єкта.Експорт в AR-формати
Для iOS: USDZ — ZIP-архів з USD-файлами та текстурами. Експортуємо через xcrun usdz_converter або Python USD. Текстури всередині USDZ мають бути PNG, якщо потрібна прозорість. Розмір оптимізуємо через TextureConverter стисненням ASTC.
Для Android: GLB з Draco-стисненням. Використовуємо gltf-pipeline:
gltf-pipeline -i model.glb -o model_compressed.glb --draco.compressionLevel 7
Зменшує розмір геометрії на 60–80%, без помітної втрати якості. Для великих моделей це критично: 50 MB → 10 MB.
При експорті важливо виставити правильну сцену: вісь Y вгору, метри, forward Z, як рекомендує RealityKit. Інакше модель відображатиметься з поворотом.
Чому важливе правильне UV-розгортання?
UV-розгортка — основа реалістичної текстури в AR. Якщо вона з перекриттями або розтягуваннями, модель при близькому розгляді виглядає неприродно. Ми завжди робимо UV-розгортку з урахуванням масштабу: для меблів — 1 метр = 1 юніт у UV-просторі. Це гарантує однакову чіткість текстури на всіх об'єктах сцени.
Терміни
| Тип об'єкта | Складність | Терміни |
|---|---|---|
| Простий об'єкт (коробка, пляшка) | Низька | 1–2 дні |
| Меблі / побутова техніка | Середня | 2–5 днів |
| Складний механізм / транспорт | Висока | 1–3 тижні |
| Персонаж без анімації | Висока | 1–2 тижні |
Порівняння форматів USDZ та GLB
| Параметр | USDZ (iOS) | GLB (Android) |
|---|---|---|
| Стиснення | ASTC для текстур | Draco для геометрії |
| Прозорість | PNG | PNG через KHR_materials_transmission |
| Максимальний розмір | Не обмежений, але >50 MB впливає на завантаження | Рекомендується <20 MB для швидкого завантаження |
| Інструменти | Xcode, Reality Composer | Blender, glTF Validator |
Вартість розраховується після оцінки референсів: від $200 за просту модель до $1500 за складну. Пакетна робота (10+ моделей) знижує ціну до 40%. Економія — до $600 при замовленні 10 моделей. Для оцінки вашого проєкту надішліть референси — отримайте точну вартість та терміни. Середня економія при пакетному замовленні — $600.
Що входить в роботу
- Консультація щодо референсів і технічного завдання
- 3D-модель у форматах USDZ та GLB
- Вихідні файли Blender
- PBR-текстури (diffuse, normal, roughness, metallic)
- Інструкція з інтеграції в ARKit та ARCore
- Тест моделі на реальних пристроях (iPhone, Samsung)
- Гарантія: якщо модель не проходить перевірку FPS, доопрацьовуємо безкоштовно
Оцінимо ваш проєкт за 1 день. Отримайте консультацію — просто напишіть нам.







