8 ноября 2021 8.11.21 3 5673

Изучение Houdini. Месяц первый.

+5

Привет. Примерно месяц назад я написал пост про 3д-моделирование и в общих чертах рассказал про то, как оно устроено. Та статья набрала 500+ просмотров, что меня очень смотивировало писать новые статьи, но в тот момент я никак не мог придумать, о чем таком интересном написать, к чему я сам имею хоть какое-то отношение.

Несколько месяцев назад я пробовал снять свою короткометражку, и на этапе постпродакшна мне нужно было добавить некоторое количество спецэффектов, и немного разобравшись в теме я понял, что чтобы сделать реально классные штуки, придётся работать в нормальном софте для VFX-художников, а не в Paint 3D. «Придется работать» это, конечно, сильно сказано, но мне не хотелось делать какую-то абсолютно некрасивую и неэстетичную штуку, просто засунув спецэффекты ради спецэффектов. Короче, мне предстояло выбрать софт для изучения. В основном я выбирал между Cinema 4D и Houdini. Преимуществом синьки была не очень большая сложность и большое количество туториалов на русском языке. Из недостатков я отметил, что синема — это в основном программа для 3д-моделирования и моуш дизайна, а VFX часть на втором плане.

Интерфейс Cinema 4D R23
Интерфейс Cinema 4D R23

В Houdini в этом плане все ровно да наоборот: при открытии программы тебя встречает сложный интерфейс с каким-то нездоровым числом кнопок, которые непонятно за что отвечают. На русском языке на тему гудини очень мало материалов, поэтому для изучения, знание английского вам не раз пригодится. Несмотря на все это, гудини является профессиональным софтом, где каждая ваша работа будет выглядеть профессионально.

Возвращаясь к истории скажу, что мой выбор в итоге пал именно на Houdini. Я его открыл, сделал пару проектиков по видеоурокам, закрыл и не открывал 2 месяца. Причины я объяснять не буду, но проблема была во мне, а не в софте, так что можно продолжить с того момента, когда я решил все-таки вернуться в эту удивительную программу.
В известной многим школе разработке игр XYZ был курс по Houdini и он меня очень сильно привлекал, ведь это один из двух или трех полноценных курсов на русском языки по профессии VFX-художник. Также на сайте XYZ был так называем Intro курс по гудини, который был бесплатным, и я решил начать с него.


Спустя неделю, наверное, я более-менее понял как устроен процесс создания 3д-моделей в гудини и настроил интерфейс так, чтобы все это бесчисленное множество кнопок не отвлекало меня. Тогда же я нашел телеграм-канал, где сидит довольно много «гудиньщиков» к которым можно обратиться за помощью. На сайте Teletype я нашел очень интересный текстовый туториал по разрушению кирпичной стены. Было видно, что автор очень неплохо разбирается в теме (как потом выяснилось, он работал над многими русскими фильмами и клипами именно как VFX-художник). Я написал автору того поста в инстаграме,* спросил можно ли мне стать его падаваном, и он, как ни странно, согласился. По моему мнению, в любой сфере для быстрого и уверенного старта нужно найти человека или группу людей, которые «шарят», и не бояться спрашивать у них непонятные тебе вещи (хотя если вы будете спамить вопросами «как создать куб», то вы рискуете лишиться их помощи).
Следующие 2 недели я потратил на создание своей первой адекватно выглядящей работы. Я просто смотрел тот самый курс Intro, все повторял, старался что-то добавлять от себя. Моей первой работой стала процедурная лоупольная планета, которая мне очень даже нравится.

Мне кажется, стоит прояснить значение слова «процедурная», так как в нем и заключен прикол Houdini.


Представьте себе, что вы тоже решили сделать такую планету, но вы начинающий художник в Blender. Я думаю, что вы создадите шар, вручную сделаете ему впадины и возвышения, вручную расставите деревья и т. д. Короче, ручная работа, made in Italy. А я в отличии от вас начинающий гудиньщик. Что сделаю я?

1. Создам шар

2. Накину нойз, который позволит создать разные значения в разных областях шара

Например, вот что будет если накинуть нойз на цвет сферы
Например, вот что будет если накинуть нойз на цвет сферы

3. На основе этого нойза я сделаю возвышения и углубления

4. Покрашу мою планету в разные цвета в зависимости от значения «высоты»

Справа можно увидеть регулятор цвета, который красит геометрию в зависимости от маски «высоты»
Справа можно увидеть регулятор цвета, который красит геометрию в зависимости от маски «высоты»

5. Удалю всё кроме зеленой области

6. Раскидаю по этой области точки c помощью ноды Scatter

Нода Scatter в произвольном порядке расставляет точки по всей площади объекта. Мы используем эту ноду, т. к. в Houdini есть другая нода Copy To Points, которая позволяет скопировать один объект в точки другого объекта. Деревья должны расти только на зеленом, поэтому точки в которые будут копироваться наши деревья должны быть расставлены нодой Scatter только на зеленой части планеты.
Нода Scatter в произвольном порядке расставляет точки по всей площади объекта. Мы используем эту ноду, т. к. в Houdini есть другая нода Copy To Points, которая позволяет скопировать один объект в точки другого объекта. Деревья должны расти только на зеленом, поэтому точки в которые будут копироваться наши деревья должны быть расставлены нодой Scatter только на зеленой части планеты.

7. В том же блендере или внутри гудини создам простенькую модель дерева

8. Скопирую это дерево во все точки, которые мы с помощью Scatter создали на зеленой области. (пункт 6)

9. Объединяю нашу планету с нашими деревьями.

Я, конечно, сильно все сейчас упростил, и вам ничего не понятно, но смысл не в этом. Самое классное заключается в том, что все эти манипуляции я выстраиваю в последовательность с помощью нод. Прикол любой ноды в гудини заключается в том, что это код, заключенный в привлекательный прямоугольник.

Так выглядит абсолютно любой проект в гудини (ну ноды во всех проектах разные, это понятно)
Так выглядит абсолютно любой проект в гудини (ну ноды во всех проектах разные, это понятно)

Это означает что вы не меняете изначальную форму вручную (в нашем случае сферу), это делает код внутри ноды, а вы лишь меняете настройки этой ноды. Если я все понятно объяснил, то вам должно быть также очевидно то, что сферу, к которой мы шаг за шагом, друг за другом подключали ноды можно заменить на любой другой объект, и вся эта последовательность нод просто начнет действовать на новую начальную геометрию, скажем куб или плоскость. На гифке внизу вы можете увидеть, как это работает.

Именно такой, на мой субъективный взгляд, абсолютно гениальный подход к созданию вообще всего и привлекает меня больше всего и ставит Houdini выше всех остальных 3д-пакетов в моем личном топе.
Надеюсь, вы вынесли из этой статья что-то интересное для себя, и хоть немного поняли, что такое процедурное моделирование. Если остались вопросы, или хотите написать, что блог — полное говно, то я буду рад любым комментариям.

* Деятельность родительской организации «Meta» признана экстремистской и запрещена на территории Российской Федерации


Лучшие комментарии

  День добрый. Я Ваш выбор относительно Houdini поддерживаю полностью. Она одна и повторить её не может никто. Сейчас годы есть во многих программах: blender, Maya и т.д., но так как в Houdini нет нигде и не будет. Да в Houdini дольше выполняется процесс моделирования и остального, зато потом ты всё меняешь за пару секунд. Я тоже изучаю этот софт, а если его соединить с unity, вообще красота.

Интересный блог. С нетерпением жду продолжения, где материал будет уходить только в глубь

Читай также