AR-примерка мебели и дизайн стен и пола: как мы создали Interior AI

Interior AI начинался с простого обещания: сфотографируйте любую комнату, выберите стиль — и через несколько секунд увидите её в новом дизайне. С момента запуска пользователи снова и снова задавали нам один и тот же вопрос: «Выглядит отлично, но это действительно поместится в моей комнате?»
Красивое AI-изображение отвечает на вопрос «как это могло бы выглядеть?». Но оно не отвечает на вопрос «как это будет выглядеть здесь, в моём пространстве, в моём масштабе, при моём освещении?». Для второго вопроса нужна дополненная реальность. Это история о том, как мы добавили AR-расстановку мебели и живой дизайн стен и пола в Interior AI, и об инженерных решениях, которые за этим стоят.
От MVP на FlutterFlow к нативному AR-приложению
Первая версия Interior AI, выпущенная в 2024 году, была сделана на FlutterFlow. Тогда это было правильное решение. Мы быстро проверили идею, выпустили приложение в App Store и узнали, чем люди на самом деле пользуются.
Но именно в AR кроссплатформенные абстракции мешают сильнее всего. Распознавание плоскостей, реконструкция сцены, окклюзия и оценка освещения живут глубоко внутри фреймворков Apple, и всё это должно работать в каждом кадре, не пропуская ни одного. Поэтому в начале 2026 года мы сделали два узконаправленных AR-прототипа, чтобы проверить самые сложные части: один для распознавания пола и замены его покрытия, другой для превращения комнаты в 3D-модель, по которой можно перемещаться. Когда они заработали, мы переписали Interior AI нативно на Swift и SwiftUI и перенесли в него полученный опыт.
В результате получилось единое приложение, в котором AI-генерация и AR — не отдельные функции. Они дополняют друг друга.
AR-расстановка: настоящая мебель, реальный масштаб, ваша комната
AR-расстановка позволяет через камеру разместить 3D-мебель в вашей комнате в натуральную величину и обойти её со всех сторон.
Под капотом работают ARKit и RealityKit. Приложение распознаёт как горизонтальные, так и вертикальные поверхности, поэтому можно поставить диван на пол, повесить зеркало на стену или подвесную лампу под потолок. Мы даём явно выбрать тип поверхности, а не угадываем его. В тестах автоматическое распознавание почти всегда возвращало «пол», даже когда камера была направлена на стену, а ничто не разрушает иллюзию быстрее, чем картина, падающая на пол.
Несколько деталей отличают «3D-модель, парящую на экране» от «стула в моей гостиной»:
- Реальное освещение. Приложение в каждом кадре считывает оценку освещения от ARKit и подстраивает интенсивность и направление виртуального света под вашу комнату, чтобы стул у окна не выглядел так, будто его освещает студийная лампа. Мы также используем текстурирование окружения, поэтому отражающие поверхности подхватывают реальные цвета вашей комнаты.
- Окклюзия на iPhone с LiDAR. На Pro-моделях с LiDAR приложение реконструирует сетку вашей комнаты. Тогда реальные объекты перекрывают виртуальные: журнальный столик, поставленный за ваш настоящий диван, действительно скрывается за ним.
- Правильные опорные точки. 3D-модели поступают из множества источников, и их точки начала координат часто расположены в странных местах. Мы нормализуем каждую модель, чтобы напольные предметы стояли ровно на полу, настенные — вплотную к стене, а потолочные висели правильной стороной вверх.
- Естественные жесты. Коснитесь, чтобы выбрать; перетащите, чтобы передвинуть по поверхности; сведите пальцы, чтобы изменить масштаб; поверните, чтобы вращать; коснитесь дважды, чтобы вернуть натуральный размер.
Откуда берётся мебель
Можно выбирать из тщательно отобранной библиотеки из более чем 2 700 готовых к размещению 3D-моделей: диваны, столы, стулья, стеллажи, освещение и декор, сгруппированные по месту размещения. Каждая модель скачивается один раз и кэшируется, поэтому повторное размещение происходит мгновенно.
Можно добавить и свою. Image to 3D превращает одну фотографию товара в текстурированную 3D-модель с помощью TRELLIS — открытой модели преобразования изображений в 3D, которую мы запускаем на собственных GPU-серверах. Так можно примерить именно то кресло, которое вы присмотрели в интернет-магазине. А Object Capture использует фотограмметрию Apple на устройстве, чтобы отсканировать реальный объект рядом с вами в 3D-модель, причём LiDAR для этого не нужен.
Живой AR-дизайн стен и пола
Больше всего наших пользователей удивила функция AR Surface Design: наведите телефон на комнату и меняйте пол и стены в реальном времени. Замените плитку на дуб, покрасьте стену в терракотовый цвет, попробуйте мрамор. Вы видите результат на реальных поверхностях, пока двигаетесь.
Распознавание поверхностей без догадок
Распространённый подход — прогонять каждый кадр камеры через модель сегментации изображений и перекрашивать пиксели, помеченные как «стена». В демо это выглядит впечатляюще, но края мерцают, а при движении камеры всё ломается. Мы выбрали геометрический подход. ARKit распознаёт настоящие плоскости в вашей комнате, и мы покрываем каждую из них реальной 3D-поверхностью, которая растёт по мере того, как ARKit узнаёт о комнате больше.
Самое сложное — решить, какие плоскости на самом деле являются вашим полом и стенами:
- Пол. Когда устройство умеет классифицировать поверхности, мы принимаем только плоскости с меткой «пол» и отбрасываем столы, сиденья и потолки. Когда классификация недоступна, мы отслеживаем самую нижнюю горизонтальную поверхность и считаем полом всё, что находится в пределах нескольких сантиметров от неё.
- Стены. Кухонная столешница, холодильник и стена — все это вертикальные поверхности. Мы принимаем вертикальную плоскость за стену, только если её высота не меньше двух метров и она достаточно широка, чтобы быть стеной. Этот порог появился по итогам реальных тестов: высота холодильника около 1,8 м, и его постоянно перекрашивало.
Этот подход работает и на iPhone без LiDAR. LiDAR улучшает окклюзию, но для редизайна пола не нужен Pro-телефон.
Материалы, которые выглядят физически достоверно
С цветами всё просто. Именно текстуры обычно выдают фальшь в AR. Каждая текстура в Interior AI — это полноценный физически корректный материал (PBR) с картами цвета, нормалей поверхности, шероховатости и фонового затенения (ambient occlusion). Поэтому у дуба под вашей лампой видна текстура древесины, полированный мрамор ловит отражения, а бетон остаётся матовым.
Кроме того, мы укладываем каждую текстуру в реальном масштабе. Плитка 30 см выглядит как плитка 30 см — стоите ли вы прямо над ней или смотрите с другого конца комнаты. Сейчас в библиотеке 247 текстур (115 для пола и 132 для стен): дерево, плитка, мрамор, штукатурка, кирпич, бетон, обои и многое другое, а также палитра из 12 цветов. Можно использовать и фотографию собственного образца.
Держим 60 fps
Загрузка текстур высокого разрешения может заморозить AR-сессию на долю секунды — этого достаточно, чтобы казалось, что всё сломалось. Мы загружаем все карты текстур параллельно вне основного потока, применяем их вместе за один шаг и отменяем любую незавершённую загрузку, как только вы выбираете что-то другое, поэтому всегда побеждает последнее касание.
Когда AI встречается с AR
Самое полезное — не AR и не AI по отдельности, а то, как они связаны:
- От снимка к расстановке. Сделайте снимок своего AR-дизайна и отправьте его прямо в AI Virtual Staging, чтобы получить полностью обставленную фотореалистичную версию.
- Пространственные результаты. Любой AI-дизайн можно просматривать как «пространственное» изображение. Модель глубины на устройстве оценивает глубину сцены, и при наклоне телефона изображение обретает лёгкий 3D-параллакс. Всё работает полностью на вашем iPhone и учитывает настройки «Уменьшение движения» и «Режим энергосбережения».
- Сканирование комнаты. На iPhone с LiDAR функция Room Scan использует RoomPlan от Apple, чтобы снять вашу комнату в виде 3D-модели с 2D-планом этажа и экспортом в PDF, который можно передать подрядчику.
- Из плана этажа в 3D. Загрузите изображение плана этажа, и Interior AI превратит его в 3D-пространство, по которому можно пройтись.
Что дальше
Сейчас мы обновляем UI и UX Interior AI, чтобы эти инструменты было ещё проще найти, а также создаём версию для Android, которая скоро выйдет. Interior AI также доступен в вебе на interior-ai.app, где его можно попробовать бесплатно.
Если вы планируете обновить интерьер комнаты, скачайте Interior AI в App Store и увидьте свои идеи в собственном пространстве, прежде чем что-либо покупать.
А если вы создаёте продукт, которому нужны AR, AI на устройстве или и то и другое, свяжитесь с нами. Всё, о чём рассказано в этой статье, мы делаем и для клиентов.
Частые вопросы
Можно ли примерить мебель в своей комнате через iPhone?
Да, AR-расстановка в Interior AI через камеру размещает 3D-мебель в натуральную величину, и её можно обойти со всех сторон. Приложение распознаёт горизонтальные и вертикальные поверхности: диван ставится на пол, зеркало — на стену, лампа — под потолок.
Нужен ли iPhone с LiDAR для AR в Interior AI?
Нет, редизайн пола и стен работает и на iPhone без LiDAR. На Pro-моделях с LiDAR приложение дополнительно реконструирует сетку комнаты, и реальные предметы перекрывают виртуальные.
Можно ли примерить конкретное кресло из интернет-магазина?
Да, функция Image to 3D превращает одну фотографию товара в текстурированную 3D-модель. А Object Capture сканирует реальный предмет рядом с вами в 3D-модель прямо на устройстве, причём LiDAR для этого не нужен.
Сколько отделок пола и стен доступно в AR?
В библиотеке 247 физически корректных текстур: 115 для пола и 132 для стен — дерево, плитка, мрамор, штукатурка, кирпич, бетон, обои и другие, плюс палитра из 12 цветов. Можно также использовать фотографию собственного образца.