表达

允许您使用类似C的语法表达式将复杂的数学公式应用于通道的值。如有必要,可以将不同的表达式应用于不同的通道组。

x要么y是像素坐标。如果输入是代理图像,则将它们缩放并转换为原尺寸图像中的坐标。

cxcy可以提供更有用的坐标系。在此系统中,0,0是图片的中心。

-1,0是左边缘的中心,1,0是右边缘的中心。1,1是从右边缘的原点向上45度的点(如果宽高比大于1,则在图片顶部之外)。

您可以按名称引用任何输入通道,例如r用于红色通道。

您可以通过名称在任何节点上引用任何控件。例如, Blur1.size返回模糊的大小。您还可以评估动画控件,例如Blur1.size(t)

空表达式等于零。

所有数学运算都是使用32位浮点数完成的。

也可以看看合并表达

输入和控制

连接类型

连接名称

功能

输入值

未命名

您要对其应用表达式的图像序列。

面具

用作遮罩的可选图像。默认情况下,表达式仅限于蒙版的非黑色区域。

首先,遮罩输入在节点的右侧显示为三角形,但是当您拖动它时,它将变成标记为遮罩的箭头。如果看不到遮罩输入,请确保mask控件被禁用或设置为none

Control (UI)

Knob (Scripting)

Default Value

功能

Expression Tab

[variable name field]

temp_name0

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在此处输入变量名称,然后在右侧输入表达式=标志。然后,您可以使用该变量来表示=渠道旁边的字段。

=

temp_expr0

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在左侧输入变量名称=符号以及该字段中的表达式。然后,您可以使用该变量来表示=渠道旁边的字段。

[variable name field]

temp_name1

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在此处输入变量名称,然后在右侧输入表达式=标志。然后,您可以使用该变量来表示=渠道旁边的字段。

=

temp_expr1

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在左侧输入变量名称=符号以及该字段中的表达式。然后,您可以使用该变量来表示=渠道旁边的字段。

[variable name field]

temp_name2

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在此处输入变量名称,然后在右侧输入表达式=标志。然后,您可以使用该变量来表示=渠道旁边的字段。

=

temp_expr2

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在左侧输入变量名称=符号以及该字段中的表达式。然后,您可以使用该变量来表示=渠道旁边的字段。

[variable name field]

temp_name3

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在此处输入变量名称,然后在右侧输入表达式=标志。然后,您可以使用该变量来表示=渠道旁边的字段。

=

temp_expr3

N/A

如果需要在多个字段中使用长表达式,则可以使用此行将表达式临时分配给变量。在左侧输入变量名称=符号以及该字段中的表达式。然后,您可以使用该变量来表示=渠道旁边的字段。

channels

channel0

red

您要在下面将表达式应用到的通道=领域。

您可以使用右侧的复选框选择单个频道。

=

expr0

N/A

该表达式适用于上述渠道。

例如,要将噪声分配给上述通道,然后将该结果的增益提高20,您可以输入(random*r)*20这里。

要引用其他通道中的像素,请使用layer.channel (例如, matte.garbage)。如果未指定图层名称,则“表达式”节点将假定通道位于当前图层中。作为快捷方式,您可以使用rgba引用红色,绿色,蓝色和Alpha通道rgba层。

channels

channel1

green

您要在下面将表达式应用到的通道=领域。

您可以使用右侧的复选框选择单个频道。

=

expr1

N/A

该表达式适用于上述渠道。

例如,要将噪声分配给上述通道,然后将该结果的增益提高20,您可以输入(random*r)*20这里。

要引用其他通道中的像素,请使用layer.channel (例如, matte.garbage)。如果未指定图层名称,则“表达式”节点将假定通道位于当前图层中。作为快捷方式,您可以使用rgba引用红色,绿色,蓝色和Alpha通道rgba层。

channels

channel2

blue

您要在下面将表达式应用到的通道=领域。

您可以使用右侧的复选框选择单个频道。

=

expr2

N/A

该表达式适用于上述渠道。

例如,要将噪声分配给上述通道,然后将该结果的增益提高20,您可以输入(random*r)*20这里。

要引用其他通道中的像素,请使用layer.channel (例如, matte.garbage)。如果未指定图层名称,则“表达式”节点将假定通道位于当前图层中。作为快捷方式,您可以使用rgba引用红色,绿色,蓝色和Alpha通道rgba层。

channels

channel3

alpha

您要在下面将表达式应用到的通道=领域。

您可以使用右侧的复选框选择单个频道。

=

expr3

N/A

该表达式适用于上述渠道。

例如,要将噪声分配给上述通道,然后将该结果的增益提高20,您可以输入(random*r)*20这里。

要引用其他通道中的像素,请使用layer.channel (例如, matte.garbage)。如果未指定图层名称,则“表达式”节点将假定通道位于当前图层中。作为快捷方式,您可以使用rgba引用红色,绿色,蓝色和Alpha通道rgba层。

mask

N/A

disabled

在右侧启用关联的遮罩通道。禁用此复选框与将频道设置为none

maskChannelInput

none

The channel to use as a mask. By default, the expressions are limited to the non-black areas of this channel.

inject

inject

disabled

复制mask输入到预定义mask.a渠道。注入面罩可让您在下游使用同一面罩。

invert

invert_mask

disabled

反转遮罩通道的使用,以便将表达式限制为遮罩的非白色区域。

fringe

fringe

disabled

启用后,仅将效果应用于蒙版的边缘。

禁用时,该效果将应用到整个蒙版。

(un)premult by

N/A

disabled

在右侧启用关联的通道。禁用此复选框与将频道设置为none

unpremult

none

The image is divided by this channel before being processed, and multiplied again afterwards.

If you are using premultiplied input images, you may want to check (un)premult by and select rgba.alpha here. This will simulate applying the expressions before the premultiplication was done. It is the same as adding an Unpremult node before this node and a Premult node after, but allows you to work faster if you’re only using one color correct node.

If you are using unpremultiplied input images, you should leave this set to none.

invert

invert_unpremult

disabled

反转(非)预乘通道的使用。

mix

mix

1

在0的原始图像和1的完整表情效果之间溶解。

支持以下功能:

Function

Purpose

Operator Usage

Related Functions

abs (x)

返回浮点数x的绝对值。

X

See also: fabs.

acos (x)

计算x的反余弦值;那是余弦为x的值。

如果x小于-1或大于1,则acos返回nan(不是数字)

See also: cos, cosh, asin, atan.

asin (x)

计算x的反正弦值;这是正弦值为x的值。

如果x小于-1或大于1,则asin返回nan(不是数字)

See also: sin, sinh, acos, atan.

atan (x)

计算x的反正切值;那是其切线为x的值。返回值将在-PI / 2和PI / 2之间。

X

See also: tan, tanh, acos, asin, atan2.

atan2 (x, y)

计算两个变量x和y的反正切。此函数对于计算两个向量之间的角度很有用。

See also: sin, cos, tan, asin, acos, atan, hypot.

ceil (x)

将x舍入到最接近的整数。

X

See also: floor, trunc, rint.

clamp (x, min, max)

返回x钳制到指定的最小值和最大值。

x,最小值,最大值

See also: min, max.

clamp (x)

返回x固定为[0.0 ... 1.0]。

X

See also: min, max.

cos (x)

返回x的余弦值。

x弧度

See also: acos, sin, tan, cosh.

cosh (x)

返回x的双曲余弦值,其数学定义为:
(exp(x)+ exp(-x))/ 2。

X

See also: cos, acos, sinh, tanh.

degrees (x)

将角度x从弧度转换为度。

X

See also: radians.

exp (x)

返回e的值(自然对数的底数),升为x的幂。

X

See also: log, log10.

exponent (x)

x的指数。

X

See also: mantissa, ldexp.

fBm (x, y, z, octaves, lacunarity, gain)

分数布朗运动。这是对noise()的八度调用的总和。每个输入点都乘以pow(lacunarity,i),结果乘以pow(gain,i)。正常使用时,盲点应大于1,增益应小于1。

x,y,z,八度,腔隙度,增益

See also: noise, random, turbulence.

fabs (x)

返回浮点数x的绝对值。

X

See also: abs.

false ()

始终返回0。

没有

See also: true.

floor (x)

将x舍入到最接近的整数。

X

See also: ceil, trunc, rint.

fmod (x, y)

计算x除以y的余数。返回值是x-ny,其中n是x / y的商,将零舍入为整数。

See also: ceil, floor.

frame ()

返回当前帧号。

没有

See also: x.

from_byte (color component)

将sRGB像素值转换为线性值。

color_component

See also: to_sRGB, to_rec709, from_rec709.

from_rec709 (color component)

将rec709字节值转换为线性亮度。

color_component

See also: from_sRGB, to_rec709.

from_sRGB (color component)

将sRGB像素值转换为线性值。

color_component

See also: to_sRGB, to_rec709, from_rec709.

hypot (x, y)

返回sqrt(x * x + y * y)。这是边长为x和y的直角三角形的斜边的长度。

See also: atan2.

int (x)

将x舍入到不大于绝对值的最近整数。

X

See also: ceil, floor, trunc, rint.

ldexp (x, exp)

返回将浮点数x乘以2乘以幂exp的结果。

x,exp

See also: exponent.

lerp (a, b, x)

返回f(x)线上的点,其中f(0)== a和f(1)== b。

与其他着色语言的lerp函数匹配。

a,b,x

See also: step, smoothstep.

log (x)

返回x的自然对数。

X

See also: log10, exp.

log10 (x)

返回x的以10为底的对数。

X

See also: log, exp.

logb (x)

与exponent()相同。

X

See also: mantissa, exponent.

mantissa (x)

返回归一化的分数。如果参数x不为零,则归一化分数为x的2的幂,并且始终在1/2(含)到1(不含)的范围内。如果x为零,则归一化分数为零,exponent()返回零。

X

See also: exponent

max (x, y, ... )

返回所有值中的最大值。

x,y,(...)

See also: min, clamp.

min (x, y, ... )

返回所有值中的最小值。

x,y,(...)

See also: max, clamp

mix (a, b, x)

与lerp()相同。

a,b,x

See also: step, smoothstep, lerp

noise (x, y, z)

创建3D Perlin噪声值-以零为中心的有符号范围。绝对最大范围是-1.0到1.0。

这将在所有整数处产生零,因此如果要将其用于生成随机数,则应稍微旋转坐标(将y和z的小数加到x等)。

x,可选y,可选z

See also: random, fBm, turbulence

pi ()

返回pi的值(3.141592654 ...)。

没有

none

pow (x, y)

返回x乘以y的幂的值。

See also: log, exp, pow

pow2 (x)

返回提高到2的幂的x的值。

See also: pow

radians (x)

将角度x从度转换为弧度。

X

See also: degrees

random (x, y, z)

创建介于0和1之间的伪随机值-总是为相同的x,y和z生成相同的值。

不带参数的随机调用会在每次调用时创建不同的值。

可选x,可选y,可选z

See also: noise, fBm, turbulence

rint (x)

将x舍入到最接近的整数。

X

See also: ceil, floor, int, trunc

sin (x)

返回x的正弦值。

x弧度

See also: asin, cos, tan, sinh

sinh (x)

返回x的双曲正弦值,其数学定义为:
(exp(x)-exp(-x))/ 2。

X

See also: sin, asin, cosh, tanh

smoothstep (a, b, x)

如果x小于a,则返回0;如果x大于或等于b,则返回1;否则,返回平滑三次插值。

与其他着色语言中的smoothstep函数匹配。

a,b,x

See also: step, lerp

sqrt (x)

返回x的非负平方根。

X

See also: pow, pow2

step (a, x)

如果x小于a,则返回0,否则返回1。

与其他阴影语言的阶跃函数匹配。

一个

See also: smoothstep, lerp

tan (x)

返回x的切线。

x弧度

See also: atan, cos, sin, tanh, atan2

tanh (x)

返回x的双曲正切,其数学定义为:
sinh(x)/ cosh(x)。

X

See also: tan, atan, sinh, cosh

to_byte (color component)

将浮点像素值转换为表示sRGB空间中该数字的8位值。

color_component

See also: from_sRGB, to_rec709, from_rec709

to_rec709 (color component)

当该标准映射到0-255范围时,将浮点像素值转换为一个表示rec709标准中的亮度的8位值。

color_component

See also: from_sRGB, from_rec709

to_sRGB (color component)

将浮点像素值转换为表示sRGB空间中该数字的8位值。

color_component

See also: from_sRGB, to_rec709, from_rec709

true ()

总是返回1。

没有

See also: false

trunc (x)

将x舍入到不大于绝对值的最近整数。

X

See also: ceil, floor, int, rint

turbulence (x, y, z, octaves, lacunarity, gain)

除使用noise()函数的绝对值外,其他与fBm()相同。

x,y,z,八度,腔隙度,增益

See also: fBm, noise, random

x ()

返回当前帧号。

没有

See also: frame

y (frame)

在给定的帧上评估动画的y值。

可选:帧,默认为当前帧

none

分步指南

将表达式应用于通道值

Nuke剧本

注意:  只有从以下位置启动了帮助,才能加载示例脚本Nuke并设置documentation sourcelocal在里面Behaviors > Documentation的标签Preferences

看到Using Script Links了解更多信息。

用于分发绿屏和蓝屏素材的表达节点