Текст в 3D-сцену: как из одного описания получается целая локация

«Текст в 3D» обычно означает по одному объекту за раз. Сгенерировать целую сцену — дороги, здания, рельеф, свет — совсем другая задача с другими решениями.

Городок с улицами, переходами, кирпичными домами и коттеджами, построенный агентом в Cuberta

Введите «красный спорткар» в любой инструмент text-to-3D — получите красный спорткар. Введите «небольшой прибрежный городок на закате, с гаванью и дорогой в гору» — и почти любой инструмент выдаст комковатую массу, отдалённо напоминающую здания. Разрыв между этими двумя результатами — не про качество модели. Это разные задачи.

Две разные задачи под одним названием

Генерация объекта — задача реконструкции. Модель видела очень много стульев и машин, у неё сильное представление о том, как они выглядят со всех сторон, и её дело — выдать одну связную форму с натянутой текстурой. Несколько секунд GPU, один меш, готово.

Генерация сцены — задача композиции. Городок — это не одна форма, это несколько сотен форм в конкретной расстановке плюс правила, из-за которых расстановка читается как городок: дороги, которые встречаются на перекрёстках, а не проходят друг сквозь друга; здания, повёрнутые к улице; тротуары вдоль бордюра; фонари с правдоподобным шагом; небо и угол солнца, согласованные с тенями. Почти ничего из этого не геометрия. Это решения о геометрии.

Попросить одну генеративную модель сделать всё это за один проход — значит попросить её удержать сотни взаимозависимых решений в одном forward pass. Поэтому результат и выглядит оплавленным.

Что нужно сцене и не нужно объекту

Сначала планировка, потом геометрия

Любое убедительное окружение начинается с плана, а не с меша. Где проходит главная дорога? На какие кварталы она режет землю? Какие из них жилые, а какие торговые? Инструмент, который сначала решает планировку и только потом вписывает в неё геометрию, даёт место, по которому можно ходить. Инструмент, который генерирует геометрию в надежде, что планировка проявится сама, — не даёт.

Согласованность на сотнях элементов

Когда объектов четыреста, согласованность перестаёт быть приятным дополнением. У всех зданий должна быть одна договорённость о высоте этажа, иначе линии крыш пьяные. У всех бордюров — один профиль, иначе улица читается сломанной. Все материалы — из одной небольшой палитры, иначе городок выглядит как каталог сэмплов. Люди держат это китами и гайдлайнами. Софт обязан держать это ограничениями.

Масштаб, который переживёт импорт в движок

Сгенерированный объект может быть любого размера: отмасштабировали при импорте и забыли. Сгенерированная локация — нет. Если двери 1,6 м, а тротуары 8 м шириной, ваш контроллер персонажа будет ощущаться неправильно, и никакое масштабирование это не починит: ошибка в пропорциях, а не в единицах. Сцены нужно строить в настоящих метрах с самого начала.

Три способа генерировать сцены из текста

Один меш на всю сцену

Самый простой подход: считать локацию одним огромным объектом и отдать генератору объектов. Быстро и хорошо смотрится издалека. Разваливается ровно в тот момент, когда вы туда заходите: нет отдельных объектов, нет переиспользуемых материалов, нет вменяемой коллизии, а бюджет треугольников потрачен на то, чего не видно. Годится как задник. Не годится как уровень.

Подбор и расстановка

Брать ассеты из библиотеки и расставлять процедурно. Так работает большинство «ИИ-генераторов городов», и в своём деле это правда хорошо: отдельные элементы чистые, потому что их сделал человек, а правила расстановки держат композицию в рамках. Ограничение — библиотека. Попросите то, чего в ней нет, и получите ближайшего соседа: так средиземноморская рыбацкая деревня и собирается из американских пригородных домов.

Агент, управляющий настоящим редактором

Третий подход даёт ИИ-агенту те же инструменты, которыми пользовался бы левел-дизайнер: проложить дорожную сеть, нарезать кварталы, поставить здание таких-то габаритов с таким-то фасадом, рассыпать деревья внутри полигона, выставить солнце под таким углом, — и позволяет работать шагами. После каждого шага агент считывает сцену обратно и правит себя сам, как человек, который переключается между вьюпортом и своим планом.

Это медленнее, чем однопроходный генератор, и под этим нужен настоящий редактор, а не веб-форма. Взамен всё, что получается, — реальные объекты, которые можно выделить, подвинуть, удалить и экспортировать, а рассуждение происходит там, где вы его видите и можете прервать. Cuberta построена вокруг этого подхода: редактор отдаёт инструменты уровня локации по Model Context Protocol, и управлять ими может любой MCP-клиент — Claude Code в том числе.

О чём спросить инструмент text-to-3D для сцен

  • Могу ли я выделить одну вещь? Если на выходе один меш — это картинка, а не локация.
  • Это в метрах? Попросите дверь 4 м и измерьте.
  • Дороги действительно соединяются? Перекрёстки — первое, на чём ломаются генераторы. Смотрите на них раньше, чем на панораму.
  • Можно ли перенаправить на полпути? Инструмент, принимающий один промпт и возвращающий один результат, — игровой автомат.
  • Что получается на выходе? GLB или FBX с текстурами — или проприетарный формат и подписка.

Промпт, который работает

Каким бы инструментом вы ни пользовались, промпты для сцен ведут себя не так, как промпты для объектов. Объекты любят прилагательные. Сцены любят структуру. Вместо нагнетания атмосферы описывайте место так, как это сделал бы градостроитель:

Прибрежный городок примерно на 60 зданий. Одна главная дорога идёт вдоль берега, вторая поднимается на холм и встречается с ней Т-образным перекрёстком. Вдоль береговой дороги — двухэтажные каменные дома с черепичными крышами, выше по холму — крупные отдельно стоящие дома. Гавань с каменным пирсом у северного края. Тротуары по обеим сторонам главной дороги, фонари каждые 25 м. Позднее послеполуденное солнце, низко с запада.

Количества, материалы, топология дорог, направление света. Каждое предложение проверяемо — значит, когда что-то выйдет не так, вы сможете указать на проигнорированное предложение, а не переписывать весь промпт наугад.

Куда это идёт

Интересный сдвиг последнего года — не в том, что модели стали лучше делать меши; стали, ровно и буднично. Сдвиг в том, что генерация перестала быть одним выстрелом. Агент, который может посмотреть на построенное, заметить, что две дороги не сходятся, и пойти починить эту дорогу, делает то, чего однопроходный генератор структурно не может. Это превращает «текст в 3D-сцену» из лотереи в разговор, а разговором можно управлять.

В этом же и честное ограничение. Это минуты, а не секунды. Нужен настоящий редактор, открытый на вашей машине. И всё равно нужен кто-то со вкусом, чтобы сказать «холм слишком крутой», — а это, если вы когда-нибудь работали с левел-дизайнером, ровно та часть, которую вы и хотели сохранить.