Всем привет!

Когда-то я уже начинал данный проект и писал об этом, вот даже пост нашёл. Потихоньку продолжал его развивать, но, из-за ограниченности своей системы, на время забросил, а потом уже окончательно, т.к. стало не до него. Но вот решил обратно за него взяться.

ул. Исаковского 2к1 типовой дом П-47-12
ул. Исаковского 2к1 типовой дом П-47-12

Начнём. Раньше все дома делал в SketchUp, после экспортировал их в Blender. То теперь решил все типовые дома делать процедурно генерируемыми в самом Blender с помощью Geometry Nodes и потихоньку учиться с ними работать. Вот сделал 2 поста об этом: первый и второй.

Пример дома ул. Неманской 5к1
Пример дома ул. Неманской 5к1

Пока с помощью Нодов не научился делать многоподъездные дома, поэтому сделал несколько подъездов и далее соединял их, т.к. есть дома у которых подъезд в 90 и 45 градусов. Модели этажей также делал в SketchUp, пользовался данным ресурсом, чтобы определить типовую модель дома, а уже здесь, искал чертежи и размеры:

На окнах использовал кубическую параллакс карту, взятую отсюда, которая создаёт «объёмный» интерьер внутри, но при этом не содержит полигонов:

Если в предыдущем проекте использовал карту высот от Радиолокационная топографическая миссия шаттла или SRTM, взятую из программы Global Mapper, то на этот раз хотел воспользоваться аддоном для Blender – Blosm, в которой можно получить карту рельефа от Google. Но чтобы загрузить их, необходим API ключ, для получения которого необходимо привязать карту Visa или MasterCard в GoogleCloud, которой у меня нет, поэтому решил загрузить только картинку без рельефа от OpenStreetMap и на ней расставлять дома:

Как и в прошлый раз так и в этот, я делал всё на нетбуке с такими параметрами (на Intel UHD 600):

Из-за чего не получилось полностью «застроить» район, т.к. Blender вылетал. Также сам рендер происходил очень долго, но я хотел сделать небольшую видео презентацию, поэтому воспользовался Google Colab (вот Notebook). При разрешении 720p, 24 кадрах и рендере в 25 sample, уходило около 4-5 минут на 1 кадр, то Colab на 1 кадр тратил 15-17 секунд:

И моя кривая видео презентация (я только учусь):

Если сравнить реальный дом и рендер, то можно увидеть, как дом выглядел первоначально, когда его построили. Своего рода взгляд в историю. На примере дома Неманский пр. 5к1 построенного в 1979:

Прямо как до...
Прямо как до...
... и после
... и после

И ул. Маршала Катукова 3к1 в 1979:

И вот сама модель Строгино.

Итого

Как я уже писал в предыдущих постах, мои познания в программировании находятся на уровне формул в Excel и учитывая характеристики моей «мега» системы, как и сам проект с Москвой, где спальные районы состоят из серийных типовых панелек, размеры которых возможно найти, а уже ближе к центру, идут серии по индивидуальному проекту, размеры которых не известны, поэтому решил забросить первоначальную идею с Москвой в 3D.

Вместо неё, мне стало интересно попробовать реализовать процедурную генерацию улиц и двором, но со всеми стандартами.

Есть ГОСТы, СП, СНиПы улиц и дорог:

Так же и дворов, с расположением домов:

Как расположение деревьев и кустарников:

По идеи, такое возможно реализовать с помощью Geometry Nodes в Blender. Да, есть уже различные аддоны, как и к Blender, так и к Unreal Engine 5, с помощью которых, можно процедурно генерировать города, но они идут без стандартов и без наших, «уныло» родных панелек. И со всеми этими тенденциями, я больше смотрю на Unigine 2.0. И лучше обучаться чему-то, когда у тебя есть цель для этого и интерес, поэтому и дальше буду изучать Geometry Nodes и пытаться реализовать, процедурную генерацию улиц и дворов.

Комментарии (1)


  1. Pistogun
    30.05.2024 10:20

    Попробуйте триал версию Autodesk InfraWorks, там можно всю Москву выгрузить в 3д, со всеми дорогами, развязками, мостами и прочим. Правда по частям и с достаточным количеством мусора. Но при этом очень точно и с рельефом.