Unreal4材质表达式数学表达式类节点讲解0010

数学表达式对一个或多个输入执行数学运算的表达式。

Abs绝对值

Abs是数学术语“绝对值”的缩写。Abs表达式输出它接收到的输入的绝对值或无符号值。本质上,这意味着通过删除减号将负数变为正数,而正数和零保持不变。
例如: -0.7的绝对值为0.7;-1.0的绝对值为1.0; 1.0的Abs也是1.0

用法示例: Abs通常与DotProduct(下面有讲到)一起使用 确定两个向量之间的角度关系:它们是平行,垂直还是介于两者之间。通常,当您获得两个向量的点积时,该值将插值在1.0(对于两个平行向量)和-1.0(对于两个完全相反的向量)之间,中点0表示这两个向量是垂直的。当您获得该点积的绝对值时,正值保持不变,但是通过减去负号将负值转换为正数。因此,结果将在0(对于垂直向量)和1.0(对于平行向量)之间进行插值,而不管这些向量指向的方向是相同还是相反。这简单地告诉您两个向量距离正交有多远。
Abs绝对值

Add添加

添加表达采用两个输入,将它们相加,并输出结果。

如果您通过多个通道传递值,则会分别添加每个通道。例如,如果将RGB颜色值传递给每个输入,则第一个输入的R通道将添加到第二个输入的R通道,结果将存储在输出的R通道中;将第一个输入的G通道添加到第二个输入的G通道,结果存储在输出的G通道中,依此类推。

两个输入必须具有相同数量的值,除非其中一个值是单个“常量”值。在这种情况下,将多通道输入的每个通道添加到单个浮点值,并将结果存储在输出值的单独通道中。

例子: 0.2和0.4的和是0.6;(0.2,-0.4,0.6)和(0.1,0.5,1.0)的和为(0.3,0.1,1.6); (0.2,-0.4,0.6)和1.0的加法是(1.2,0.6,1.6)用法示例:添加常用于加亮/变暗颜色或偏移UV纹理坐标。

AppendVector附加向量

该AppendVector表达式允许您把通道结合在一起来创建一个比原来多频道的载体。例如,您可以采用两个单独的Constants 值,并将它们附加以构成两个通道的Constant2Vector 值。这对于重新排列单个纹理中的通道或将多个灰度纹理组合为一个RGB颜色纹理很有用。
示例:附加值0.2和0.4为(0.2,0.4);(0.2,0.4)和(1.0)的附加值为(0.2,0.4,1.0)。

Arccosine反余弦

该Arccosine反余弦表达式输出逆余弦函数。
这是一项昂贵的操作,无法通过指令数反映出来。使用ArccosineFast 可以提供更快但不太准确的替代方法。


上图显示了应用此表达式的结果的两种不同的可视化效果: 1.顶部栏将结果显示为输出颜色。条形图的左端显示在输入值为-1时使用此表达式所产生的颜色,条形图的右端显示值为1时的结果。 2.在该图中,X轴表示输入值的范围是-1到1。Y轴表示在这些输入值上使用此表达式的结果,同样是-1到1。

ArccosineFast快速的反余弦

所述ArccosineFast表达式输出反余弦函数是快计算比更精确的近似反余弦 表达。输入必须在-1和1之间。
有关输出值的可视化,请参见上面的Arccosine 表达式。

反正弦Arcsine
反正弦表达式输出的反正弦函数。
这是一项昂贵的操作,无法通过指令数反映出来。使用ArcsineFast 可以实现更快但不太准确的替代方法。


上图显示了应用此表达式的结果的两种不同的可视化效果: 1.顶部栏将结果显示为输出颜色。条形图的左端显示在输入值为-1时使用此表达式所产生的颜色,条形图的右端显示值为1时的结果。 2.在该图中,X轴表示输入值的范围是-1到1。Y轴表示在这些输入值上使用此表达式的结果,同样是-1到1。

快速的Arcsine

所述ArcsineFast表达式输出逆正弦函数是快计算比更精确的近似 反正弦 表达。输入必须在-1和1之间。
有关输出值的可视化信息,请参见上面的 Arcsine 表达式。

Arctangent反正切

Arctangent反正切表达输出反正切函数。
这是一项昂贵的操作,无法通过指令数反映出来。使用ArctangentFast 可以提供更快但不太准确的替代方法。![上图显示了应用此表达式的结果的两种不同的可视化效果:1.顶部栏将结果显示为输出颜色。条形图的左端显示在输入值为-1时使用此表达式所产生的颜色,条形图的右端显示值为1时的结果。

2.在该图中,X轴表示输入值的范围是-1到1。Y轴表示在这些输入值上使用此表达式的结果,同样是-1到1。

Arctangent2反正切2

所述Arctangent2表达式输出的x / y,其中输入符号用于确定象限的反正切。
这是一项昂贵的操作,无法通过指令数反映出来。使用Arctangent2Fast可以提供更快但不太准确的替代方法。![上图显示了应用此表达式的结果的两种不同的可视化效果:
1.顶部栏将结果显示为输出颜色。条形图的左端显示在输入值为-1时使用此表达式所产生的颜色,条形图的右端显示值为1时的结果。

2.在该图中,X轴表示输入值的范围是-1到1。Y轴表示在这些输入值上使用此表达式的结果,同样是-1到1。

快速的Arctangent2

所述Arctangent2Fast表达式输出X / Y的反正切,其中输入符号用于确定象限的近似。它比Arctangent2 表达式计算速度更快,但准确性较低。
有关 输出值的可视化,请参见上面的 Arctangent2表达式。

快速反正切

所述ArctangentFast表达输出反正切函数,更快地计算比更精确的近似反正切 表达。
有关输出值的可视化,请参见上面的 反正切 表达式。

塞伊尔

所述的Ceil表达发生在值(S),轮他们最多为下一个整数,并输出结果。另请参阅Floor 和Frac 。
示例: 0.2的Ceil为1.0;(0.2,1.6)的Ceil是(1.0,2.0)。


ceil夹钳(限定)

所述钳位表达发生在值(一个或多个)和约束给指定的范围内,由最小值和最大值限定。最小值0.0和最大值0.5意味着结果值将永远不会小于0.0且永远不会大于0.5。

示例:将输入范围(0.0)固定为(1.0)0.3,将Min 0.0和Max 1.0固定为0.3;用最小0.0和最大1.0夹紧1.3得出1.0。

ComponentMask组件蒙版

所述ComponentMask表达允许选择从所述输入通道(R,G,B,和/或A)的特定子集,以通过到输出端。尝试使输入中不存在的通道通过将导致错误,除非输入是单个常数值。在这种情况下,单个值将传递到每个通道。选择要传递的当前通道显示在表达式的标题栏中。
示例:输入为(0.2,0.4,1.0)且G通道为ComponentMask的输出为(0.4),当用作颜色矢量时,它将显示为40%的明亮灰度值。

余弦

余弦表达输出余弦波超[0,1]的输入范围和[-1,1]的输出范围的值,都重复。最常见的是,它用于通过将[时间]表达式连接到其输入来输出连续的振荡波形,但是它也可以用于在世界空间或屏幕空间或需要连续,平滑周期的任何其他应用程序中产生纹波。波形的直观表示如下所示,缩放到[0,1]输出范围:

时期——指定合成波的周期。换句话说,这是一个完整振荡发生的时间,或者是波形中每个连续波峰或每个波谷之间的时间。例如,在上面的图像中,时间段是一秒。

用法示例:该表达式在需要振荡效果的任何时候都非常有用。通过将时间输入(速度)或输出(振幅)相乘,可以轻松动态地控制振荡的速度和幅度。在上面的示例中,颜色将以正弦频率振荡。

CrossProduct交叉产品

该交叉积表达式计算两个三通道矢量值输入的叉积,并输出所得到的三信道向量的值。给定空间中的两个向量,叉积是一个垂直于两个输入的向量。
用法示例: CrossProduct通常用于计算与其他两个方向垂直的方向。

divide划分

划分表达采用两个输入,由第二分割第一输入,并输出该结果。

如果通过多个通道传递值,则将每个通道分开划分。例如,如果将RGB颜色值传递给每个输入,则第一个输入的R通道除以第二个输入的R通道,结果存储在输出的R通道中。第一个输入的G通道除以第二个输入的G通道,结果存储在输出的G通道中,依此类推。
两个输入必须具有相同数量的值,除非这些值之一是单个浮点值。在这种情况下,将多通道输入的每个通道除以单个浮点值,然后将结果存储在输出值的单独通道中。

如果任何通道中的除数在0到0.00001之间,则将其提高到0.00001。如果任何通道中的除数在0到-0.00001之间,它将降低到-0.00001。这避免了被零误差除的可能性。但是,这也意味着该通道的输出值可能非常大。


示例:在A =(1.0)和B =(5.0)的输出上使用除法(0.2),该颜色显示为深灰色。

DotProduct点积

所述DotProduct表达式计算点积,它可以作为一个矢量的长度投影到其他,或作为两个矢量乘以其大小之间的余弦进行说明。许多技术都使用此计算来计算衰减。DotProduct要求两个矢量输入都具有相同数量的通道。常应用在大型地貌上面!!!

Floor地面

地面的表达发生在值(多个),它们轮向下到先前整数,并输出结果。另请参阅Ceil 和Frac 。


示例: 0.2的下限为0.0;(0.2,1.6)的下限是(0.0,1.0)。

Fmod

所述FMOD表达式返回的两个输入的除法运算的浮点余数。股息(输入“ A”)可以是任何值,但负股息将导致负数结果。除数(第二个输入)不应为零,因为这意味着被零除,但是除数是负数还是正数都不会影响结果。一个常见的用例是使一种材料变亮到最大值,然后在下一帧立即下降到最小值,然后才再次开始向最大值爬升。
在此示例中,FMod采用从零到一的UV渐变,并将其转换为绿色通道中X轴上每0.2 UV单位的重复周期。

压裂

该压裂表达发生在值,并输出这些值的小数部分。换句话说,对于输入值“ X”,结果为“ X减去X的下限”。输出值的范围从0到1,包括低端(但不包括高端)。另请参阅Ceil 和Floor 。

示例:(0.2)的分数为(0.2)。(-0.2)的分数为(0.8)。(0.0,1.6,1.0)的分数为(0.0,0.6,0.0)。


在此示例中,Frac节点将时间转换为一系列重复的0-1渐变,从而导致颜色从绿色逐渐淡出(通过Lerp)(从Lerp变到红色),然后突然变回绿色,从而无限期地重复。

IF如果

所述如果表达比较两个输入,然后通过基于所述比较的结果其他三个输入值中的一个。两个比较的输入必须是单个浮点值。
在此示例中,If表达式接受一个高度图,并根据高度是小于还是小于0.2来输出红色或绿色。

LinearInterpolate线性插值

在LinearInterpolate基于用作掩模的第三输入值的两个输入值(S)之间的表达共混物。可以将其视为定义两个纹理之间过渡的蒙版,例如Photoshop中的图层蒙版。蒙版Alpha的强度确定从两个输入值中获取的颜色比率。如果Alpha为0.0,则使用第一个输入。如果Alpha为1.0,则使用第二个输入。如果Alpha在0.0到1.0之间,则输出是两个输入之间的混合。请记住,混合发生在每个通道上。因此,如果Alpha是RGB颜色,则Alpha的红色通道值将定义A和B的红色通道之间的混合,而与Alpha的绿色通道无关,后者定义A和B的绿色通道之间的混合。
程序员: LinearInterpolate根据参数值Alpha在A和B之间执行每通道的套索。

Logarithm10对数10

所述Logarithm10节点返回以10为底的对数,也称为常用对数,输入值的。也就是说,如果采用10的基本值并将其提高到该表达式返回的数字的幂,则将获得输入值。

对数2

Logarithm2节点返回输入值的以2为底的对数。也就是说,如果采用2的基本值并将其提高到此表达式返回的数字的幂,则将获得输入值。

Max最大

最大表达发生在两个输入,并输出两者的更高。

当将此节点与颜色输入一起使用时,结果类似于Photoshop中的“变 亮”图层混合模式。

Min 最小

最小表达发生在两个输入和输出两者的下部。
当将此节点与颜色输入一起使用时,结果类似于在Photoshop中使用“变暗”图层混合模式。


Multiply乘法表达

乘法表达采用两个输入,乘在一起,并输出结果。当您传递颜色值作为输入时,结果类似于Photoshop中“乘以”图层混合模式的结果 。

如果通过多个通道传递值,则每个通道分别相乘。例如,如果将RGB颜色值传递给每个输入,则第一个输入的R通道乘以第二个输入的R通道,结果存储在输出的R通道中;第一个输入的G通道乘以第二个输入的G通道,结果存储在输出的G通道中,依此类推。

两个输入必须具有相同数量的值,除非这些值之一是单个浮点值。在这种情况下,将多通道输入的每个通道乘以单个浮点值,并将其存储在输出值的单独通道中。

不要忘记,UE4中的材料不限于[0,1]。如果颜色/值大于1,则“乘”实际上将使颜色变亮。

示例: 0.4和0.5的乘积为0.2;(0.2,-0.4,0.6)和(0.0,2.0,1.0)的乘积是(0.0,-0.8,0.6); (0.2,-0.4,0.6)和0.5的乘积是(0.1,-0.2,0.3)。
乘法通常用于使颜色/纹理变亮或变暗。

Normalize归一化,将失去过渡,0,1(通常应用在大型地貌)用来控制alpha值)

归一化表达计算并输出它的输入的归一化值。归一化向量(也称为“单位向量”)的总长度为1.0。这意味着输入的每个分量都除以矢量的总大小(长度)。

示例:通过(Normal)传递(0,2,0)或(0,0.2,0)将输出(0,1,0)。通过(0,1,-1)通过Normalize将输出(0,0.707,-0.707)。唯一的特殊情况是全零向量,它将保持不变。
没有必要对插入到法线材质输出中的表达式进行归一化。

OneMinus一减

所述OneMinus表达式接收一个输入值“X”和输出“一减X”。每个通道执行此操作。
范例: 0.4的OneMinus为0.6;(0.2,0.5,1.0)的一减为(0.8,0.5,0.0); (0.0,-0.4,1.6)的一减为(1.0,1.4,-0.6)。

用法示例:当输入颜色在[0,1]范围内时,OneMinus与通常称为“反转”的效果相同-也就是说,OneMinus返回互补色,将其添加到输入时将产生白色。

Power功率(其作用等同于多个multiply的应用,充当一种对比度调整)

功率表达采用两个输入:基值(基础)和指数(精通)。它将基值提高到指数的幂并输出结果。换句话说,它返回Base乘以本身的Exp时间。示例:底数为0.5的幂,Exp 2.0为0.25。


如果传递给Power的颜色为[0,1],则Power可以充当一种对比度调整,其中非常亮的值会稍微变暗,而较暗的值会大大降低。

Round圆形的

该回合表达舍入的输入值到最接近的整数。如果输入值的小数部分为0.5或更大,则将输出值四舍五入。否则,输出值将四舍五入。
例子:

值1.1将四舍五入为值1。
值1.4将四舍五入为值1。
1.5的值将四舍五入为2的值。
值1.85将四舍五入为值2。

Saturate饱和的

饱和和节点夹在0和1值之间的值小于0升高到0; 大于1的值将降低为1;介于0和1之间(含0和1)的值保持不变。在大多数现代图形硬件上,Saturate的指令成本几乎是免费的,因此您可以在需要将输入或输出值限制在0到1之间的任何时候使用此节点,而不会影响材料的性能。
每当需要将输出或输入值限制在0到1之间时,都应使用此节点。

Sign标志

Sign节点表示数字输入是否是负,正,或恰好为0。
如果输入为负,则此节点输出-1。
如果输入正好为0,则此节点输出0。

如果输入为正,则此节点输出1。

Sine正弦波

所述正弦表达式输出过的[0,1]的输入范围和[-1,1]的输出范围的正弦波的值,都重复。此与余弦 表达式的输出之间的差是输出波形偏移了周期的四分之一,即Cos(X)等于Sin(X + 0.25)。最常见的是,它用于通过将时间 表达式连接到其输入来输出连续的振荡波形,但是它也可以用于在世界空间或屏幕空间或需要连续,平滑周期的任何其他应用程序中产生纹波。波形的直观表示如下所示,缩放到[0,1]输出范围:
时期——指定合成波的周期。换句话说,这是一个完整振荡发生的时间,或者是波形中每个连续波峰或每个波谷之间的时间。例如,在上面的图像中,时间段是一秒。



用法示例:该表达式在需要振荡效果的任何时候都非常有用。通过将时间输入(速度)或输出(振幅)相乘,可以轻松动态地控制振荡的速度和幅度。

SquareRoot平方根

平方根表达输出输入值的平方根。如果将其应用于矢量,则将分别处理每个组件。


Subtract减去

在减法节点发生在两个输入,减去从第一第二输入端,并输出该差值。
如果您通过多个通道传递值,则会分别减去每个通道。例如,如果将RGB颜色值传递给每个输入,则从第一个输入的R通道中减去第二个输入的R通道,结果存储在输出的R通道中;从第一个输入的G通道减去第二个输入的G通道,结果存储在输出的G通道中,依此类推。

两个输入必须具有相同数量的值,除非其中一个值是单个“常量”值。在这种情况下,多通道输入的每个通道都会从中减去常量值,并将结果存储在输出值的单独通道中。
示例: 0.5和0.2相减为0.3;(0.2,-0.4,0.6)和(0.1,0.1,1.0)的减法是(0.1,-0.5,-0.4); (0.2,0.4,1.0)和0.2的减法是(0.0,0.2,0.8)。
用法示例:减法可用于加深颜色和抵消UV。

Tangent切线

切线节点输出所指定的值的正切值。
上图显示了应用此表达式的结果的两种不同的可视化效果: 顶部栏将结果显示为输出颜色。条形图的左端显示在输入值为-1时使用此表达式所产生的颜色,条形图的右端显示值为1时的结果。 在该图中,X轴表示输入值的范围是-1到1。Y轴表示在这些输入值上使用此表达式的结果,同样是-1到1。

Truncate截短
该截断通过丢弃的小数部分,同时留下整体数目不变节点截短的值。
例子:

输入值1.1将被截断为1。

输入值1.4将被截断为1。

输入值2.5将被截断为2。

输入值3.1将被截断为3。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容