A variation on Robert's method, with a little easier control over additional elements Merged into the lower third:
- Code: Select all
{
Tools = ordered() {
Red_BG = Background {
NameSet = true,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 0.517647087574005, },
TopLeftGreen = Input { Value = 0.0392156876623631, },
TopLeftBlue = Input { Value = 0.0784313753247261, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
EffectMask = Input {
SourceOp = "Rectangle1_1",
Source = "Mask",
}
},
ViewInfo = OperatorInfo { Pos = { 770, 82.5 } },
},
Rectangle1_1 = RectangleMask {
Inputs = {
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
ClippingMode = Input { Value = FuID { "None" }, },
Width = Input { Value = 0.786167400599962, },
Height = Input { Value = 0.157665463579174, },
CornerRadius = Input { Value = 0.278, },
},
ViewInfo = OperatorInfo { Pos = { 770, 49.5 } },
},
Text1 = TextPlus {
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Font = Input { Value = "Open Sans", },
StyledText = Input { Value = "text", },
Style = Input { Value = "Regular", },
ManualFontKerningPlacement = Input {
Value = StyledText {
Array = {
},
Value = ""
},
},
ShadingGradient1 = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
},
ViewInfo = OperatorInfo { Pos = { 770, 148.5 } },
},
White_BG = Background {
NameSet = true,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 1, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
EffectMask = Input {
SourceOp = "Instance_Rectangle1",
Source = "Mask",
}
},
ViewInfo = OperatorInfo { Pos = { 880, 82.5 } },
},
Merge2 = Merge {
Inputs = {
Background = Input {
SourceOp = "White_BG",
Source = "Output",
},
Foreground = Input {
SourceOp = "Red_BG",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 880, 115.5 } },
},
Transform1 = Transform {
CtrlWZoom = false,
Inputs = {
Center = Input { Value = { 0.5, 0.161111111111111 }, },
Input = Input {
SourceOp = "Merge3",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 880, 214.5 } },
},
Merge3 = Merge {
Inputs = {
Background = Input {
SourceOp = "Merge2",
Source = "Output",
},
Foreground = Input {
SourceOp = "Text1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 880, 148.5 } },
},
Instance_Rectangle1 = RectangleMask {
SourceOp = "Rectangle1_1",
Inputs = {
BorderWidth = Input { Value = 0.00335717021276596, },
Solid = Input { Value = 0, },
StartEndRenderScripts = Input { },
EffectMask = Input { }
},
ViewInfo = OperatorInfo { Pos = { 880, 49.5 } },
},
Black_BG = Background {
NameSet = true,
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
},
ViewInfo = OperatorInfo { Pos = { 770, 247.5 } },
},
Merge1 = Merge {
Inputs = {
Background = Input {
SourceOp = "Black_BG",
Source = "Output",
},
Foreground = Input {
SourceOp = "Transform1",
Source = "Output",
},
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 880, 247.5 } },
}
}
}
The key point in Robert's approach is the instanced Rectangle with a deinstanced Border Width control. To make an instance of a tool, copy it, then paste with Ctrl+Shift+V (Cmd+Shift+V on MacOS). Then deinstance a control by right-clicking on it and choosing 'Deinstance.' Most of the controls on the two Rectangles will remain linked—you can change the corner radius or size, and both will update at the same time. But the Border Thickness is independent.