查看: 480|回复: 5

[引擎各个功能] 【数学表达式 | Unreal Engine】

[复制链接]

1

主题

342

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
75866
发表于 2016-6-25 12:33:00 | 显示全部楼层 |阅读模式


本页面的内容:

      
Abs(绝对值)

Add(加)

AppendVector(追加矢量)

Ceil(加一取整)

Clamp(限制)

ComponentMask(分量蒙版)

Cosine(余弦)

CrossProduct(矢量积)

Divide(除)

DotProduct(标量积)

Floor(减一取整)

FMod(浮点余数)

Frac(小数)

If(如果)

LinearInterpolate(线性插值)

Max(最大值)

Min(最小值)

Multiply(乘)

Normalize(规范化)

OneMinus(一减)

Power(幂)

Sine(正弦)

SquareRoot(平方根)

Subtract(减)
     Abs(绝对值)
Abs(绝对值)是数学术语“绝对值(absolute value)”的缩写。Abs(绝对值)表达式输出其接收到的输入的绝对值(无符号值)。基本上,这意味着它通过删除减号将负数转换为正数,而正数和零将保持不变。

示例:-0.7 的 Abs(绝对值)为 0.7;-1.0 的 Abs(绝对值)为 1.0;1.0 的 Abs(绝对值)也是 1.0

用法示例:Abs(绝对值)一般与 DotProduct(标量积) 配合使用。DotProduct(标量积)的结果是 -1..0..1,对 DotProduct(标量积)的结果执行 Abs(绝对值)的结果将是 1..0..1。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Add(加)
Add(加)表达式接收两个输入,将其相加,然后输出结果。这个加法运算按通道执行,这意味着输入的 R 通道、G 通道和 B 通道等等将分别相加。两个输入必须具有相同数目的通道,除非其中之一是单个常量值。常量可以添加到具有任意数目输入的矢量。


项目
说明


属性
常量 A(Const A)接收被加数的值。仅当未使用 A 输入时才使用。常量 B(Const B)接收加数的值。仅当未使用 B 输入时才使用。
输入
A接收被加数的值。B接收加数的值。
示例:对 0.2 和 0.4 执行 Add(加)的结果是 0.6;对 (0.2,-0.4,0.6) 和 (0.1,0.5,1.0) 执行 Add(加)的结果是 (0.3,0.1,1.6);对 (0.2,-0.4,0.6) 和 1.0 执行 Add(加)的结果是 (1.2,0.6,1.6)

用法示例:Add(加)通常用来使颜色变亮/变暗,或者使 UV 纹理坐标偏移。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


AppendVector(追加矢量)
AppendVector(追加矢量)表达式允许您将通道组合在一起,以创建通道数比原始矢量更多的矢量。例如,您可以使用两个 常量 值并进行追加,以建立双通道 Constant2Vector(常量 2 矢量) 值。这有助于将单个纹理中的通道重新排序,或者将多个灰阶纹理组合成一个 RGB 彩色纹理。


项目
说明


输入
A接收作为追加目标的值。B接收要追加的值。
示例:对 0.2 和 0.4 执行追加的结果是 (0.2,0.4);对 (0.2,0.4) 和 (1.6) 执行追加的结果是 (0.2,0.4,1.6)。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Ceil(加一取整)
Ceil(加一取整)表达式接收值,使其 向上 舍入到下一个整数,并输出结果。另请参阅 Floor(减一取整) 和 Frac(小数)。

示例:对 0.2 执行 Ceil(加一取整)的结果是 1.0;对 (0.2,1.6) 执行 Ceil(加一取整)的结果是 (1.0,2.0)。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Clamp(限制)
Clamp(限制)表达式接收值,并将它们约束到由最小值和最大值定义的指定范围。最小值 0.0 和最大值 0.5 意味着结果值决不会小于 0.0,并且决不会大于 0.5。


项目
说明


属性
限制模式(Clamp Mode)选择要使用的限制类型。CMODE_Clamp 将对范围的两端进行限制。CMODE_ClampMin 和 CMODE_ClampMax 将仅对范围的相应端进行限制。默认最小值(Min Default)接收限制时用作最小值的值。仅当未使用“最小值”(Min)输入时才使用。默认最大值(Max Default)接收限制时用作最大值的值。仅当未使用“最大值”(Max)输入时才使用。
输入
最小值(Min)接收限制时用作最小值的值。最大值(Max)接收限制时用作最大值的值。
示例:在最小值为 0.0 且最大值为 1.0 的情况下对 0.3 进行限制将产生 0.3;在最小值为 0.0 且最大值为 1.0 的情况下对 1.3 进行限制将产生 1.0;

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


ComponentMask(分量蒙版)
ComponentMask(分量蒙版)表达式允许从输入中选择通道(R、G、B 和/或 A)的特定子集以传递到输出。尝试传递输入中不存在的通道将导致错误,除非输入是单个常量值。在这种情况下,会将单个值传递到每个通道。选择传递的当前通道将显示在表达式的标题栏中。


项目
说明


属性
R如果选中此项目,那么会将输入值的红色通道(第一个通道)传递到输出。G如果选中此项目,那么会将输入值的绿色通道(第二个通道)传递到输出。B如果选中此项目,那么会将输入值的蓝色通道(第三个通道)传递到输出。A如果选中此项目,那么会将输入值的阿尔法通道(第四个通道)传递到输出。
示例:如果 ComponentMask(分量蒙版)的输入为 (0.2,0.8,1.4) 并选中 R 和 B 通道,那么将输出 (0.2,1.4)。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Cosine(余弦)
Cosine(余弦)表达式反复输出 [0, 1] 范围内的余弦波值。最常见的情况是,通过将 Time(时间) 表达式连接至它的输入,输出连续的振荡波形。输出值将在 -1 与 1 之间来回循环。下图显示波的视觉表示:

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]




项目
说明


属性
周期(Period)指定产生的波的周期。换而言之,这是发生一次振荡的长度。
用法示例:在任何需要振荡效果的场合,此表达式都非常有用。通过将时间输入(速度)或输出(振幅)倍增,可以轻松地动态控制振荡的速度和振幅。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在以上示例中,颜色将以余弦频率振荡。
CrossProduct(矢量积)
CrossProduct(矢量积)表达式计算两个三通道矢量值输入的矢量积,并输出所产生的三通道矢量值。给定空间中的两个矢量,矢量积是与两个输入都垂直的矢量。


项目
说明


输入
A接收三通道矢量值。B接收三通道矢量值。
用法示例:CrossProduct(矢量积)通常用来计算与另外两个方向都垂直的方向。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Divide(除)
Divide(除)表达式接收两个输入,并输出第一个输入除以第二个输入的结果。除法按通道进行,即,第一个输入的 R 通道将除以第二个输入的 R 通道,第一个输入的 G 通道将除以第二个输入的 G 通道,依此类推。除非除数是单个浮点值,否则两个输入必须具有相同数目的值。切勿以零作除数。


项目
说明


属性
常量 A(Const A)接收被除数的值。仅当未使用 A 输入时才使用。常量 B(Const B)接收除数的值。仅当未使用 B 输入时才使用。
输入
A接收被除数的值。B接收除数的值。
示例:当 A=(1.0,0.5,-0.4) 且 B=(2.0,2.0,4.0) 时,Divide(除)的输出为 (0.5,0.25,-0.1)

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


DotProduct(标量积)
DotProduct(标量积)表达式计算标量积,即一个矢量投射到另一个矢量上的长度。许多技术使用此计算来计算衰减。DotProduct(标量积)要求两个矢量输入具有相同数目的通道。


项目
说明


输入
A接收一个值,或接收任意长度的矢量。B接收一个值,或接收任意长度的矢量。
【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Floor(减一取整)
Floor(减一取整)表达式接收值,使其 向下 舍入到上一个整数,并输出结果。另请参阅 Ceil(加一取整) 和 Frac(小数)。

示例:对 0.2 执行 Floor(减一取整)的结果是 0.0;对 (0.2,1.6) 执行 Floor(减一取整)的结果是 (0.0,1.0)。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


FMod(浮点余数)
FMod(浮点余数)表达式返回对两个输入执行除法运算的浮点余数。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在此示例中,FMod(浮点余数)每秒返回一个重复值,该值的范围限制在 0 到 1。达到 1 之后,该值将恢复为 0,并无穷反复。
Frac(小数)
Frac(小数)表达式接收值,并输出这些值的小数部分。另请参阅 Ceil(加一取整) 和 Floor(减一取整)。

示例:对 0.2 执行 Frac(小数)的结果是 0.2;对 (0.0,1.6) 执行 Frac(小数)的结果是 (0.0,0.6)。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在此示例中,Frac(小数)节点将时间转换为重复的 0 - 1 级数序列,从而通过线性插值使颜色从绿色渐变为红色,然后恢复为绿色,并无穷反复。
If(如果)
If(如果)表达式对两个输入进行比较,然后根据比较结果传递另外三个输入值中的一个。所比较的两个输入必须都是单个浮点值。


项目
说明


输入
A接收单个浮点值。B接收单个浮点值。A > B接收 A 的值大于 B 的值时要输出的值。A = B接收 A 的值等于 B 的值时要输出的值。A  B接收 A 的值小于 B 的值时要输出的值。
【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在此示例中,If(如果)表达式接收高度贴图,并根据高度是低于还是高于值 0.2 来输出红色或绿色。
LinearInterpolate(线性插值)
LinearInterpolate(线性插值)表达式根据用作蒙版的第三个输入值,在两个输入值之间进行混合。您可以将其想像成用于定义两个纹理之间的过渡效果的蒙版,例如 Photoshop 中的层蒙版。蒙版“阿尔法”(Alpha)的强度确定从两个输入值获取颜色的比例。如果“阿尔法”(Alpha)为 0.0/黑色,那么将使用第一个输入。如果“阿尔法”(Alpha)为 1.0/白色,那么将使用第二个输入。如果“阿尔法”(Alpha)为灰色(介于 0.0 与 1.0 之间的值),那么输出是两个输入之间的混合。请记住,混合按通道进行。因此,如果“阿尔法”(Alpha)为 RGB 颜色,那么“阿尔法”(Alpha)的红色通道值定义 A 与 B 的红色通道之间的混合,而与“阿尔法”(Alpha)的绿色通道 无关,该通道定义 A 与 B 的绿色通道之间的混合。


项目
说明


属性
常量 A(Const A)映射到黑色 (0.0) 的值。仅当未连接 A 输入时才使用。常量 B(Const B)映射到白色 (1.0) 的值。仅当未连接 B 输入时才使用。常量阿尔法(Const Alpha)接收要用作蒙版阿尔法的值。仅当未连接“阿尔法”(Alpha)输入时才使用。
输入
A接收映射到黑色 (0.0) 的值。B接收映射到白色 (1.0) 的值。阿尔法(Alpha)接收要用作蒙版阿尔法的值。
程序员需知:LinearInterpolate(线性插值)根据参数值“阿尔法”(Alpha)在 A 与 B 之间执行按通道插值。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Max(最大值)
Max(最大值)表达式接收两个输入,然后输出其中的较大者。

此节点类似于 Photoshop 的“变亮”。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在以上示例中,A 为 "0",B 为 "1";因此,产生的底色为 "1"(白色)。


项目
说明


属性
常量 A(Const A)接收第一个值。仅当未使用 A 输入时才使用。常量 B(Const B)接收第二个值。仅当未使用 B 输入时才使用。
输入
A接收要比较的第一个值。B接收要比较的第二个值。Min(最小值)
Min(最小值)表达式接收两个输入,然后输出其中的较小者。

此节点类似于 Photoshop 的“变暗”。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]



在以上示例中,A 为 "0",B 为 "1";因此,产生的底色为 "0"(黑色)。


项目
说明


属性
常量 A(Const A)接收第一个值。仅当未使用 A 输入时才使用。常量 B(Const B)接收第二个值。仅当未使用 B 输入时才使用。
输入
A接收要比较的第一个值。B接收要比较的第二个值。Multiply(乘)
Multiply(乘)表达式接收两个输入,将其相乘,然后输出结果。类似于 Photoshop 的多层混合。乘法按通道进行,即,第一个输入的 R 通道将乘以第二个输入的 R 通道,第一个输入的 G 通道将乘以第二个输入的 G 通道,依此类推。除非其中一个值是单个浮点值,否则两个输入必须具有相同数目的值。


项目
说明


属性
常量 A(Const A)接收第一个要相乘的值。仅当未使用 A 输入时才使用。常量 B(Const B)接收第二个要相乘的值。仅当未使用 B 输入时才使用。
输入
A接收第一个要相乘的值。B接收第二个要相乘的值。
请注意,UE4 中的材质不限于 [0,1]。如果颜色/值大于 1,那么 Multiply(乘)实际上会使颜色变亮。

示例:对 0.4 和 0.5 执行 Multiply(乘)的结果是 0.2;对 (0.2,-0.4,0.6) 和 (0.0,2.0,1.0) 执行 Multiply(乘)的结果是 (0.0,-0.8,0.6);对 (0.2,-0.4,0.6) 和 0.5 执行 Multiply(乘)的结果是 (0.1,-0.2,0.3)。

用法示例:Multiply(乘)通常用来使颜色/纹理变亮或变暗。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Normalize(规范化)
Normalize(规范化)表达式计算并输出其输入的规范化值。这表示该输入的每个分量都会除以矢量的 L-2 范数(长度)。




不必对连接到“法线”(Normal)材质输出的表达式进行规范化。
OneMinus(一减)
OneMinus(一减)表达式接收一个输入值,并输出“一减去该值”。此运算按通道执行。

示例:对 0.4 执行 OneMinus(一减)的结果是 0.6;对 (0.2,0.5,1.0) 执行 OneMinus(一减)的结果是 (0.8,0.5,0.0);对 (0.0,-0.4,1.6) 执行 OneMinus(一减)的结果是 (1.0,1.4,-0.6)。

用法示例:当输入颜色在 [0,1] 范围内时,OneMinus(一减)的效果就是通常所谓的“反色”-- 即,OneMinus(一减)将返回互补色,这种颜色与输入相加将产生白色。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Power(幂)
Power(幂)表达式接收两个输入,计算“底数”(Base)的“指数”(Exp)次幂,并输出结果;换而言之,“底数”(Base)自乘“指数”(Exp)次。


项目
说明


属性
常量指数(Const Exponent)接收指数值。仅当未使用“指数”(Exp)输入时才使用。
输入
底数(Base)接收底数值。指数(Exp)接收指数值。
示例:底数为 0.5,指数为 2.0 时,Power(幂)的结果为 0.25。

用法示例:如果传递到 Power(幂)的颜色在 [0,1] 范围内,那么 Power(幂)可以用作对比度调整,即,仅保留较亮的值。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Sine(正弦)
Sine(正弦)表达式反复输出 [0, 1] 范围内的正弦波值。最常见的情况是,通过将 Time(时间) 表达式连接至它的输入,输出连续的振荡波形。输出值将在 -1 与 1 之间来回循环。此表达式与 Cosine(余弦) 表达式输出之间的差别是,输出波形偏移半个周期。下图显示波的视觉表示:

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]




项目
说明


属性
周期(Period)指定产生的波的周期。换而言之,这是发生一次振荡的长度。
用法示例:在任何需要振荡效果的场合,此表达式都非常有用。通过将时间输入(速度)或输出(振幅)倍增,可以轻松地动态控制振荡的速度和振幅。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


SquareRoot(平方根)
SquareRoot(平方根)表达式输出输入值的平方根。SquareRoot(平方根)只能对单个浮点输入值执行运算。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


Subtract(减)
Subtract(减)节点接收两个输入,从第一个输入中减去第二个输入,然后输出它们的差。减法按通道进行,即,第一个输入的 R 通道将减去第二个输入的 R 通道,第一个输入的 G 通道将减去第二个输入的 G 通道,依此类推。除非第二个输入是单个常量值,否则两个输入必须具有相同数目的通道。常量可以从具有任意数目输入的矢量中减去。


项目
说明


属性
常量 A(Const A)接收被减数的值。仅当未使用 A 输入时才使用。常量 B(Const B)接收减数的值。仅当未使用 B 输入时才使用。
输入
A接收被减数的值。B接收减数的值。
示例:对 0.5 和 0.2 执行 Subtract(减)的结果是 0.3;对 (0.2,-0.4,0.6) 和 (0.1,0.1,1.0) 执行 Subtract(减)的结果是 (0.1,-0.5,-0.4);对 (0.2,0.4,1.0) 和 0.2 执行 Subtract(减)的结果是 (0.0,0.2,0.8)。

用法示例:Subtract(减)可用来使颜色变暗以及使 UV 偏移。

【虚幻4翻译文档-数学表达式 | Unreal Engine】[虚幻4中文文档]


回复

使用道具 举报

0

主题

813

帖子

2646

积分

vip会员

Rank: 1

积分
2646
发表于 2016-7-2 18:35:47 | 显示全部楼层
我一天来看一回,看看能不能打折。
回复 支持 反对

使用道具 举报

0

主题

878

帖子

2948

积分

vip会员

Rank: 1

积分
2948
发表于 2016-7-3 19:54:41 | 显示全部楼层
我吭哧瘪肚 终于下载下来了,但是不会用- -
回复 支持 反对

使用道具 举报

0

主题

907

帖子

3008

积分

vip会员

Rank: 1

积分
3008
发表于 2016-7-4 10:40:14 来自手机 | 显示全部楼层
好东西这么多....
回复 支持 反对

使用道具 举报

0

主题

883

帖子

2935

积分

vip会员

Rank: 1

积分
2935
发表于 2016-7-6 16:56:38 来自手机 | 显示全部楼层
这个必须顶,撸主好人
回复 支持 反对

使用道具 举报

0

主题

888

帖子

2927

积分

vip会员

Rank: 1

积分
2927
发表于 2016-7-23 16:55:16 来自手机 | 显示全部楼层
版主我爱你
回复 支持 反对

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | enginedx注册

本版积分规则

 
 



邮件留言:


 
返回顶部