Fusion-UnMult

UnMult介绍


Unmult是AE的一款去除黑底或者白底的插件,对于光效粒子等素材的效果很好。
AE UnMult

去黑底


Fuison里实现这个效果非常简单,因为有颜色的地方RGB都大于0,而让图像透明的方式就是让RGB通道去乘以A通道
举个例子,一个黑底纯红色的字,只要把红通道复制到A通道黑底就会被抠掉。
RED
同理我们只要把RGB通道都复制到A通道就行了。
但因为A通道只有一个,只取三个通道的最大值就行了max(r1,g1,b1)
还可以加上一个n1,也就是Numbe ln1的值,用来给去黑效果设置强度。

max(x,…) 取最大值

去黑

最后加上预除预乘节点就行了(以防原来的图像A通道不等于1)。

节点连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
{
Tools = ordered() {
Merge1 = Merge {
Inputs = {
Background = Input {
SourceOp = "Background1",
Source = "Output",
},
Foreground = Input {
SourceOp = "Text1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 660, 82.5 } },
},
Text1 = TextPlus {
CtrlWZoom = false,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
LayoutRotation = Input { Value = 1, },
TransformRotation = Input { Value = 1, },
SelectElement = Input { Value = 1, },
Select = Input { Value = 1, },
Enabled2 = Input { Value = 1, },
Type1 = Input { Value = 2, },
ShadingMappingAngle1 = Input { Value = 159.1, },
Softness1 = Input { Value = 1, },
StyledText = Input { Value = "UnMult", },
Font = Input { Value = "Open Sans", },
Style = Input { Value = "Bold", },
Size = Input { Value = 0.2559, },
VerticalJustificationNew = Input { Value = 3, },
HorizontalJustificationNew = Input { Value = 3, },
Type2 = Input { Value = 2, },
ShadingGradient2 = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0.106752, 0.417, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
ShadingMappingAngle2 = Input { Value = -41.7, },
Softness2 = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 550, 82.5 } },
},
Background1 = Background {
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
},
ViewInfo = OperatorInfo { Pos = { 660, 49.5 } },
},
AlphaDivide1 = AlphaDivide {
CtrlWZoom = false,
Inputs = {
Input = Input {
SourceOp = "Merge1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 825, 82.5 } },
},
CustomTool1 = Custom {
Inputs = {
LUTIn1 = Input {
SourceOp = "CustomTool1LUTIn1",
Source = "Value",
},
LUTIn2 = Input {
SourceOp = "CustomTool1LUTIn2",
Source = "Value",
},
LUTIn3 = Input {
SourceOp = "CustomTool1LUTIn3",
Source = "Value",
},
LUTIn4 = Input {
SourceOp = "CustomTool1LUTIn4",
Source = "Value",
},
AlphaExpression = Input { Value = "max(r1,g1,b1)+n1", },
Image1 = Input {
SourceOp = "AlphaDivide1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 990, 82.5 } },
},
CustomTool1LUTIn1 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 204, Green = 0, Blue = 0 },
CtrlWZoom = false,
},
CustomTool1LUTIn2 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 0, Green = 204, Blue = 0 },
CtrlWZoom = false,
},
CustomTool1LUTIn3 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 0, Green = 0, Blue = 204 },
CtrlWZoom = false,
},
CustomTool1LUTIn4 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 204, Green = 204, Blue = 204 },
CtrlWZoom = false,
},
AlphaMultiply1 = AlphaMultiply {
CtrlWZoom = false,
Inputs = {
Input = Input {
SourceOp = "CustomTool1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1155, 82.5 } },
}
},
ActiveTool = "AlphaMultiply1"
}

去白底


和黑底差不多,纯白的RGB都等于1 。
所以只要让RGB都等于1时就设置为A通道,但这样是去掉其他颜色,
在加上一个-1就可以反过来,还可以再加个n1设置强度。

中转设置
通道设置

n2用来控制抠像的阈值,等于1就是纯白,0.5就是中灰。
最后再加上预除预乘节点和扩边节点就行了(扩边节点用来扣除一些毛边)

去白

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
{
Tools = ordered() {
Merge1_1 = Merge {
Inputs = {
Background = Input {
SourceOp = "Background1_1",
Source = "Output",
},
Foreground = Input {
SourceOp = "Text1_1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 605, 313.5 } },
},
Text1_1 = TextPlus {
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
LayoutRotation = Input { Value = 1, },
TransformRotation = Input { Value = 1, },
SelectElement = Input { Value = 1, },
Select = Input { Value = 1, },
Enabled2 = Input { Value = 1, },
Type1 = Input { Value = 2, },
ShadingMappingAngle1 = Input { Value = 159.1, },
Softness1 = Input { Value = 1, },
StyledText = Input { Value = "UnMult", },
Font = Input { Value = "Open Sans", },
Style = Input { Value = "Bold", },
Size = Input { Value = 0.2559, },
VerticalJustificationNew = Input { Value = 3, },
HorizontalJustificationNew = Input { Value = 3, },
Type2 = Input { Value = 2, },
ShadingGradient2 = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0.106752, 0.417, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
ShadingMappingAngle2 = Input { Value = -41.7, },
Softness2 = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 495, 313.5 } },
},
AlphaDivide1_1 = AlphaDivide {
Inputs = {
Input = Input {
SourceOp = "Merge1_1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 770, 313.5 } },
},
Background1_1 = Background {
CtrlWZoom = false,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Type = Input { Value = FuID { "Gradient" }, },
TopLeftRed = Input { Value = 1, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
End = Input { Value = { 0.453313253012048, 0.0588235294117647 }, },
},
ViewInfo = OperatorInfo { Pos = { 605, 280.5 } },
},
CustomTool1_1 = Custom {
Inputs = {
NumberIn2 = Input { Value = 1, },
LUTIn1 = Input {
SourceOp = "CustomTool1_1LUTIn1",
Source = "Value",
},
LUTIn2 = Input {
SourceOp = "CustomTool1_1LUTIn2",
Source = "Value",
},
LUTIn3 = Input {
SourceOp = "CustomTool1_1LUTIn3",
Source = "Value",
},
LUTIn4 = Input {
SourceOp = "CustomTool1_1LUTIn4",
Source = "Value",
},
Intermediate1 = Input { Value = "if(r1>=n2&&g1>=n2&&b1>=n2,1,0)", },
Intermediate2 = Input { Value = "if(max(r1,g1,b1)>=n2,1,0)", },
AlphaExpression = Input { Value = "1-i2+n1", },
Image1 = Input {
SourceOp = "AlphaDivide1_1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 935, 313.5 } },
},
CustomTool1_1LUTIn1 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 204, Green = 0, Blue = 0 },
CtrlWZoom = false,
},
CustomTool1_1LUTIn2 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 0, Green = 204, Blue = 0 },
CtrlWZoom = false,
},
CustomTool1_1LUTIn3 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 0, Green = 0, Blue = 204 },
CtrlWZoom = false,
},
CustomTool1_1LUTIn4 = LUTBezier {
KeyColorSplines = {
[0] = {
[0] = { 0, RH = { 0.333333333333333, 0.333333333333333 }, Flags = { Linear = true } },
[1] = { 1, LH = { 0.666666666666667, 0.666666666666667 }, Flags = { Linear = true } }
}
},
SplineColor = { Red = 204, Green = 204, Blue = 204 },
CtrlWZoom = false,
},
AlphaMultiply1_1 = AlphaMultiply {
Inputs = {
Input = Input {
SourceOp = "CustomTool1_1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1100, 313.5 } },
},
ErodeDilate1 = ErodeDilate {
CtrlWZoom = false,
Inputs = {
XAmount = Input { Value = -0.00027, },
ClippingMode = Input { Value = FuID { "None" }, },
Input = Input {
SourceOp = "AlphaMultiply1_1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1265, 313.5 } },
}
}
}

把节点打包起来就可以当AE的UnMult插件用了。