运算节点

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

运算节点。

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

输入

第一个数值。可以输入三角法则定义的弧度数值。
第二个数值。这个数值不仅可输入三角函数值,还可以输入四舍五入及绝对值。

属性

操作
相加,相减,正片叠底(相乘),相除,正弦,余弦,正切,反正弦,反余弦,反正切,反正切2(备注:atan2 返回给定的 X 及 Y 坐标值的反正切值。反正切的角度值等于 X 轴与通过原点和给定坐标点 (Y坐标, X坐标) 的直线之间的夹角。结果以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)。 atan2(a, b) 与 atan(a/b)稍有不同,atan2(a,b)的取值范围介于 -pi 到 pi 之间(不包括 -pi), 而atan(a/b)的取值范围介于-pi/2到pi/2之间(不包括±pi/2) ),乘幂运算(界面为能量(乘方)),对数(运算),最小值,最大值,四舍五入(运算),floor(向下取整--引申:floor函数,其功能是“向下取整”,或者说“向下舍入”、“向零取舍”,即取不大于x的最大整数,与“四舍五入”不同,下取整是直接取按照数轴上最接近要求值的左边值,即不大于要求值的最大的那个整数值。),ceil(向上取整(舍入))小于,大于,模运算(界面上为模数),绝对值(运算)
钳制
限定输出数值的范围(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

使用正弦功能举例。

范例中采用一个 时间 节点,其时间范围从1-101之间。在第25帧,输出为0.25。此数值转为由 2 × pi (6.28) 进行相乘运算并由正弦函数转换映射到1.0范围,用数学公式表示为:math: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。

拆分一段连续数字范围,将其转换为特定常量值,用数学公式表示为:\(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颜色通道。