Интересный вопрос
Что движет людьми и даёт мотивацию? Какие Ваши варианты?
Что движет людьми и даёт мотивацию? Какие Ваши варианты?
Всем привет!
Когда-то я уже начинал данный проект и писал об этом, вот даже пост нашёл. Потихоньку продолжал его развивать, но, из-за ограниченности своей системы, на время забросил, а потом уже окончательно, т.к. стало не до него. Но вот решил обратно за него взяться.
ул. Исаковского 2к1 типовой дом П-47-12
Начнём. Раньше все дома делал в SketchUp, после экспортировал их в Blender. То теперь решил все типовые дома делать процедурно генерируемыми в самом Blender с помощью Geometry Nodes и потихоньку учиться с ними работать. Вот сделал 2 поста об этом: первый и второй.
Пример дома ул. Неманской 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 и пытаться реализовать, процедурную генерацию улиц и дворов.
Всем привет!
Начинал делать, в прошлом году, один проект, но из-за нехватки вычислительных мощностей, потом и времени, забросил его. Сейчас решил вернуться и подойти к нему основательно.
Начнём
Т.к. мои познания в Blender находятся на низком уровне, то, для основы, использовал данный ролик. Для начала импортировал модели, которые делал давно в SketchUp:
Модели этажей
И на каждой модели необходимо точку Origin (оранжева точка) установить на одном и том же уровне и внизу, если ширина одинаковая, то можно воспользоваться одни углом на модели, я делал все по центру. Для этого заходим в редактирование (TAB), выбираем грани (клавиша 2) и выделяем как минимум 2 противоположные, после нажимаем сочетание Shift+S, и выбираем в низу Cursor to select:
Выделяем по низу моделей
Она устанавливает 3D курсор посередине, между двумя гранями, после выходим из редактирования (TAB) и нажимаем на модели ПКМ и выбираем Set Origin -> Origin to 3D Cursor:
Необходимо это делать по нижней части модели, т.к. Blender будет на неё ориентировать при процедурном построении этажей. Чтобы 3D Cursor встал на начало координат, т.к. на нём будут создаваться модели, необходимо нажать Shift+C.
Создаём простой куб (Shift+A -> Mesh -> Cube), после наведите курсор мыши на нижний левый угол, пока не появится перекрестие, зажимаем ЛКМ и подымаем его, после чего выбираем Geometry Node Editor и после нажимаем New:
После чего появляются 2 Нода:
Создаём Нод Math (Математический), с помощью Shift+A, в верху нажимаем на Search и вводим Math. В нём выбираем значение Subtract (вычитание), из Нода Group Input выбираем пустую ячейки и переносим связь от неё, к верхней пустой ячейки. После чего в Group Input ячейка приобретёт имя Value, но её можно задать и любое другое, для этого в правой части окна нажимаете на Group и там посредством двойного нажатия ЛКМ переименовываете:
Далее создаёте Нод Math, который можно сделать посредством копирования предыдущего Shift+D, и выбираем значение Multiply (умножение), даём ему нижнее значение, равное высоте модели, а верхнее соединяем с предыдущем Нодом. Т.к. последующие этажи будут по линии, а отсчёт начинается с 0, то при перемножении высоты моделей, точки уходят дальше и появляется разрыв между этажами:
После создаём Combine XYZ, соединяем с Z, далее Curve Line, соединяем с End, после Resample Curve, из предыдущего Нода соединяем ячейки Curve, из Group Input значения с этажами и Count.
Далее создаём/копируем Нод Math Subtract и соединяем верхнюю ячейку и Group Input с этажами. Далее создаём Нод Index и Compare со значениями Integer и Not Equal, соединяем Subtract с B, Index с A. Далее создаём Separate Geometry, Not Equal соединяем с Selection, а Resample Curve с Geometry.
После Instance on Points, и добавляем нашу модель, а именно крыши, посредством переноса объекта из меню Object на рабочий стол Geometry Nodes. Соединяем значение Geometry из модели с Instance в Instance on Points. От Separate Geometry значение Inverted соединяем с Point, Selected с другим созданным Separate Geometry.
От Separate Geometry от Inverted будет идти связь к Instance on Points с 1 этажом:
А от Selected к этажам. С той лишь разницей, что к ней уже будет идти связь от Compare, а к нему от Index. В общем далее так же, как на скриншоте:
Т.к. на панельке этажи на чётных и нечётных этажах отличаются и мне захотелось, чтобы этажи отличались друг от друга, поэтому скопировал их и на каждой копии увеличивал либо балкон, либо делал козырёк для окон, чтобы было наглядно видно изменения, т.к. нигде не нашёл, как делать чётные и не чётные значения и чтобы их можно было сделать рандомными, а мои познания в программировании на уровней формул Excel.
И в конце создаём Нод Join Geometry и связываем с ним все Instance on Points.
В итоге вот что получилось, если обращать внимание на козырьки и высоту
балконов (по ним смотрел есть рандом или нет):
Итого
В итоге хотелось бы научиться делать этажи уже с помощью Нодов, чтобы
каждый из них имел свои рандомные и уникальные черты. Вот сама модель.
Пример
Всем привет! Искусственный интеллект (ИИ) изменил различные отрасли благодаря своей способности анализировать огромные объемы данных и узнавать закономерности. Одно из самых интригующих применений ИИ - создание изображений. Генерируемые ИИ изображения используются в рекламе, развлечениях и других отраслях для создания уникальных и реалистичных визуальных эффектов. В этой статье мы сравним и оценим производительность шести популярных инструментов для создания изображений с помощью ИИ: ArtGenerator, Leonardo, Fusion Brain, Stable Diffusion XL Pipeline, Dezgo, и Fooocus v2.
Первое, что мы должны сделать, - это определить, какие системы мы будем тестировать. В нашем тестовом наборе будут включены такие системы, как ArtGenerator, Leonardo, Fusion Brain, Dezgo, Stable Diffusion XL Pipeline, Fooocus v2.
В качестве примера будет идти запрос с жалобным взглядом кота в сапогах (из Шрека). Будем смотреть, как ИИ справляется с абстрактными запросами.
Кот с сапогами
Он основан на мощной и продвинутой платформе SDXL и предоставляет 3 бесплатные генерации максимум по 2 изображения за раз (когда-то было 15).
На главной странице можно посмотреть на изображения сгенерированные другими пользователями и их запросами:
Уххх
Один из вариантов генерации:
Это отечественный ИИ-генератор, основанный на Stable Diffusion, бесплатно даётся генерация 300 изображений. Так жесть возможность делать запрос с использованием своих изображений и фото:
Один из вариантов генерации:
Имеет бесплатный тариф и ежедневно пополняемые 150 монет (токенов) на генерации, цена запроса зависит от модели. Так жесть возможность делать запрос с использованием своих изображений и фото:
Но результат не очень:
Бесплатная платформа, основана на модели Kandinsky 2.1 от Сбера, интерфейс для запросов и результат выглядит так:
Возможности использовать своё изображение в качестве запроса нет, но есть можно генерировать видео по запросам и вот что получилось:
Это бесплатный AI инструмент на базе Stable Diffusion для генерации и редактирования изображений с помощью текстовых подсказок и исходных изображений:
Вот вариант:
Бесплатная, основана на знаменитой Stable Diffusion XL, возможно запустить на своём компьютере, так и через Colab, взята и данного поста. При запуске через Colab необходимо подождать пока всё с качается и установится, пока появится ссылка:
Если ссылка не появилась, значит все ядра CUDA заняты и нужно попробовать попозже
При переходе необходимо нажать на 2 галочки, чтобы появилась настройка для генерации:
Есть множество стилей для генерации:
Так же использовать своё изображение для запросов:
Вот ещё несколько вариантов:
В итоге, мне больше всего понравился из платного ArtGeneration.me, из бесплатного Fooocus v2. С абстрактными запросами они плохо справляются, но с использованием своего изображения, результат получается весьма неплохим.