Реализация AR-визуализации архитектурных проектов
Показать заказчику здание, которого ещё нет — традиционно задача рендер-фермы и видеопрезентации. AR меняет формат: архитектор приезжает на участок, наводит планшет на землю, и трёхмерная модель здания встаёт точно на своё место в масштабе 1:1 или 1:100. Заказчик обходит её вокруг, заглядывает внутрь. Это не замена рендерам — это другой инструмент для другого разговора.
Два режима: site-scale и table-scale
Site-scale (масштаб участка, 1:1). Здание размещается на реальном участке через ARKit Geo Tracking или GPS+компас. Пользователь физически ходит вокруг виртуальной постройки. Требует устройства с A12+ и поддерживаемого города для Geo Tracking. Для загородных участков — только GPS с погрешностью 3-8 метров.
Table-scale (масштаб макета, 1:100 и меньше). Модель квартала или здания ставится на стол или пол как макет. Plane detection + размещение. Подходит для офисных презентаций, выставочных стендов. Проще в реализации, работает на всех ARKit/ARCore-устройствах.
Часто используют оба режима с переключением: «смотреть как макет» / «войти в здание».
Работа с архитектурными BIM-моделями
Архитекторы работают в Revit, ArchiCAD, Rhino. Прямой импорт этих форматов в ARKit/ARCore невозможен — нужна конвертация:
- Revit → FBX/OBJ через экспорт или Autodesk Forge API → GLTF через
gltf-pipelineили Blender - ArchiCAD → IFC → конвертация через IfcOpenShell → GLTF
- Rhino → OBJ/FBX → GLTF
Главная проблема BIM-моделей: детализация Level of Detail (LOD) слишком высокая для реального времени. Модель жилого комплекса в Revit LOD 300 — это 10-50 млн полигонов. Для AR нужно 200k-2M максимум. Ретопология и LOD — обязательный этап, часто занимающий больше времени, чем сама AR-разработка.
Инструменты оптимизации: Simplygon (автоматическая ретопология, облачный сервис), Blender Decimate Modifier (бесплатно, ручной контроль), Reality Composer Pro (Xcode 15+) для финальной упаковки в .reality с запечёнными текстурами.
Интерактивность: этажи, квартиры, материалы
Для презентации ЖК клиенту нужно больше, чем статичная модель:
Выбор этажа. Разбиваем модель на отдельные ModelEntity по этажам. Tap gesture на этаже — highlight выбранного, остальные уменьшают opacity до 0.3. В RealityKit — ModelComponent.materials с SimpleMaterial(color: .yellow.withAlphaComponent(0.5)).
Просмотр квартиры изнутри. Отдельная сцена с интерьером квартиры, переключение через ARView.scene.anchors.removeAll() + load новой сцены. Или — переход в режим VR (SceneKit + AVPlayer + 360° panorama).
Смена материалов фасада. Кирпич / штукатурка / стекло — swap texture на entity.model?.materials. Текстуры в .ktx2 формате для быстрой загрузки.
Streaming 3D-контента
Полная модель ЖК в GLB — 50-200 МБ. Встраивать в приложение нельзя. Варианты:
Progressive loading через Reality Composer Pro: .reality файлы поддерживают streaming — RealityKit загружает LOD по мере приближения камеры.
Babylon.js + WebXR в WKWebView: для web-based подхода с потоковой загрузкой через GLTF extensions (MSFT_lod, KHR_materials_variants).
Cesium for Mobile: если модель привязана к географическим координатам и нужна 3D Tiles streaming.
Совместный просмотр (multiplayer AR)
Несколько человек видят одну модель в одном пространстве — через MultipeerConnectivity + ARKit collaborative session. ARSession.getCurrentWorldMap() → передача через Multipeer → ARWorldTrackingConfiguration.initialWorldMap на других устройствах. Все участники видят одну и ту же сцену с общими anchor'ами.
Работает на расстоянии до ~30 метров через Wi-Fi/Bluetooth. Для крупных участков — серверная синхронизация позиций через WebSocket.
Сроки
Table-scale визуализация с одной моделью без интерактивности — 2-3 недели (включая конвертацию модели). С интерактивными этажами, сменой материалов, site-scale через Geo Tracking — 6-10 недель. Multiplayer AR — плюс 2-3 недели. Стоимость рассчитывается индивидуально.







