Blender学习笔记 颜色节点:混合RGB 您所在的位置:网站首页 mix是什么颜色 Blender学习笔记 颜色节点:混合RGB

Blender学习笔记 颜色节点:混合RGB

2024-07-15 07:08| 来源: 网络整理| 查看: 265

其他混合模式网上都有公式,唯独第一个“混合”在哪都找不着

以下内容纯属自己摸索,只为记录。

①总共三个输入接口,上边的图像接口为“背景图”接口,下边的图像接口为“前景图”接口。这种混合模式可以实现在前景图有透明部分时多个图层叠加,直观理解:把前景图放置在背景图上面、利用背景图填充前景图的空白部分、透过前景图看背景图

②系数接口一般取值为0~1(可手动输入超过1的值),可理解为前景图的透明度。不使用前景图alpha通道时(即不点亮下拉列表右边的按钮),混合结果为

C_%7Br%7D%3D(1-Fac%20)*C_%7Bb%7D%20%2B%20Fac*C_%7Bf%7D

其中 C_%7Br%7D 为混合结果像素的各颜色通道值,Fac 为系数,C_%7Bb%7D 为背景图像素的通道值,C_%7Bf%7D 为前景图像素的通道值,对像素的R,G,B三个通道都使用一次该公式。举个例子:

背景图

前景图将系数设置为0.5,预览结果

根据公式,混合结果的各通道值

R = (1- 0.5) * 1 + 0.5 * 0 = 0.5

G = (1- 0.5) * 0 + 0.5 * 1 = 0.5

B = (1- 0.5) * 0 + 0.5 * 0 = 0

吸管吸取混合结果,查看其RGB值,结果符合预期

PS:使用该混合模式时,只要色相偏离超过60°(0.167),都会降低明度值。

PS:当系数超过1时,结果像素可能会得到负的通道值,系统会将负的通道值视为0 。

③像素的RGB值可以转换为系数,转换规则为

Fac%3D%5Cfrac%7BR%2BG%2BB%7D%7B3%7D%20

举个例子:

作为系数的两个颜色

根据公式,左边区域转换出的系数

Fac左 = (0 + 1 + 1) / 3 = 2/3

右边区域转换出的系数

Fac右 = (0 + 1 + 0) / 3 = 1/3

则混合结果左边区域

R = (1 - 2/3) * 1 + 0 = 0.333

G = (1 - 2/3) * 0 + 2/3 * 1 = 0.667

混合结果,吸管查看左边区域RGB值,结果符合预期

混合结果右边区域

R = (1 - 1/3) * 1 + 0 = 0.667

G = (1 - 1/3) * 0 + 1/3 * 1 = 0.333

混合结果,吸管查看右边区域RGB值,结果符合预期

PS:线性渐变纹理要缩放x轴才有明显效果

线性渐变纹理转换为系数

④当使用前景图的alpha通道时,前景图的每个像素会先用系数 Fac 乘以该像素的alpha值,生成新的系数,再用新的系数参与运算。可理解为用系数让本就透明的前景图更加透明一些。即

C_%7Br%7D%20%3D(1-Fac')*C_%7Bb%7D%2BFac'*C_%7Bf%7D

其中

Fac'%3DFac*%5Calpha%20_%7Bf%7D%20

 %5Calpha%20_%7Bf%7D%20 为前景图像素的alpha通道值。当系数为1时,效果类似于对前景图做预乘处理然后放置在背景图上面。

举个例子:

利用渐变纹理替换前景图alpha,默认为直通替换,不会改变RGB值。alpha值为0.25~1合成结果

根据公式,第一个区域

R = (1 - 0.25 * 0.5) * 1 + 0.25 * 0.5 *  0 = 0.875

G = (1 - 0.25 * 0.5) * 0 + 0.25 * 0.5 *  1 = 0.125

吸管查看RGB值,结果符合预期

第二个区域

R = (1 - 0.5 * 0.5) * 1 + 0.5 * 0.5 *  0 = 0.75

G = (1 - 0.5 * 0.5) * 0 + 0.5 * 0.5 *  1 = 0.25

吸管查看RGB值,结果符合预期

剩下两个区域就不验证了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有