План изучения Houdini для новичков.

План изучения Houdini для новичков.

Станислав Демченко

https://t.me/hipnc

https://youtube.com/c/houdinirus

У каждого свой подход к обучению, но конкретно такой порядок уроков хорошо себя зарекомендовал в моем курсе индивидуальных занятий. Думаю, он также подойдет и для самостоятельного изучения пакета. Для разных задач этот путь может немного меняться, например если вы планируете заниматься только взрывами или только ригом, то все немного изменится. Этот план создан скорее для дженералистов или моушен-дизайнеров, поэтому здесь из симуляций будут только частицы.

Итак, начнем.

==

Интерфейс, горячие клавиши. Для начала хватит понимания как переключаться между контекстами, как добавить ноду, как работает “лесенка параметров” по средней кнопке и как крутить вьюпорт. Остальное придет по ходу.


SOPs или Geometry контекст. На мой взгляд первые несколько месяцев надо безвылазно сидеть в СОП-контексте. Это база для всего остального, именно здесь вы будете проводить большую часть своего времени, именно в этом контексте наиболее полно раскрывается философия Гудини, и если вы его не поймете, то вряд ли поймете все остальное.


Оптимальный способ познать дзен СОП-контекста - это делать много процедурных моделей. От каких-нибудь элементарных тумбочек до сложных космических кораблей. Повторять чужие уроки, но нужно понимать, что в них авторы обходят все острые углы, чтобы уложиться в адекватный хронометраж. Поэтому обязательно нужно делать свои проекты, придумывать себе задачи и решать их, набивая шишки.


В том, что касается уроков, рекомендую выбирать те, где автор рассказывает не в каком порядке нажимать кнопки и ставить ноды, а о том, почему он делает именно так. Вам важно не повторять за кем-то, а понять логику работы. В Гудини практически нет “правильных” решений. Любую задачу можно решить кучей способов и просмотр уроков разных авторов может подсказать альтернативные пути.


Итак, основные этапы изучения SOP-контекста.


  • Анатомия геометрии в Гудини. Чем точки отличаются от вертексов. Примитивы и полигоны - есть разница?
  • Основы процедурного подхода. Работа с группами, связывание параметров выражениями, создание интерфейсов.
  • Атрибуты. Служебные атрибуты, которые напрямую влияют на вид вашей геометрии. Кастомные атрибуты. Чтение атрибутов в разных нодах, использование выражений point(), prim(), detail(). Визуализация атрибутов, использование Geometry spreadsheet.
  • Выражения hscript.
  • Циклы ForEach для повторения операций. Режимы each primitive-point, each number, each connected piece. Как узнать и прочитать номер итерации через Meta import или атрибут на входе.
  • Математика векторов. Умножение вектора на скаляр, сложение, вычитание векторов, нормализация, поворот вектора матрицей, cross- и dot-product. Для начала достаточно просто зазубрить, это много где пригодится в дальнейшем.
  • Copy to points, инстансинг. Использование атрибутов для рандомизации копируемой геометрии.
  • Attribute VOP. Визуальное программирование, чтение, изменение и запись атрибутов. Математические операции в VOP, использование Ramp parameter, Fit range и т.п.
  • Работа с ключевой анимацией и окном Animation Editor.
  • Анимация через выражения и атрибуты.
  • Создание цифровых ассетов (hda) - интерфейсы, контроль версий, редактирование ассетов. Использование Asset manager
  • Работа с волюмами. VDB. Fog vs SDF. Volume VOP и Wrangle.
  • Работа с инстансами.
  • Работа с пакедами. Интринсики. Трансформирование запакованного объекта
  • VEX, вранглы и Vexpressions.


Часто используемые ноды:

Add, Transform, Group, Attribute create, Attribute transfer, Attribute randomize, Attribute promote,  Attribute Noise, Blast, Delete, Dissolve, Foreach, Copy and transform, Copy to points, Fuse, Normal, Scatter, Boolean, Polyextrude, Polybevel, Switch, Split, Timeshift, Retime, Trail, Sort, Measure, Connectivity, PolyFrame, BlendShapes, Ray, Divide, Ends, Carve, Polywire, Remesh, Subdivide, Voronoi fracture, File Cache, Distance along geometry, Exploded view, Resample, VDB (группа нод), Volume (группа нод)

Частицы, Pop (dop) network.

  • Отличие DOP контекста от SOP
  • Атрибуты в системе частиц
  • Рождение частиц, ноды Pop source и Pop replicate
  • v, Force и Wind, в чем отличие? Как солвер обрабатывает частицы.
  • Использование стандартных нод: Force, Curve force, Axis force, Wind и т.п.
  • Использование Vexpression в стандартных нодах
  • Стримы (Streams)
  • Использование POP VOP для гибкого контроля поведения частиц
  • Адвекция полями из Volume
  • Коллизии и взаимодействие с другими объектами динамики.
  • Копирование геометрии на частицы, ее ориентация, вращение частиц через orient


Obj-контекст, контекст сцены

  • Сборка сцены из отдельных нод.
  • Трансформации нод, что такое Pre-transform
  • Парентинг нод
  • Констрейнты
  • Работа с костями


Шейдинг и Рендер

  • Работа со светом и камерой. Виды источников света, их параметры.
  • Контекст out. Создание рендер-нод, связывание параметров, батч-рендер, использование вкладки objects на роп-ноде
  • Контексты Mat и Shop для создания шейдеров.
  • Работа со стандартными шейдерами
  • PBR-рендер, использование PBR-текстур
  • Атрибуты, которые влияют на рендер.
  • Создание собственных шейдеров
  • Чтение своих атрибутов в шейдере
  • Оптимизация настроек движка для получения чистой картинки за минимальное время


Chop-контекст, процедурная анимация

  • Особенности контекста ЧОП.
  • Создание MotionFX через меню, создание и обработка каналов анимации
  • Загрузка каналов в ЧОП
  • Обработка каналов
  • Возвращение анимации на уровень сцены или геометрии. Экспорт, выражения chop, chopcf и т.п.
  • Локальные переменные и выражения в ЧОП
  • Использование Chop в SOP-контексте, чтение атрибутов в ЧОП, обработка и возвращение атрибутов в SOP. Нода Channel
  • Чтение внешних данных, анимация под музыку


VEX

  • Синтаксис
  • Типы данных
  • Чтение и запись атрибутов из Векса
  • Работа с переменными
  • Создание многострочных выражений
  • Удаление и создание геометрии в Вексе. Создание полигонов через связывание вертексов
  • Условия, условные выражения, конструкции if else, логические операции
  • Работа с массивами
  • Циклы: For, While, Foreach
  • Конверсия кода из других языков программирования в Векс.



Report Page