Всем привет!
Продолжаем изучать работу с Geometry Nodes. На этот раз один из самых не простых панельных домов, т.к. с этажи с 1 по 6 идут уникальными друг от друга, а дальше повторяются 3 этажа (4, 5 и 6), не так, как в предыдущем, где были 1 этаж, крыша и чётные и не чётные этажи, которые шли с рандомом. В данном доме идти этажи так же будут с рандомом, кроме 1 и крыши.
Начнём
Будем делать по предыдущему Ноду, поэтому первым делам скопируем его, нажав на кнопку в верхней панели окна Geometry Nods на Copy Geometry Nods Group, после к имени Нода добавятся «.001», его можно переименовать на нужный. Далее выделяем с зажатым Shift следующие ноды: Index, Compare (Not Equal), Separate Geometry, и в правой части: Random Value, Collection Info (Нод с коллекцией нишей модели) и Instance on Point.
Нажимаем Shift+D, чтобы создать дубликат и ставим их в стороне, после из Нода Separate Geometry соединяем ячейку Selection с ячейкой Points Нода Instance on Point, а из Random Value ячейку Value c Instance Index. Далее опять выделяем их все вместе и нажимаем Ctrl+G или через ПКМ:
Слева будет Group Input от которой нужно протянуть связь к ячейке Geometry у Separate Geometry, а справа от Instance on Point из ячейки Instances к Group Output:
И далее, в Collection Info выбираем коллекцию с нашими моделями, после чего их выделяем и создаём дубликаты ещё 4 дубликата с помощью Shift+D. В Ноде Collection Info выбираем поочерёдно коллекции с нашими моделями. После последовательно соединяем из Separate Geometry ячейку Inverted с следующим Separate Geometry ячейкой Geometry.
И главное, не забыть соединить ячейку Inverted Separate Geometry с Group Output:
Далее соединяем 5 верхних ячеек с Нодой Join Geometry, а нижнюю с ячейкой Geometry Separate Geometry:
Далее идут последовательность из 3 этажа, которые повторяются, по мере роста «этажности» дома. Тут тоже пришлось повозиться, т.к. в предыдущем посте я упомнил, что мои познания в программировании на уровне формул Excel. В отличии от предыдущего, где была последовательность из чётных и не чётных этажей, здесь идёт последовательность из 3. Методом проб и ошибок, был добавлен Нод Math Subtract (вычитание) и значением 1 от Нода Math Floored Modulo со значением 3. А разность между этажами делается левым Нодом Math Subtract где значения идут от 0 до 2:
В общем, вот такой дом получается, и генерация работает между этажами:
После чего я захотел добавить «живости» дому и с внутренней стороны этажа добавил параллакс карту с интерьером взятую отсюда. Сам я тоже пытался её делать, но все гайды шли на старую версию Blender из-за чего их не получилось реализовать (в дальнейшем хочу научиться делать их):
Вообще хотелось бы ещё научиться делать интерьеры, с помощью 3d print method, которые реализовали в техно-демо The Matrix Avengers, и показан способ реализации ролике (начинается с 39:45), там используются 2 карты глубины, но пока что я с этим не смог реализовать и пример, с их реализацией, не нашёл:
В общем, вот такой вод дом у меня получился:
Далее хочу с помощью Нодов делать много подъездные дома, т.к. данный тип дома идёт ещё с подъездом в 90 градусов и под 45, и при этом подъезды могут идти как внутрь, так и наружу:
Итого
Пока что сложно сказать как будет удобнее, попытаться реализовать многоподъездный дом или несколько Нодов с отдельными, уникальными подъездами (в донном случае их 4 будет). И вот сама модель дома (в месте с предыдущем).