Просил у нейросетей дом, в который можно зайти, — получил пустые коробки. Сделал свой генератор
Строю игру-мир в Unreal 5 один, с двумя ИИ-агентами вместо команды. В сёлах этого мира будут жить люди, НПС и ИИ-аватары, поэтому в каждый дом должно быть можно зайти: зал, лестница, очаг, стол, двор.
Сначала попробовал готовое. Дал рисунок трактира-кузни трём ИИ-генераторам 3D по картинке: TRELLIS.2, Tripo и Pixal3D. Предметы и статуи они делают отлично, а дом у всех троих вышел одинаково: снаружи красивый, внутри пустая коробка — голые стены и пол.
Процедурные генераторы городов ставят коробки, наборы ассетов дают одни и те же дома, а руками — дни: три дома одного села делались двое суток.
Готового генератора целых домов, с комнатами и мебелью, я не нашёл. Поэтому Клод, первый агент, за одну ночь написал свой — по правилам, без нейросети внутри: паспорт дома → план этажей → стены, кровля, мебель, двор → проверки. Астра, второй агент, смотрела каждый шаг глазами художника, я ставил задачу и принимал.
Главная проверка — пройдёт ли человек. Все комнаты достижимы с улицы, двери не уже 95 см, лестница не круче 38°, ступень не выше 19 см, от входа видны очаг и стол. Дом собирается за 0,11–0,17 секунды, генератор держат 364 теста.
Второе семейство — дом с двором: крыльцо, горница с печью, сарай, грядки, плетень. В Unreal Engine 5 такой дом встаёт за 8–30 секунд.
Можно начать и с картинки: показываешь рисунок — ИИ читает его в паспорт дома, генератор строит похожий.
Что честно не получилось сразу. В первом ролике заметил: косяки дверей мигают. Косяк стоял заподлицо с откосом стены, две грани в одной плоскости, и видеокарта не знает, какую рисовать. Косяк отодвинут в проём на 2 сантиметра. Следом так же мигал бок лестницы: каждая ступень была коробкой до конца марша. Теперь ступень — столбик под своей проступью, а в генераторе появилась проверка, которая ищет совпадающие грани. И ещё: сборщик для Unreal с материалами в выпуск пока не вошёл, в движок дом идёт файлом glTF.
Выложил бесплатно, открытый код (MIT). Дома выгружаются в glTF для Unity, Godot, Blender и Unreal, а покрутить их, снять крышу и разрезать по этажам можно прямо в браузере — ссылка на показ в начале страницы проекта. Если знаете готовый инструмент, который строит дом целиком, с комнатами и мебелью, — киньте в комментарии, сравню.
Код генератора на GitHub: github.com/bandurchencko/lived-in-houses
















