Моделювання процедурного дискобола в houdini 11 - уроки houdini

Уроки: Houdini →


Моделювання процедурного дискобола в houdini 11 - уроки houdini

Вітаю! Мене звуть Максим, я 5 років займаюся тривимірною графікою, і останні рік - півтора вивчаю Houdini. У цьому уроці для початківців мова піде про моделювання в Houdini 11 процедурного або параметричного дискобола, який знадобився мені для одного онлайн проекту. Процедурність моделі, що вийшла відносна, тому що не всі склалося, як гадалося, але, тим не менш, цієї процедурності досить, щоб без будь-якої ручної роботи досить точно відбудувати параметри моделі. Хочу зазначити, що, в силу недостатності мого досвіду «спілкування» з Houdini. сетап вийшов не найкращим, і я з радістю його вдосконалюючи разом з зацікавилися читачами.

Отже, нам потрібно змоделювати об'єкт типу цього:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

але так щоб можна було чисельно регулювати кількість плиток, шарів і розмір плиток. Зрозуміло, що нам потрібно розмістити плитки однакового розміру на горизонтальних перетинах сфери так, щоб плитки розташовувалися з рівним для всіх перетинів кроком. При цьому розподіл перетинів по вертикалі я взяв зі стандартної полігональної 3 D сфери.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Можливо це не кращий варіант, але, знову ж таки, в нашому випадку цього цілком достатньо.

Створимо точки з потрібним нам розподілом по вертикалі. Для цього створимо сферу: Ctrl + LMB на інструменті Sphere на панелі Create. і зайдемо в створений об'єкт sphere_object1 подвійним клацанням на ньому в Network editor. Далі ми будемо працювати всередині цього об'єкта. Зробимо як на зображенні:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

зручний в нашому випадку режим відображення геометрії у вьюпорте.

потрібну нам топологію

Додамо до вузла sphere 1 вузол трансформації: LMB клік в вихід вузла сфери, відсуваємо курсор - з'явилася переривчаста лінія, натискаємо Tab. і набираємо Transform. два рази Enter. Кількома в прапор Display нового вузла, щоб він став синім, і результат його дії почав відображатися у вьюпорте. В поле scale вузла xform 1 в полях x і z. ставимо 0. Вмикаємо відображення точок і їх номерів у вьюпорте:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

У нас вийшло:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Додаємо до xform 1 оператор Fuse. не забуваючи про прапор Display. Прибираємо галку Remove Degenerate. налаштовуємо параметр Distance так, щоб номери точок не нашаровувалися, тобто так щоб точки знаходяться в одному місці поєдналися в одну. Наші правильно розподілені точки готові.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Створимо зразок плитки і скопіюємо в нові точки.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Тепер потрібно розгорнути плитки уздовж нормалей поверхні сфери. Виділіть вузол sphere1. Натисніть Ctrl + C і Ctrl + V. У створеному sphere 2 і Rows і Columns зробіть 80. Цей об'єкт стане основою для нашого дискобола. Додайте до sphere 2 оператор Point. він додасть нормалі до точок поверхні sphere 2, в його закладці Standard поміняйте Keep Normal на Add Normal. Увімкніть режим відображення нормалей точок.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Як бачите, плитки розгорнулися, але не зовсім так, як нам треба: при русі вздовж розтину, вони обертаються навколо своєї локальної осі. Виділіть point 1, замість $ NY напишіть 0. Плитки розгорнулися:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Ну ось, плитки ми розгорнули як треба, тепер збільшимо їх кількість. У sphere 1 зробіть Rows рівним 32, а в circle 1 в divisions замініть 30 на 62.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Це зверху, а знизу не вийшло, тому що плитки розташовані «головою» вгору:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Видалимо непотрібні плитки на полюсах.

Після ray 1 поставте оператор Delete. у вкладці Number приберіть галку Enable. у вкладці Normal ставимо Enable. Direction робимо [0,1,0], а Spread Angle рівним 7. Ми видалили полігони, грунтуючись на їх нахилі по відношенню до заданого в Direction напрямку. Spread Angle підбирається експериментально. Скопіюйте delete 2 і підключіть до виходу delete 2. Замініть в delete 3 в Direction 1 на -1. Тепер з обох полюсів прибрані непотрібні плитки.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Отже, основа готова. Далі невеликі поліпшення. До виходу delete 3 приєднаєте оператор PolyExtrude. у вкладці Local якого а поле Translate. Z введіть 0.005. У вкладці Groups поставте галку Create Output Groups. Додайте ще один PolyExtrude. У випадаючому списку Group виберіть extrudeFront. в поле Translate. Z введіть 0.005, а Scale встановіть в [0.9,0.9]. Тепер наші плитки мають товщину з фаскою.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Зробимо декоративні шайби. У контексті нашого дискобола створіть об'єкт Tube. У вкладці Detail поставте галочку End Caps. Вкладку Tube налаштуйте як на картинці.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

До виходу tube 1 підключіть Mirror. в поле Direction. Y поставте -1. Виходи mirror 1, polyextrude 2 і sphere 2 підключіть до merge 1. Видаліть непотрібний fuse 2. У sphere 2 Rows і Columns встановіть по 100, так наші плитки будуть розташовуватися рівніше. Після sphere 2 можна поставити Null для поліпшення візуального представлення мережі. Наш куля готова.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Але це ще не кінець. Перетворимо наш об'єкт в Digital Asset. В Network Editor перейдіть на рівень Scene за допомогою натискання клавіші U. Перейменуйте sphere _ object 1 в Discoball. Натисніть на ньому правою кнопкою миші, в меню виберіть Edit Parameter Interface. У вікні перенесіть з вкладки By Type в Existing Parameters два рази Integer. один Float Vector 2, один Float. і один Separator. Розмістіть їх як на зображенні:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Налаштуємо нові параметри в панелі Parameter Description. Перший параметр по порядку:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Ми налаштували імена, інтервали, і повернуться до стандартних значень. У нас вийшло:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Натисніть Accept. На панелі параметрів об'єкта Discoball з'явилися нові параметри:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Поверніться на рівень сцени. Скопіюйте Rows Count з об'єкта Discoball. зайдіть в нього. У вузлі sphere 1 клік правою кнопкою миші на Rows. з меню виберіть Paste Copied References. Повторіть цю процедуру для параметрів Tiles Size і Disk Radius. які треба скопіювати відповідно в параметр Size вузла grid 1 і кожне з полів Radius вузла tube 1. Поверніться на рівень сцени, пограйте з параметрами. Як бачите, наш об'єкт має достатню процедурною необхідністю для налагодження моделі:

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Як параметр також можна винести глибину екструд. Спробуйте зробити це самі.

Але і це ще не все :) Натисніть на + поруч зі вкладкою Animation. в меню оберіть New Shelf. дайте якусь ім'я нової «полиці», наприклад My Asssets. натисніть Accept. Перетягніть об'єкт Discoball на нову «полку». Видаліть Discoball в Network Editor. Перенесіть Discoball з My Assets назад в Network Editor. Можете закрити Худіна, відкрити, ваш assets буде знаходитися там же в MyAssets. Подобається? То то ж).

На цьому все. Сподіваюся мій урок відкрив початківцям дослідникам Houdini красу і зручність цього пакета.

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Моделювання процедурного дискобола в houdini 11 - уроки houdini

Радий, що урок виявився корисний і цікавий. Рекомендую розібрати і альтернативну версію.

Схожі статті