Если вы хотите при старте Гудини загружать не пустой проект или производить какие-то настройки по умолчанию, то вам нужно будет создать файл 123.py. Это скрипт на Python, который будет исполняться всякий раз, когда Гудини стартует без проекта. Этот файл должен лежать в папке Документы/HoudiniXX.X/scripts.
Например, если вы хотите, чтобы при старте проекта у вас всегда создавалась камера, сделайте такой скрипт:
hou.node('/obj/').createNode('cam')
Вы можете перетащить связку нод на шелф, потом на получившемся инструменте щелкнуть правой кнопкой, Edit tool — Script и скопировать получившийся скрипт в 123.py. Теперь эти ноды будут загружаться в пустом проекте.
Обратите внимание: если в стартовых скриптах есть ошибки, то Гудини покажет в консоли проблемное место, но не запустится.
Если вам нужно менять какие-то установки при загрузки ваших проектов, то для этого есть файл 456.py. Он запускается при загрузке проекта, в том числе через меню File.
Например, если вас раздражает, что в проекте сохраняется номер текущего фрейма и при загрузке проекта идет просчет симуляции до этого кадра, то вы можете поместить в 456.py такую строку:
hou.setFrame(1)
После этого проект всегда будет устанавливаться на первый фрейм при загрузке.
По сути ничем. И то, и то — три флоата. Но вектор можно трансформировать нодами типа Transform, которые определяют положение в пространстве.
Если говорить точнее, то у вектора установлен тип «vector» в Typeinfo-метадате. Подробнее почитать про разные типы данных можно по ссылке.
Если вы хотите в Вексе изменить тип атрибута, то можно воспользоваться функцией setattribtypeinfo().
Через переменную окружения HOUDINI_MAX_BACKUP_FILES.
Можно добавить ее в Houdini.env, например так:
HOUDINI_MAX_BACKUP_FILES=3
При значении ноль ограничения снимаются.
В бэктики (на виндовых клавиатурах этот символ находится над клавишей Tab) заключаются выражения, если они стоят в строковом параметре.
Например если вы в параметр Text ноды Font запишите ch(«fontsize»), то нода подумает, что вы хотите вывести такой текст, и во вьюпорте появится надпись «ch(«fontsize»)». Если же вы заключите эту надпись в обратные апострофы, то нода фонт поймет, что вы хотите прочитать значение этого выражения, и выведет цифру 1.
Это относится ко всем строковым параметрам, например имени файла. Единственное исключение — переменные, которые начинаются со значка доллара. $F, $FSTART и так далее можно писать без бэктиков.
Это простой язык выражений, которым, в основном пользуются для изменения значений параметров. У каждой ноды есть переключалка языка выражений, по умолчанию там буква «H», то есть Hscript. Можно выбрать Python. Также язык выражений можно назначить для каждого параметра индивидуально в меню правой кнопки мыши.
Выражения Hscript перечислены в этом списке: https://www.sidefx.com/docs/houdini/expressions/index.html
По большому счету, когда мы пишем выражения в окно ввода параметра, мы всегда это делаем на Hscript, кроме случаев, когда мы сами переключили язык на Python или когда над параметром помечено Vexpression — в этом случае используется Vex.
Также синтаксис Hscript может использоваться в больших скриптах, например в инструментах на Shelf или в ассетах.
Проверить проект можно через меню Render/Pre-flight Scene. Появится окно, в котором красным обозначены все внешние ресурсы: модели, текстуры, кэш, ассеты. Прямо в этом окне их можно переносить в папку проекта.
Но удобнее пользоваться скриптом: https://github.com/paulwinex/houdini_localizer
Тейки — это система оверрайдов, дословно можно перевести как «Дубль» в киношном смысле, то есть еще одна версия сцены. Для вашего сетапа можно сделать много разных тейков с вариациями параметров.
Тейки выбираются в списке в правом верхнем углу. По умолчанию там есть один тейк Main. Можно создать новый тейк, параметры поменяют цвет на коричневый. Если выключена галка Auto takes, то параметры нужно включать в тейк вручную, через меню правой кнопки мыши. Все изменения параметров сохранятся только в этом тейке.
Будьте осторожны с Auto takes, очень легко запутаться в каком тейке вы работаете.
Можно работать и без них, но при импорте Fbx через меню File Гудини переключается в тейк с анимацией, поэтому знать про них нужно.
Если вы загрузили Fbx с тейком и хотите удалить все тейки, оставив анимацию в Main, то:
- Windows/Take List
- Мышкой перетягиваем нужный тейк на Main и выбираем в меню Merge take (with override).
- Теперь остальные тейки можно удалить клавишей Del.
Самое простое — выделить нужные ноды, перетащить их на верхнюю полку (shelf) и создать инструмент. Теперь при нажатии на этот инструмент эта связка нод появится в любом другом проекте.
Также можно открыть две копии Гудини и перекидывать ноды через Ctrl+C — Ctrl+V.
Obj, Sop, Mat, Shop, Dop, Chop, Cop, Top, Vop, Lop… В каждом из этих нетворков свой уникальный набор нод, это и есть контексты. Контексты — это разные части программы, которые отличаются друг от друга, отвечают за разное и работают тоже по-разному. Контексты можно делать вложенными. Например в Sop создать контекст Mat. Это нужно, чтобы вы могли сохранить в цифровой ассет все аспекты своего сетапа.
Obj — контекст сборки сцены из объектов
Sop — контекст работы с геометрией: точками, вертексами, полигонами и т.д.
Mat, Shop — контексты сборки материалов
Dop — контекст работы с динамикой
Chop — контекст работы с процедурной анимацией
Cop (IMG2) — нодовый компоузер
Rop (Out) — контекст вывода, рендер и сохранение
Top — контекст PDG, пакетные операции, автоматизация повторяющихся действий
Vop — контекст Vex-билдера, визуальное программирование. Так же используется в шейдерах.
Lop — контекст работы с USD.
Лучше оба. Vex нужен для работы с геометрией и атрибутами. Python — для автоматизации работы, создания новых нод и так далее.
Можно, сами принципы моделинга не меняются, все инструменты в Гудини есть. На мой взгляд, все-таки, удобнее моделить в Максе-Майе-Блендере-Модо, и приносить в Гудини готовые модели.
Про директ-моделинг в Гудини есть урок от Алекса Удилова:
Можно, но есть нюансы. Основы работы не меняются, но некоторые отдельные ноды могли как сильно измениться, так и вообще пропасть. Для опытного человека разобраться с этим не составляет большой проблемы. Новичкам же я порекомендую проходить уроки по последним версиям пакета.