Вы находитесь на странице: 1из 3

Houdini Artist 101.

Expressions
1

Вписывая те или иные величины в поля параметров мы просто приравниваем значения


параметров к этим величинам.
Expressions
синтаксис
экспрешенов

Строковому параметру Point Group присвоено значение deform. Численному параметру


Height присвоено значение 5

Кроме “статичных” значений мы можем вписывать в поля параметров специальные


выражения, к-е Houdini будет вычислять, возвращая вычисленное значение. С точки
зрения написания выражений параметры в Houdini можно разделить на два типа -
численные и строковые.

Экспрешены в численных параметрах


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

Экспрешены в строковых параметрах


В строковом параметре чуть сложнее - чтобы Houdini не спутал функцию или выражение
просто со значением строки экспрешен выделяется (в начале и в конце) обратным
апострофом ` (буква ё)

Используя в экспрешенах глобальные переменные $F или $T мы можем вводить


зависимость от времени.

В параметре Point Group вычисляется значение deform4. В параметре Height - синус от


текущего кадра, т.е. амплитуда меняется по синусоиде,, в Frequency - 10.

LMB - посмотреть вычисленное значение в численном параметре


MMB - посмотреть вычисленное значение в строковом параметре
Houdini Artist 101. Expressions
2

Alt+E в поле параметра - открыть Expression Editor


Expressions
математика () скобки аргументы функций перечисляются в
экспрешенов скобках
например: pow($TX, 2)

`` обратный апостроф выделение экспрешена внутри строки.


например:
my_group_`$F`_poly

“” двойные кавычки если строка используется в качестве


аргумента функции, она должна быть
заключена в двойные кавычки. например:
ch(“obj/geo1/xfrom1/tx”)

Простейшая математика

+- сложение/вычитание

*/ умножение/деление

% остаток от деления 4%3=1 5%3=2

^ возведение в степень

Операции сравнения

<> больше/меньше

== проверка на равенство. например: $F==2 возвращает 1 во 2-ом кадре,


в остальных кадрах - 0

!= проверка на неравенство

|| или. например: $F==2 || $F==5 возвращает 1 во втором и пятом кадрах

&& и. например: $F>2 && $F<5 возвращает единицу в третьем и


четвертом кадрах

Приведение типов
При написании экспрешенов действует правило приведения типов - вычисленное
вещественное значения в поле параметра типа interger будет округлено до целого.
Houdini Artist 101. Expressions
3

Часто используемые
Expressions
полезные rand() возвращает случайное число в диапазоне [0;1] в зависимости от
значения аргумента. rand($PT)
функции
fit() приведение диапазонов fit(rand($PT), 0, 1, 3, 5) - генерация
случайных значений в диапазоне [3;5]

fit01() приведение диапазона [0;1] к указанному. часто используется в


связке с rand(): fit01(rand($PT), 3, 5)

ch() создание ссылок на значения численных параметров


ch(“obj/geo1/xform1/tx”) - ссылка на значение параметра tx в ноде
xform1

chs() создание ссылок на значения строковых параметров

point() получение числового значения атрибута точки геометрии

points() получение строкового значения атрибута точки геометрии

npoints() общее количество точек в геометрии

opname() возвращает имя ноды, путь до которой указан в аргументе

centroid() возращает параметры геометрии - геометрический центр,


параметры габаритного контейнера

opinputpath() возвращает путь до ноды, к-я подсоединена ко входу текущей

padzero() добавление паддинга padzero(3, $F) возвращает 001, 002, ...

if() возвращает одно из значений после проверки условия. if($F>5,10,


20) после 5-го кадра возвращает 10, до 5-го - 20

Математика

abs() модуль

pow() возведение в степень

floor(), ceil() округление

clamp() ограничение сверху/снизу

Вам также может понравиться