运算节点

../../../../_images/compositing_node-types_CompositorNodeMath.png

运算节点。

运算节点 的功能是执行数学运算。

输入

节点的输入是动态的。某些输入仅在某些操作中可用。例如,Addend 输入仅在 乘后再加 操作中可用。

输入数值。三角函数将此值读取为弧度。

追加

输入追加。

基数

输入基数。

指数

输入指数。

Epsilon

输入Epsilon。

距离

输入距离。

最小

输入最小值。

最大

输入最大值。

增量

输入增量。

缩放

输入缩放。

输入度。

弧度

输入弧度。

属性

操作

应用于输入值的数学操作:

  • 函数

    • 相加

      两值之和。

      相减

      两值之差。

      相乘

      两值之积。

      相除

      第一值除以第二值。

      乘后再加

      两值之积与 追加 之和。

      基数 提高到 指数 的幂。

      对数

      基数 为基数的值的对数。

      平方根

      值的平方根。

      反平方根

      1除以值的平方根。

      绝对值

      读取输入值时不考虑其符号。会将负值变成正值。

      指数

      欧拉数) 提高为数值的幂。

    比较操作

    • 最小值

      输出最小的输入值。

      最大值

      输出最大的输入值。

      小于

      如果第一个值小于第二个值,则输出1.0。否则,输出为0.0。

      大于

      如果第一个值大于第二个值,则输出1.0。否则,输出为0.0。

      Sign

      提取输入值的符号。所有正数将输出1.0。所有负数将输出-1.0。0.0将输出0.0。

      比较

      如果两个输入值之间的差小于或等于 Epsilon,则输出1.0。

      平滑最小值

      平滑最小值

      平滑最大值

      平滑最大值.

    舍入

    • 四舍五入

      将输入值四舍五入到最接近的整数。

      向下取整

      将输入值向下取整到最接近的整数。

      向上取整

      将输入值向上取整到最接近的整数。

      截取

      输出 的整数部分。

      分数

      分数

      模数

      一旦第一个值除以第二个值,就输出余数。

      包裹

      根据输入值与小于该值的 最大值 的最接近整数倍之间的差的绝对值,输出 最小值最大值 之间的值。

      吸附

      将输入值向下舍入为 增量 的最接近的整数倍。

      乒乓

      输出值根据输入值在0.0和 缩放 之间移动。

    三角函数

    转换

    • 到弧度

      将输入从度转换为弧度。

      到度

      将输入从弧度转换为度。

钳制

限定输出数值的范围(0到1)。参见 钳制

输出

数值输出。

范例

自定义Z深度通道节点设置

../../../../_images/compositing_types_converter_math_manual-z-mask.png

最大值与最小值功能举例。

此范例场景输入数据由 渲染层 节点提供,距离摄影机10BU左右有个矩形物体。在另一个渲染层节点底部的输入连接端口上连有一个覆盖视图左半部距离摄影机7BU单位的平面。两个渲染层节点通过映射值节点分离Z缓冲区(Z深度)为20(乘以0.5,输入框如图所示)并且最小值/最大值的范围限分别限定在 0.0/1.0。

“使用最小值”功能是依据靠近摄影机的像素将Z深度值选择出来;也可以选择矩形部分的平面Z深度值。背景有个初始的Z深度值,值限定为1.0(显示为白色)。在“使用最大值”范例中,矩形的Z深度值比图像平面要大,因此更靠近左侧,但是图像平面(FlyCam)渲染层Z值初始在右侧(对应于1.0),因此他们被选择。

使用正弦功能得到不断循环的变化数

../../../../_images/compositing_types_converter_math_sine.png

使用正弦功能举例。

此示例有一个 时间 节点,将101帧的过程转换输出了从0到1的线性序列。在第25帧,输出值为0.25。该值乘以2×pi (6.28) 并通过正弦函数转换为1.0,因为 \(sin(2 × pi/ 4) = sin(pi/ 2) = +1.0\)。

因为正弦函数将数值输出限定在(-1.0 to 1.0)之间, 映射值 节点比例缩放原取值范围 (-1 to 1)到 0.0 到1.0,将极值通过offset(偏移量)选项加1操作(结果范围为 0 to 2),,将结果和size(尺寸)选项中0.5进行相乘运算(缩放输出范围在0-1范围之间)。 颜色渐变 默认将输出值转为灰度范围。因此用中性灰用数值0来表示,黑色和白色分别用正弦值-1和1来表示。由此得到数学公式表示形式 \(sin(pi/ 2) = 1.0\)。这就像有了用户自己的输出视觉颜色计算器,将这一系列前后相连的节点进行动画就得到了周期往复不断循环的灰度颜色范围序列。

将这个功能引申,比如,图片的alpha通道形成渐入/渐出特效。改变Z深度通道的景深位置。改变颜色通道值使其有规律的进行色彩变化。

提亮(缩放)通道

../../../../_images/compositing_types_converter_math_multiply.png

比例缩放单一通道范例。

范例中有一个 运算: 相乘 节点增加图像的亮度通道(Y)使其颜色变得更亮。使用 映射值 节点的 “使用最小值” 和 “使用最大值”复选框来限定颜色的输出值在合理的区间范围之内。用这个方法,用户可以在高动态范围图像(HDRI)上应用对数函数。在这个特定范例中,使用一个 亮度/对比度 节点 对亮度进行简单控制。

重新限定颜色选择(色调分离)

../../../../_images/compositing_types_converter_math_posterization.png

色调分离范例。

此范例中,我们重新限定颜色值为以下数值中之一:0, 0.2, 0.4, 0.6, 0.8, 1。

要将0到1之间的连续值范围划分为某些值集,使用函数 \(round(x × n - 0.5) / (n - 1)\),其中“ n”是可能的输出值的数量,“ x”是输入像素颜色。阅读有关此功能的更多信息

Blender中执行上述节点树的最终函数输出。我们通过在其中串入 ”运算“ 节点 将每个颜色值 (取值范围从 0 to 1),分别乘以6,则现有的数值分布(取值范围从0 到 6 ),再将此结果通过参数 0.5 进行偏移值操作 (-0.5 to 5.5), 然后四舍五入数值到最邻近的整数 (结果值为 0, 1, 2, 3, 4, 5), 然后和数字5进行相除操作,最终将颜色像素值分割为 (0.0, 0.2, 0.4, 0.6, 0.8, 1.0)。

就彩色图像而言,用户需要使用 分离RGBA 节点分离RGB混合颜色值为单独的R,G,B颜色通道。