Пайплайн создания 3D-моделей для мобильной 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».
Текстуры. Максимальный размер — 2048×2048 пикселей. Для маленьких объектов — 1024×1024. Форматы:
- iOS/USDZ: PNG или JPEG для diffuse, отдельные карты для normal, roughness, metallic
- Android/GLB: предпочтительно JPEG для diffuse (меньше размер), PNG для прозрачности
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 раз меньше.
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%, без заметной потери качества.
При экспорте важно выставить правильную сцену: ось 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 |
Стоимость рассчитывается после оценки референсов и требуемого качества текстур. Пакетная работа (10+ моделей) — по отдельному тарифу. Для оценки вашего проекта отправьте референсы — получите точную стоимость и сроки.
Что входит в работу
- Консультация по референсам и техническому заданию
- 3D-модель в форматах USDZ и GLB
- Исходные файлы Blender
- PBR-текстуры (diffuse, normal, roughness, metallic)
- Инструкция по интеграции в ARKit и ARCore
- Тест модели на реальных устройствах (iPhone, Samsung)
- Гарантия: если модель не проходит проверку FPS, дорабатываем бесплатно
Оценим ваш проект за 1 день. Получите консультацию — просто напишите нам.







