Для тех, кто работает в Houdini. О курсах Nature of Vex и Bites of Python
Под катом вы найдете отзыв специалистов из Houdini Team краснодарской студии Plarium о видеокурсах Nature of Vex и Bites of Python от Mix Training, посвященных работе с языками Python и Vex в графической программе Houdini.
Также в этом посте ребята делятся подборкой материалов, которые будут полезны всем интересующимся.
Немного вводной
Языком Vex пугают начинающих пользователей Houdini. Во многом благодаря ему сложился стереотип о том, что в Houdini обязательно нужно кодить. На самом деле в Houdini можно кодить, и это как раз облегчает и ускоряет многие процессы, а не усложняет их. Например, помогает избежать вот таких жутковатых сетапов:
Язык Vex создавался для написания шейдеров в рендере Mantra (встроенный рендер программы Houdini), но довольно быстро вышел за пределы изначального использования благодаря своей гибкости, простоте и скорости. Название языка происходит от сокращения Vector EXpressions, но с помощью него можно манипулировать совершенно разными типами данных. Так, Vex в основном используется для различного рода манипуляций составляющими геометрии (точками, полигонами), а также для процедурного создания геометрии.
Язык Vex довольно нетребователен к синтаксису и форматированию кода, обладает не очень высоким порогом вхождения. Зачастую достаточно пары-тройки строчек, чтобы достичь желаемого результата. Среди его плюсов также многопоточность и, как следствие, хорошая скорость. Программирование на Vex нужно как для решения элементарных задач, так и для комплексных и сложных вычислений, и со всем этим язык справляется крайне быстро. С его помощью можно делать массу потрясающих вещей в процедурном моделинге, в анимации и симуляциях.
Конечно, нам нравится, когда кто-то думает, что мы такие все из себя программеры, но на самом деле мы привыкли к функциональности и удобству (хотя многие, работая в Houdini первый раз, могут решить, что удобнее только спать на гвоздях). Если бы какой-то инструмент не делал нашу жизнь проще, мы бы им не пользовались. Поэтому не стоит воспринимать возможность программирования как то, что мешает начать изучать Houdini. Vex — это всего лишь еще один (пусть и очень хороший) инструмент среди множества других.
Python, гораздо более известный в широких кругах, в представлении и подробном описании не нуждается. Расскажем, зачем он нам. В контексте Houdini Python используется для управления самой программой (создание нод в проекте, операции с файлами, автоматизация повторяющихся операций, воспроизведение сложных комбинаций действий и т. д.). Также программирование на Python нам нужно для создания красивых интерфейсов в инструментах и написания удобных команд, управляющих ассетами при нажатии на кнопку. Если бы в Houdini-ассете существовала кнопка «сделать красиво», она была бы написана на Python. Кроме того, иногда он применяется для манипуляции геометрией (как и язык Vex), но необходимо понимать, что Python менее интуитивен в настройке для таких целей и зачастую справляется с этой работой медленнее, чем Vex.
Подробнее о курсах
Разработчик Houdini — компания Side Effects Software — выпускает так много обновлений и предоставляет столько возможностей для пользователей, что официальная документация и официальные обучающие курсы просто не успевают актуализироваться. Поэтому мы по крупицам собираем информацию из разных источников (платных, бесплатных, официальных и не очень), чтобы в наиболее полном объеме овладеть этими гибкими и мощными инструментами — языками программирования Vex и Python (да и Houdini в целом). Наш выбор пал на курсы от Mix Training, так как они претендовали на широкий охват материала о Python и Vex в Houdini.
У автора курсов есть канал на YouTube (неплохой ресурс для желающих начать обучение Houdini), отличающийся неформальной расслабленной подачей и большим количеством тем, от моушен-дизайна до геймдева. Помимо канала у него еще своя гаражная death-metal-группа. Мы решили, что автору стоит доверять, и приобрели Nature of Vex и Bites of Python, по 8 часов каждый курс (можно смотреть на скорости 1,5).
Плюсы
Полезность для специалистов разного уровня. Эти курсы можно сравнить с библиотекой, в которой лежат все самые важные аспекты Vex и Python в Houdini, от элементарных вещей до продвинутых и сложных сетапов. В Vex — от определения атрибутов и переменных до оригинальной реализации алгоритма Space Colonization. В Python — от простого автоматического создания нод в сцене и маленьких улучшений в самой программе Houdini до написанного с нуля менеджера атрибутов. Есть вся необходимая базовая информация по синтаксису этих двух языков и об их взаимодействии с Houdini.
В курсе много всего для начинающих, но это нас совершенно не смутило. Пересматривая видеоуроки или перечитывая статьи о базовых вещах в Houdini, находишь что-то новое и по-новому понимаешь уже известное. Кроме того, в Houdini почти все можно делать разными способами, формируя со временем свой уникальный стиль, поэтому за работой мастера всегда наблюдать ценно и интересно. Даже то, как организованы ноды в проекте, может многое сказать о его создателе.
Актуальность. Обширные и фундаментальные курсы редко бывают современными. Многие из них не угнались за развитием программы Houdini, которая за последние три года довольно сильно изменилась. На смену устоявшимся подходам пришли новые, более оптимизированные и удобные (старые никуда не делись, но перестали быть предпочтительными). В частности, увеличилась доля языка Vex в работе с Houdini. Изучая основы Houdini, важно знать, какие методы актуальны, чтобы, сталкиваясь с более старым (и зачастую более сложным) учебным материалом, понимать, как эффективно применить получаемую информацию на практике.
И минусы…
В курсах нет готовых решений для реального продакшена. Автор выбирает темы уроков и способы решения задач скорее для демонстрации возможного, чем для получения оптимизированного конечного результата. Эти решения не всегда самые эффективные, и не все из них подходят под определение «лучших практик». Если вы ищете пошаговую инструкцию, охватывающую все стадии производства от начала до финального рендера (как здесь, например), то эти курсы не совсем для вас. Автор предпочитает оставлять финал открытым, что может немного обескуражить начинающих пользователей Houdini.
Побочные эффекты неформальной подачи и импровизации. Автор иногда делает ошибки (что может быть и плюсом) или тратит время урока на то, чтобы что-то вспомнить или сконцентрироваться. Учитывая, что информация в курсах во многом ознакомительного характера из-за широты охвата материала, возможности подробно останавливаться на каких-то моментах нет. Из-за этого заминки автора и его спонтанные решения могут вызывать еще больше вопросов. К счастью, у него есть бесплатные уроки о создании менеджера проектов в Houdini с помощью Python, и в некоторых аспектах они более практичны и подробны, чем информация по той же теме в курсах.
На наш взгляд, плюсы сильно перевешивают минусы. Если у вас есть желание более или менее систематизированно изучать возможности программирования в Houdini (и саму Houdini), то с этих видеуроков можно начать. Они также будут хорошим дополнением к другим обучающим материалам и ресурсам — как обзор основных аспектов использования Vex и Python в Houdini или видеосправочник, в котором можно быстро что-то подсмотреть.
Бонус: несколько вдохновляющих и обучающих ссылок
Entagma — GreyScaleGorilla в мире Houdini (пользователи Cinema4d нас поймут). Очень широкий охват тем и отличная подача материала. Кстати, совсем недавно у них стартовал новый сезон.
Simon Holmedal — человек-легенда в houdini-комьюнити. Он больше про вдохновение, чем про конкретные практические приемы. Вспомните о нем, если будет нужно увидеть и почувствовать, что можно делать в Houdini.
Matt Estela — автор одного из самых значимых и популярных ресурсов для обучения Houdini — cgwiki. Ресурс, обновляющийся регулярно, просто ломится от количества полезной информации и готовых решений. Однозначно рекомендуем.
Anastasia Opara — наша соотечественница, автор знакомого многим великолепного курса для Houdini Procedural Lake Houses. Осилить его полностью с первого и даже со второго раза вряд ли получится, но бросать точно не стоит: так много информации о продвинутых практиках применения Vex и процедурном моделинге найти трудно. Для вдохновения рекомендуем ознакомиться с презентацией автора Believability in Procedural Modelling.
Houdini по-русски — канал с очень качественными уроками по Houdini на русском языке. Настолько качественными, что некоторые англоязычные пользователи даже хотели бы выучить русский, чтобы иметь возможность эти уроки смотреть. Учебные материалы разделены по плейлистам в зависимости от уровня сложности.