Полезное
Мы Вконтакте
Discord канал
Блок Math. Expression позволяет записать в себя математическую формулу, после чего будет автоматически сгенерирован Blueprint график. Преимущество данного функционала не только в том, что можно быстро создать математическое выражение, но и в производительности. Блоки Mat Expression будут обрабатываться в процессе игры быстрее, чем вручную собранное выражение из обычных математических блоков в Blueprint.
Чтобы создать узел Math Expression, щелкните правой кнопкой мыши на поле graph и выберите Add Math Expression…из контекстного меню.
Узел Math Expression представляет собой автоматически собираемую graph-подсистему. Чтобы раскрыть его щелкните по нему дважды ЛКМ, чтобы увидеть внутренние функции. По умолчанию название/выражение пустое. Каждый раз, когда Вы переименовываете узел, создается новое выражение с узлами в подсистеме.
Чтобы переименовать узел и обновить подсистему, щелкните правой кнопкой мыши по узлу и выберите Rename.
Например, задайте имя узлу Math Expression выражением:
(1+x)*sin(myVar)-2.4/rand()
После обновления узел Math Expression будет иметь два float входа, X и MyVar, и один float выход.
Если дважды щелкнуть по узлу с этим выражением, Вы увидите следующую graph-подсистему:
Graph-подсистема создается при следующих условиях:
Имя переменной может быть любым, но важно помнить следующие моменты:
Приоритеты выполнения операций (сначала наивысший):
Простые функции Blueprint, которые находятся в библиотеке функций, должны быть доступны. К ним относятся:
Тригонометрические функции (sin/cos/tan, asin, acos и т.п.):
sin(x)
Ограничивающие функции (min, max, clamp и т.п.):
clamp(y,0,20)
Функции округления (floor, fceil, round и т.п.):
round(z)
Показательные функции (square, power, sqrt, loge, e/exp и т.п.)
Некоторые, обычно использующиеся функции или узлы имеют несколько названий. Вот некоторые примеры:
Функция Power: power, pow
Тригонометрические функции (asin/arcsin, acos/arccos и т.п.)
Есть некоторые основные структуры, которые мы довольно часто используем в математике, такие как векторы, преобразования и т.п.. Вы можете создать и работать с этими типами в своих выражениях.
Ключевое слово vector создаст узел MakeVector:
vector(x,y,z)
Ключевое слово rotator создаст узел MakeRotator:
rotator(x,y,z)
Ключевое слово transform создаст узел MakeTransform:
transform(vec(x,y,z), rot(p,y,r), vec(6,5,4))
Так же, имеется несколько имен у некоторых функций, например у вектора и ротатора.
Ключевые слова для вектора
vector, vec, vect
Ключевые слова для ротатора
rotator, rot
Ниже описаны поддерживаемые операторы. Логические и операторы сравнения можно комбинировать, чтобы создать сложные логические выражения.
Мультипликация:
*, /, %
Сложение:
+, -
Сравнение:
<,>, <=,>=
Равенство:
==, ! =
Логические:
||, &&, ^
Следующие операторы пока еще не поддерживаются.
Условние:
?:
Побитовые:
|, &, <<, >>
Унарные префиксы:
+, -, ++, --, ~, !, и т.п.
Постфиксы:
++, --, [], и т.п.
Вы должны войти, что бы оставлять комментарии.