Render.ru

Как город из примитивов на простейший шейп опустить?

Petro111

Активный участник
Рейтинг
7
#1
Есть две финальыне ноды: сгенерированный город из примитивов и сгенерированная меш-поверхность. Город стоит на одной высоте, террейн разумеется разновысотный. Как дома на него "опустить" так, чтобы каждый стоял на "земле".
Это вроде несложная для гудини штука, но я похоже как-то непраивльно формирую запрос. Ибо уже сутки не могу нагуглить конкретику. Сайт гудьки завален какими-то тутториалами-не-по-существу, в контексте которых всё работает, но те же ноды в моем проекте уже не дают ожидаемого результата(((
 

Lyoha_Sh

Мастер
Рейтинг
80
#2
Есть два варианта..
1) Воздействовать на низ дома (фундамент, цоколь). В этом варианте тоже есть разные подходы, все очень зависит от конкретного дизайна домика. Если банально домик рассматривать, как примитивный бокс, то размещаешь его пивот на нижней грани в центре, а сам бокс поднимаешь вверх, чтобы он точно не пересекался с тирейном. После этого находишь точку пересечения перпендикуляра из этого пивота с тирейном. В найденную точку ставишь домик. После этого для всех точек нижней грани делаешь Ray на тирейн. В зависимости от кривизны самого тирэйна могут быть просветы между домиком и тирейном. Это решается просто увеличением количества точек на ребрах нижней грани.

2) Воздействовать на сам тирэйн. Также много нюансов, но если рассматривать на примере боксов, то задача сделать ровную площадку на тирейне, на которую потом станет этот бокс. для этого делаешь скейл исходного бокса по ширине и длине на величину, на которую площадка должна быть больше домика (отступ от стен). Затем порядок действия примерно такой, как в первом случае, задача разместить бокс на тирейне, как тебе нужно. После этого применяешь Heightfild Project. В зависимости от того, какое размещение бокса ты сделал, то возможно эту ноду нужно будет применить два раза, на добавление и на вычитание тирейна. Применяешь небольшое сглаживание, чтобы сгладить перехот между площадкой и основным рельефом. На полученную площадку ставишь домик.

Вот как-то так я бы делал.
 

Petro111

Активный участник
Рейтинг
7
#3
Вот в нюансах-то и вопрос. Дома у меня просто боксы и притопить их часть не жалко. Но их там несколько сотен, вручную пивоты не надвигаешься. Просто на террайн бы их как-то опустить, а уж как их все разом приподнять или приопустить не проблема.
Приложил очень простенькую сцену, которая отражает суть.
 

Вложения

Lyoha_Sh

Мастер
Рейтинг
80
#4
Про вручную двигать речь и не шла. :))) Эт не про Houdini.
Прогоняешь все дома через цикл, и внутри цикла уже делаешь весь алгоритм для каждого домика.
 

Petro111

Активный участник
Рейтинг
7
#5
Про вручную двигать речь и не шла. :))) Эт не про Houdini.
Прогоняешь все дома через цикл, и внутри цикла уже делаешь весь алгоритм для каждого домика.
ноду ray нашёл. Вот только она дома сплющивает об террэйн.
 

Lyoha_Sh

Мастер
Рейтинг
80
#6
Я писал, что Ray нужно использовать для точек нижней грани...
У тебя какой уровень владения Houdini? Возможно, то, что я говорю сложный уровень.
 

Petro111

Активный участник
Рейтинг
7
#7
Я писал, что Ray нужно использовать для точек нижней грани...
У тебя какой уровень владения Houdini? Возможно, то, что я говорю сложный уровень.
Уровень "две недели" и десяток повторённых туторов. ¯\_(ツ)_/¯
И, да, хоть в нодовую систему я вник, но всех нод не знаю, а всякие там математические взаимодействия между ними и скриптописание для меня тёмный лес. Я больше по майе и афтеру. Но в них не сделать того, что гудини может.
 

Lyoha_Sh

Мастер
Рейтинг
80
#8
Суть в том, что Houdini очень мощный софт, но чтобы в нем действительно делать крутые вещи, то обязательно нужно знание VEX. не все задачи можно сделать одними лишь нодами. В примере постарался минимально использовать VEX и делать с Ray нодами, как и объяснял выше. В реальности все делал бы VEX-ом, для меня это проще и более гибко.
Надеюсь, скрины помогут понять алгоритм. :)
 

Вложения

  • 815 КБ Просмотров: 102
  • 42,2 КБ Просмотров: 96
  • 98,2 КБ Просмотров: 96
  • 478,6 КБ Просмотров: 98
  • 66,3 КБ Просмотров: 93
  • 16,6 КБ Просмотров: 92

Petro111

Активный участник
Рейтинг
7
#9
Суть в том, что Houdini очень мощный софт, но чтобы в нем действительно делать крутые вещи, то обязательно нужно знание VEX. не все задачи можно сделать одними лишь нодами. В примере постарался минимально использовать VEX и делать с Ray нодами, как и объяснял выше. В реальности все делал бы VEX-ом, для меня это проще и более гибко.
Надеюсь, скрины помогут понять алгоритм. :)
не понял как на вторйо картинке групп с botton points сделать. Может где-то @P.y=0 прописать? Ведь мне по сути нужны все точки на уровне ноля. Вручную же точки невыделяемы. Да и там такой город по площади, что выделять вручную нереально. Еще приметил у вас на 4ой картинке скаттер. Но это же рандомизатор для точек. У меня-то город уже построен и дома сдвигаться не должны.
А на пятой картинке векс-код вроде несложный, но он куда именно вписан?
А также мне кажется или напоследней картинке верхние грани кубов на одном уровне? "Дома" же должны вроде как прилипать к террейну, сохраняя свою высоту.
1635958554977.png
 
Последнее редактирование:

Lyoha_Sh

Мастер
Рейтинг
80
#10
не понял как на вторйо картинке групп с botton points сделать.
Варианты разные могут быть, через VEX, через баудинг бокс и т.д.

Еще приметил у вас на 4ой картинке скаттер.
Для примера раскинул дома по площади, суть алгоритма это не меняет.

А также мне кажется или напоследней картинке верхние грани кубов на одном уровне? "Дома" же должны вроде как прилипать к террейну, сохраняя свою высоту.
Все дома стоят, как и задумано, все зависит от высоты рельефа.
 

Вложения

  • 285,8 КБ Просмотров: 94

Lyoha_Sh

Мастер
Рейтинг
80
#11
В твоем случае, судя по скрину, тирейн у тебя есть от этого города. Тебе домики нужно просто опустить на тирэйн.
 

Petro111

Активный участник
Рейтинг
7
#12
В твоем случае, судя по скрину, тирейн у тебя есть от этого города. Тебе домики нужно просто опустить на тирэйн.
воссоздал ваш граф, но что именно надо вбивать во всех этих нодах? Чисто в таком виде никакого эффекта нет(((
1635961695500.png
 

Lyoha_Sh

Мастер
Рейтинг
80
#15
Хороший урок и отличный канал.
Посмотри другой урок на этом канале...


Ты сможешь сразу строить тирейн и для этого тирейна будут все данные (дороги, реки, здания). Здания отображаются площадками, которые лежат на тирейне.
 

Вложения

  • 1,9 МБ Просмотров: 95
  • 2,2 МБ Просмотров: 85
  • 43 КБ Просмотров: 95

Petro111

Активный участник
Рейтинг
7
#16
Хороший урок и отличный канал.
Посмотри другой урок на этом канале...
Ты сможешь сразу строить тирейн и для этого тирейна будут все данные (дороги, реки, здания). Здания отображаются площадками, которые лежат на тирейне.
Спасибо, но в ролике слишком реалистичный результат (и без зданий, с подгрузкой которых через osm предвижу еще целую пачку приключений).
У меня более утрированный в плане визуала проект. По сути надо лишь несколько сцен, а не стать гудинистом 80го уровня. Террейн, город, облака и взрыв я уже создал. Толкьо не удалось подружить террейн с домиками. Попробую как-то подвыровнять площадку под город. Пусть типа на равнине стоит.
 

Вложения

Lyoha_Sh

Мастер
Рейтинг
80
#18
По поводу реалистичности, так все в твоих руках, можешь раскрасить как угодно... Но об этом конечно тяжело говорить, когда плохое владение инструментом.
 

Вложения

Petro111

Активный участник
Рейтинг
7
#19
По поводу реалистичности, так все в твоих руках, можешь раскрасить как угодно... Но об этом конечно тяжело говорить, когда плохое владение инструментом.
Эх... да как тут хорошо владеть научиться, когда из 10ти туторов от силы один по существу и пошагово. Прочие же подразумевают что я уже обо всех нодах всё знаю и сам докумекаю где что ручками прописать/сгруппировать/атрибуты указать. Помнится в майе начал по порядку обучаться - от интерфйса, прсотейших операций и далее далее. И после каждой главы я реально уже что-то ваять мог. а тут посмотрел несколько бэйсик-туториалов от самих гудь и сижу в прострации. Мол "и что мне со всем этим знанием делать? Домики-то как на террейн опустить?" - ни на йоту не приближаюсь к решению простой казалось бы задачи. А уж как тут простейшие операции перегружены нодами... банальные действия вроде латис-сетки или бевела превращаются в какие-то несколькоминутные туториалы (когда в той же майке это однакликовое действие). Трехмерка в массе своей для простого человека не ориентирована. Взять к примеру те же взрывы. Куда ни глянь (майя, синема, эмберген, гудини), везде какие-то нагромождения комбустионов, газов, денситей, температуры, турбуленсов, всё это друг на друга влияет, баланс рушится от совсем ничтожных действий в казалось бы несвязанных узлах. А на самом деле надо то: размер взрыва, его детлизация, длительность и цвет + внешние силы и коллизии. Всё. Этого хватило бы и нубам и профессионалам. Нечего тут мудрить.
Но вот разрабы трехмерки думают иначе. Они уверены что все могут позволить себе посадить на зарплату человека, который будет толкьо в их софтине ковыряться. И пока что в плане вот этой переусложненности гудини их всех опережает. Настолько расятнуть рабочий процесс это надо уметь. Потенциальный результат конечно крутой, но даже мизерное кол-во туторов по гудини показывает насколько путь к этому результату заморочен и неоптимизирован. Ибо даже на платных ресурсах вижу что если кто-то и постиг дзен, то человека хватает на один-два тутора и - казалось бы снимай дальше, тебе же за это деньги платят - человек кладет болт и исчезает вместе с тайным знанием. Про бесплатные же я вовсе молчу. Как с этим городом - одну приколюху покажут - и финиш, как хошь дальше вертись конём.
Обидно. Сама идея нодовая-то шикарна. Сейчас вот этот городок на террейн опускаешь, завтра подменяешь осм-исходник и уже другой городок опускаешь на другой подмененный террейн. Но, епт, как же всё через одно место реализовано. Даже разбить город на отдельные кубы-примитивы (чтобы не за нижние точки опускать, а сами примитивы на террейн класть) это какой-то бесконечный квест (когда в той же майе это единственная кнопка separate). Тут даже примерно такой ноды нет.
Я будто в других редкаторах на русском языке работал, а тут в китайский погрузился. Интуитивности в понимании что делает та или иная нода нет совершенно. Как мартышка вторую неделю повторяю чужие туториалы, а инсайта не происходит (๑˘︶˘๑)
 
Последнее редактирование:

Lyoha_Sh

Мастер
Рейтинг
80
#20
Прям крик души. По сравнению со старыми версиями, новые становятся все дружелюбнее. Раз взялся за гудини, то понимаешь, что на выходе получается крутой результат, с возможностью моментальных корректировок. Да, классический моделинг, это не фишка гудини, но если тебе нужно сделать что-то процедурное, что движением ползунка выдает тебе сразу 100500 вариантов, то другого такого софта, я не знаю... Так, что дерзай.
 
Сверху