NFT-коллекционер купил 3D-анимированный арт, но смотреть его в браузере в 2D неинтересно. Мы решаем эту проблему: встраиваем AR-функцию в мобильное приложение, которая позволяет «повесить» NFT на стену в своей комнате или разместить 3D-скульптуру на столе. Пользователь видит арт в реальном пространстве — это добавляет ценность NFT как физическому объекту коллекционирования. Наша команда имеет 7+ лет опыта в мобильной разработке и реализовала более 50 проектов в web3 и NFT.
Почему AR-превью повышает ценность NFT?
AR-функция превращает цифровой актив в интерактивный экспонат. Владелец может демонстрировать арт друзьям, делать фото для соцсетей и получать новый опыт взаимодействия. Это увеличивает ликвидность NFT и привлекает покупателей, которые ищут не просто картинку, а уникальный способ её демонстрации.
Типы NFT-контента и AR-рендер
| Тип NFT | Формат | AR-рендер | Особенности |
|---|---|---|---|
| 2D | JPEG/PNG/GIF | SCNPlane с материалом, текстура с IPFS | Вертикальное размещение, анимация GIF покадрово через CGImageSource |
| 3D | glTF/GLB | GLTFSceneKit (iOS) / SceneView (Android) | Конвертация в USDZ, поддержка PBR-материалов |
| Видео | MP4/WebM | AVPlayerItem как текстура | Петля, опциональный звук |
2D NFT. Простейший случай: создаём виртуальную рамку (SCNPlane с материалом), текстуру загружаем с IPFS или HTTP URI из метаданных токена. Размещаем на вертикальную поверхность через ARPlaneDetection.vertical. Анимированный GIF — декодируем покадрово через CGImageSourceCreateWithData, обновляем текстуру по таймеру.
3D NFT. Всё больше проектов выпускают 3D-скульптуры. На iOS загружаем через GLTFSceneKit или конвертируем в USDZ на лету через ModelIO → MDLAsset → экспорт USDZ. На Android — SceneView (Filament-based) из Sceneform 2.0 нативно поддерживает glTF.
Видео NFT. SCNMaterialProperty принимает AVPlayerItem как содержимое текстуры — NFT-видео воспроизводится прямо на AR-поверхности в реальном времени. Петля, звук опционально.
Как загрузить контент по метаданным NFT?
Стандарт ERC-721/ERC-1155 метаданных содержит image и опционально animation_url. Шаги:
- По tokenId и contractAddress запрашиваем tokenURI через JSON-RPC (eth_call) или через Alchemy/Moralis/OpenSea API.
- Получаем JSON метаданных с image, animation_url, properties.
- Если URI начинается с ipfs:// — конвертируем через публичный gateway (например, gateway.pinata.cloud) или собственный IPFS-ноду.
- Загружаем медиафайл, кешируем локально.
IPFS-загрузка может быть медленной на публичных шлюзах. Рекомендуем кешировать агрессивно: при первом просмотре пишем в URLCache с большим diskCapacity (500 MB+).
Placement для арт-объектов
Wall hanging (2D арт). Сканируем вертикальную поверхность через ARPlaneDetection.vertical. Проблема: ARKit медленнее обнаруживает вертикальные плоскости, чем горизонтальные, особенно на гладких стенах. Добавляем manual placement mode: drag по экрану для позиционирования, pinch для масштаба, rotation gesture для угла.
3D скульптура на поверхности. ARPlaneDetection.horizontal + raycast из центра экрана → помещаем объект на обнаруженную плоскость. ARRaycastQuery вместо устаревшего hitTest. Снапинг к плоскости при перемещении: отслеживаем ARPlaneAnchor updates, прибиваем Y-координату объекта к плоскости.
Фото для соцсетей. Ключевая функция для NFT-аудитории. Снимаем ARView через ARView.snapshot(saveToPhotoLibrary:) (RealityKit) или SCNView.snapshot() (SceneKit). Добавляем UI-оверлей с именем NFT и коллекцией поверх снимка перед сохранением — через UIGraphicsImageRenderer.
Права и watermark
Некоторые NFT-проекты ограничивают коммерческое использование. В AR-контексте важно не нарушать IP-права при создании производного контента: скриншоты с логотипом приложения не считаются производным произведением, но лучше проконсультироваться с юристом для конкретного проекта. Мы включили проверку соответствия App Store Review Guidelines (Section 4.2/5.1) в перечень работ.
Что входит в работу
- Анализ метаданных NFT и интеграция с вашим смарт-контрактом
- Реализация AR-просмотра с поддержкой 2D/3D/видео контента
- Настройка кеширования и работы с IPFS-шлюзами
- Интеграция кнопки «Сделать фото для соцсетей» с водяным знаком
- Проверка на соответствие App Store Review Guidelines (Section 4.2/5.1)
- Документация по API и конфигурации
Сравнение платформ: iOS vs Android
| Параметр | iOS (ARKit) | Android (ARCore) |
|---|---|---|
| Обнаружение плоскостей | ARPlaneDetection.vertical + horizontal | PlaneFindingMode.Horizontal + Vertical |
| Загрузка glTF | GLTFSceneKit / ModelIO | SceneView (Filament) |
| Snap | snapshot() (SCNView/ARView) | takeScreenshot() на SurfaceView |
Сроки: AR-превью для 2D/3D NFT в существующем Web3-приложении — 3–5 недель. Полноценный AR-галерейный опыт с кастомными рамками, 3D-скульптурами и шерингом — 6–10 недель. Стоимость рассчитывается индивидуально, но благодаря готовым компонентам интеграция обходится на 30–40% дешевле по сравнению с разработкой с нуля. Получите консультацию по вашему проекту — свяжитесь с нами для оценки. Оставьте заявку, и мы подготовим для вас предложение.







