- Posts: 469
- Joined: Sun Apr 22, 2018 9:15 am
- Real Name: Udo Jansen
Correct, connecting the 'BackgroundOffset' custom controller to 'Path3>Position' does work.Andy Mees wrote:If you are trying to create an offset control for the box itself, but leaving the text alone, then, linking a custom 'BackgroundOffset' point control (via the expression TextBoxSwipeIn.BackgroundOffset) to the InsideText_Box Modifiers >> Path3 > Center control should work.
No worries Udo, the methods I've outlined above (for both Text Offset and Background Offset) work perfectly for me as described... so the only thing unclear at this point is whether you've achieved the intended result yet? Hopefully. ;)vivoices wrote:Hope my explanation makes sense.
No, not really.Andy Mees wrote:so the only thing unclear at this point is whether you've achieved the intended result yet?
Thats what my suggestion above does, Udo... here's some code you can paste directly into your Fusion flow area, with separate offset controllers for both (text and background)vivoices wrote:I am trying to expose a custom controller that can set the Y value ... with one entry and not having to set the Y offset value for every one of the keyframes individually.
{
Tools = ordered() {
TextBoxSwipeIn = GroupOperator {
CtrlWZoom = false,
CustomData = {
Path = {
Map = {
["Setting:"] = "EditTemplates:/Titles/"
}
},
},
Inputs = ordered() {
Text = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Text",
Page = "Controls",
},
Input5 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "StyledText",
},
Input6 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Font",
ControlGroup = 3,
},
Input7 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Style",
ControlGroup = 3,
},
Input8 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Red1Clone",
Name = "Color",
ControlGroup = 4,
Default = 0,
},
Input9 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Green1Clone",
ControlGroup = 4,
Default = 0,
},
Input10 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Blue1Clone",
ControlGroup = 4,
Default = 0,
},
Input11 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Alpha1Clone",
ControlGroup = 4,
Default = 0,
},
Input12 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Size",
Default = 0.08,
},
Input13 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "CharacterSpacingClone",
Name = "Tracking",
Default = 1.197,
},
Input14 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "LineSpacingClone",
Default = 0.693,
},
Input15 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "VerticalJustificationTop",
Name = "V Anchor",
ControlGroup = 8,
},
Input16 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "VerticalJustificationCenter",
ControlGroup = 8,
},
Input17 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "VerticalJustificationBottom",
ControlGroup = 8,
},
Input18 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "VerticalTopCenterBottom",
Default = 0,
},
Input19 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "HorizontalJustificationLeft",
Name = "H Anchor",
ControlGroup = 10,
},
Input20 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "HorizontalJustificationCenter",
ControlGroup = 10,
},
Input21 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "HorizontalJustificationRight",
ControlGroup = 10,
},
Input22 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "HorizontalLeftCenterRight",
Default = 0,
},
Input23 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Strikeout",
Name = "Emphasis",
ControlGroup = 12,
},
Input24 = InstanceInput {
SourceOp = "InsideText_Box",
Source = "Underline",
Name = "Emphasis",
ControlGroup = 12,
},
Color = InstanceInput {
SourceOp = "Color",
Source = "BoxColor",
Page = "Controls",
},
Input1 = InstanceInput {
SourceOp = "Color",
Source = "TopLeftRed",
Name = "Color",
ControlGroup = 1,
Default = 1,
},
Input2 = InstanceInput {
SourceOp = "Color",
Source = "TopLeftGreen",
ControlGroup = 1,
Default = 1,
},
Input3 = InstanceInput {
SourceOp = "Color",
Source = "TopLeftBlue",
ControlGroup = 1,
Default = 1,
},
Input4 = InstanceInput {
SourceOp = "Color",
Source = "TopLeftAlpha",
ControlGroup = 1,
Default = 1,
},
Input25 = InstanceInput {
SourceOp = "LineWidth",
Source = "MotionBlur",
Default = 0,
},
Input26 = InstanceInput {
SourceOp = "LineWidth",
Source = "Quality",
Default = 5,
},
Input27 = InstanceInput {
SourceOp = "LineWidth",
Source = "ShutterAngle",
Default = 180,
},
Input28 = InstanceInput {
SourceOp = "LineWidth",
Source = "CenterBias",
Default = 0,
},
Input29 = InstanceInput {
SourceOp = "LineWidth",
Source = "SampleSpread",
Default = 1,
}
},
Outputs = {
Output1 = InstanceOutput {
SourceOp = "Path2_1",
Source = "Heading",
},
MainOutput1 = InstanceOutput {
SourceOp = "KeyframeStretcher1",
Source = "Result",
},
Output2 = InstanceOutput {
SourceOp = "InsideText_BoxOpacity1",
Source = "Value",
},
Output3 = InstanceOutput {
SourceOp = "Path3",
Source = "Heading",
}
},
ViewInfo = GroupInfo {
Pos = { 647.989, 36.5306 },
Flags = {
Expanded = true,
AllowPan = false,
ConnectedSnap = true,
AutoSnap = true,
RemoveRouters = true
},
Size = { 637.188, 222.533, 318.594, 24.2424 },
Direction = "Horizontal",
PipeStyle = "Direct",
Scale = 1,
Offset = { 0, 0 }
},
Tools = ordered() {
Color = Background {
ExtentSet = true,
CtrlWZoom = false,
CtrlWShown = false,
NameSet = true,
Inputs = {
EffectMask = Input {
SourceOp = "Merge3",
Source = "Output",
},
GlobalOut = Input { Value = 500, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
UseFrameFormatSettings = Input { Value = 1, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 1, },
TopLeftGreen = Input { Value = 1, },
TopLeftBlue = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { 133.29, 103.627 } },
UserControls = ordered() { Color = { INP_Integer = false, LBLC_DropDownButton = false, LINKID_DataType = "Number", LBLC_NumInputs = 4, INPID_InputControl = "LabelControl", LINKS_Name = "Color", }, BoxColor = { INP_Integer = false, LBLC_DropDownButton = true, LINKID_DataType = "Number", LBLC_NumInputs = 4, INPID_InputControl = "LabelControl", LINKS_Name = "Box Color", } }
},
KeyframeStretcher1 = KeyStretcher {
CtrlWShown = false,
Inputs = {
Keyframes = Input {
SourceOp = "Color",
Source = "Output",
},
SourceEnd = Input { Value = 91, },
StretchStart = Input { Value = 25, },
StretchEnd = Input { Value = 63, },
},
ViewInfo = OperatorInfo { Pos = { 255, 103.627 } },
},
Merge3 = Merge {
CtrlWShown = false,
Inputs = {
EffectMask = Input {
SourceOp = "LineMask",
Source = "Output",
},
ApplyMaskInverted = Input { Value = 1, },
Background = Input {
SourceOp = "InsideText_Box",
Source = "Output",
},
Foreground = Input {
SourceOp = "ChannelBooleans1",
Source = "Output",
},
FlipHoriz = Input { Value = 1, },
PerformDepthMerge = Input { Value = 0, },
},
ViewInfo = OperatorInfo { Pos = { 4.44995, 103.627 } },
},
LineMask = TextPlus {
ExtentSet = true,
CtrlWShown = false,
NameSet = true,
SourceOp = "InsideText_Box",
Inputs = {
EffectMask = Input { },
SettingsNest = Input { },
ImageNest = Input { },
["Gamut.ColorSpaceNest"] = Input { },
["Gamut.GammaSpaceNest"] = Input { },
Layout = Input { },
LayoutRotation = Input { },
Background = Input { },
TransformTransform = Input { },
TransformRotation = Input { },
TransformShear = Input { },
TransformSize = Input { },
Enabled1 = Input { Value = 0, },
Properties1 = Input { },
Softness1 = Input { },
Position1 = Input { },
Offset1 = Input { Expression = "TextBoxSwipeIn.TextOffset" },
Rotation1 = Input { },
Shear1 = Input { },
Size1 = Input { },
TextText = Input { },
TabSpacing = Input { },
AdvancedFontControls = Input { },
ClearSelectedKerning = Input { },
ClearAllKerning = Input { },
ClearSelectedPlacement = Input { },
ClearAllPlacement = Input { },
Internal = Input { },
CommentsNest = Input { },
FrameRenderScriptNest = Input { },
StartRenderScripts = Input { },
EndRenderScripts = Input { },
Properties2 = Input { },
ExtendHorizontal2 = Input { Value = 20, },
ExtendVertical2 = Input { Value = 0.54, },
Softness2 = Input { },
Position2 = Input { Value = 1, },
Rotation2 = Input { },
Shear2 = Input { },
Size2 = Input { },
},
ViewInfo = OperatorInfo { Pos = { 4.44995, 164.842 } },
},
Path2_1 = PolyPath {
DrawMode = "InsertAndModify",
CtrlWZoom = false,
Inputs = {
Displacement = Input {
SourceOp = "Path2_1Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, LockY = true, X = 0.141043723554302, Y = 0, RX = -0.0470145745181006, RY = 0 },
{ Linear = true, LockY = true, X = 0, Y = 0, LX = 0.0470145745181006, LY = 0, RX = -0.0117536436295252, RY = 0 },
{ Linear = true, LockY = true, X = -0.0352609308885755, Y = 0, LX = 0.0117536436295252, LY = 0, RX = -0.0357310766337565, RY = 0 },
{ Linear = true, LockY = true, X = -0.142454160789845, Y = 0, LX = 0.0357310766337565, LY = 0 }
}
},
},
},
},
Path2_1Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 255 },
CtrlWZoom = false,
KeyFrames = {
[7] = { 0, RH = { 10.3333333333333, 0 }, Flags = { LockedY = true } },
[17] = { 0.497512437810945, LH = { 12.3917762188028, 0.472688586939513 }, RH = { 32.335984796855, 0.580125222614719 }, Flags = { LockedY = true } },
[63] = { 0.621890547263682, LH = { 47.6638475129347, 0.541199561386888 }, RH = { 67.6522086766251, 0.646368088481276 }, Flags = { LockedY = true } },
[74] = { 1, LH = { 70.3333305358823, 1.00366654043169 }, Flags = { LockedY = true } }
}
},
InsideText_BoxOpacity1 = BezierSpline {
SplineColor = { Red = 179, Green = 28, Blue = 244 },
CtrlWZoom = false,
KeyFrames = {
[7] = { 0, RH = { 10.3333333333333, 0 } },
[17] = { 1, LH = { 13.6666666666667, 1 }, RH = { 32.3317997455597, 1 } },
[63] = { 1.00333321094513, LH = { 47.6682002544403, 1.00333321094513 }, RH = { 66.6662972940155, 1.00333321094513 } },
[74] = { 0.00266666663810611, LH = { 70.3336928120741, 0.00266666663810611 } }
}
},
Path3 = PolyPath {
DrawMode = "InsertAndModify",
CtrlWZoom = false,
Inputs = {
Center = Input { Expression = "TextBoxSwipeIn.BkgOffset", },
Displacement = Input {
SourceOp = "Path3Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, LockY = true, X = -1.7, Y = -0.5, RX = 0.37, RY = 0 },
{ Linear = true, LockY = true, X = -0.59, Y = -0.5, LX = -0.37, LY = 0, RX = 0.0104347826087, RY = 0 },
{ Linear = true, LockY = true, X = -0.5586956521739, Y = -0.5, LX = -0.0104347826087, LY = 0, RX = 0.0495652173913, RY = 0 },
{ Linear = true, LockY = true, X = -0.41, Y = -0.5, LX = -0.0495652173913, LY = 0, RX = 0.37, RY = 0 },
{ Linear = true, LockY = true, X = 0.7, Y = -0.5, LX = -0.37, LY = 0 }
}
},
},
},
},
Path3Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 178 },
CtrlWZoom = false,
KeyFrames = {
[7] = { 0, RH = { 10.1240993400233, 0.229958428151476 }, Flags = { LockedY = true } },
[17] = { 0.4625, LH = { 13.6670000553131, 0.456658193031731 }, RH = { 19.6666666666667, 0.466847826086958 }, Flags = { LockedY = true } },
[25] = { 0.475543478260875, LH = { 22.3333333333333, 0.471195652173917 }, RH = { 37.6666666666667, 0.496195652173917 }, Flags = { Linear = true, LockedY = true } },
[63] = { 0.5375, LH = { 50.3333333333333, 0.516847826086958 }, RH = { 66.6662999391556, 0.543477662944275 }, Flags = { Linear = true, LockedY = true } },
[74] = { 1, LH = { 70.3375327863109, 0.772290185559932 }, Flags = { LockedY = true } }
}
},
ChannelBooleans1 = ChannelBoolean {
CtrlWShown = false,
Inputs = {
Operation = Input { Value = 6, },
Background = Input {
SourceOp = "Lines",
Source = "Output",
},
Foreground = Input {
SourceOp = "LineWidth",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 4.44995, 53.9267 } },
},
LineWidth = TextPlus {
ExtentSet = true,
CtrlWShown = false,
NameSet = true,
SourceOp = "InsideText_Box",
Inputs = {
EffectMask = Input { },
SettingsNest = Input { },
ImageNest = Input { },
["Gamut.ColorSpaceNest"] = Input { },
["Gamut.GammaSpaceNest"] = Input { },
Layout = Input { },
LayoutRotation = Input { },
AngleZ = Input { },
Background = Input { },
TransformTransform = Input { },
TransformRotation = Input { },
TransformShear = Input { },
TransformSize = Input { },
Enabled1 = Input { Value = 0, },
Properties1 = Input { },
Softness1 = Input { },
Position1 = Input { },
Offset1 = Input { Expression = "TextBoxSwipeIn.TextOffset" },
Rotation1 = Input { },
Shear1 = Input { },
Size1 = Input { },
TextText = Input { },
TabSpacing = Input { },
AdvancedFontControls = Input { },
ClearSelectedKerning = Input { },
ClearAllKerning = Input { },
ClearSelectedPlacement = Input { },
ClearAllPlacement = Input { },
Internal = Input { },
CommentsNest = Input { },
FrameRenderScriptNest = Input { },
StartRenderScripts = Input { },
EndRenderScripts = Input { },
Properties2 = Input { },
ExtendHorizontal2 = Input { Value = -0.289, },
ExtendVertical2 = Input { Value = 1.71, },
Softness2 = Input { },
Position2 = Input { Value = 1, },
Rotation2 = Input { },
Shear2 = Input { },
Size2 = Input { },
},
ViewInfo = OperatorInfo { Pos = { -118.533, 53.9267 } },
},
Lines = TextPlus {
ExtentSet = true,
CtrlWShown = false,
NameSet = true,
SourceOp = "InsideText_Box",
Inputs = {
EffectMask = Input { },
SettingsNest = Input { },
ImageNest = Input { },
["Gamut.ColorSpaceNest"] = Input { },
["Gamut.GammaSpaceNest"] = Input { },
Layout = Input { },
LayoutRotation = Input { },
Background = Input { },
TransformTransform = Input { },
TransformRotation = Input { },
TransformShear = Input { },
TransformSize = Input { },
Enabled1 = Input { Value = 0, },
Properties1 = Input { },
Softness1 = Input { },
Position1 = Input { },
Offset1 = Input { Expression = "TextBoxSwipeIn.TextOffset" },
Rotation1 = Input { },
Shear1 = Input { },
Size1 = Input { },
TextText = Input { },
TabSpacing = Input { },
AdvancedFontControls = Input { },
ClearSelectedKerning = Input { },
ClearAllKerning = Input { },
ClearSelectedPlacement = Input { },
ClearAllPlacement = Input { },
Internal = Input { },
CommentsNest = Input { },
FrameRenderScriptNest = Input { },
StartRenderScripts = Input { },
EndRenderScripts = Input { },
Properties2 = Input { },
ElementShape2 = Input { Value = 3, },
OutsideOnly2 = Input { Value = 1, },
JoinStyle2 = Input { Value = 0, },
ExtendHorizontal2 = Input { Value = 1.46, },
ExtendVertical2 = Input { Value = 0.54, },
Softness2 = Input { },
Position2 = Input { Value = 1, },
Rotation2 = Input { },
Shear2 = Input { },
Size2 = Input { },
},
ViewInfo = OperatorInfo { Pos = { 4.44995, 8.67313 } },
},
InsideText_Box = TextPlus {
ExtentSet = true,
CtrlWShown = false,
NameSet = true,
Inputs = {
GlobalOut = Input { Value = 500, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
UseFrameFormatSettings = Input { Value = 1, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Center = Input {
SourceOp = "Path2_1",
Source = "Position",
},
LineSpacing = Input { Value = 0.882, },
CharacterSpacing = Input { Value = 1.071, },
Name1 = Input { Value = "TEXT", },
Name2 = Input { Value = "WhiteBox", },
Enabled2 = Input { Value = 1, },
Opacity1 = Input {
SourceOp = "InsideText_BoxOpacity1",
Source = "Value",
},
Red1 = Input { Value = 0, },
Green1 = Input { Value = 0, },
Blue1 = Input { Value = 0, },
Alpha1 = Input { Value = 0, },
Position1 = Input { Value = 1, },
Offset1 = Input { Expression = "TextBoxSwipeIn.TextOffset", },
StyledText = Input { Value = "SIMPLE\nTITLE", },
Font = Input { Value = "Open Sans", },
Style = Input { Value = "Extrabold", },
Size = Input { Value = 0.0799, },
VerticalJustificationNew = Input { Value = 3, },
HorizontalJustificationNew = Input { Value = 3, },
Properties2 = Input { Value = 0, },
ElementShape2 = Input { Value = 2, },
Thickness2 = Input { Value = 0.2, },
Level2 = Input { Value = 0, },
ExtendHorizontal2 = Input { Value = 1.49, },
ExtendVertical2 = Input { Value = 0.29, },
Green2 = Input { Value = 1, },
Blue2 = Input { Value = 1, },
Position2 = Input { Value = 1, },
Offset2 = Input {
SourceOp = "Path3",
Source = "Position",
},
},
ViewInfo = OperatorInfo { Pos = { -256.188, 103.627 } },
UserControls = ordered() { Text = { INP_Integer = false, LBLC_DropDownButton = true, LINKID_DataType = "Number", LBLC_NumInputs = 20, LINKS_Name = "Text", INPID_InputControl = "LabelControl", INP_Default = 1, } }
}
},
UserControls = ordered() {
TextOffset = {
INP_DefaultX = 0,
INP_DefaultY = 0,
LINKID_DataType = "Point",
ICS_ControlPage = "Controls",
INPID_InputControl = "OffsetControl",
LINKS_Name = "Text Offset",
},
BkgOffset = {
INP_DefaultX = 0.5,
INP_DefaultY = 0.5,
LINKID_DataType = "Point",
ICS_ControlPage = "Controls",
INPID_InputControl = "OffsetControl",
LINKS_Name = "Background Offset",
}
}
}
},
ActiveTool = "TextBoxSwipeIn"
}
I'm neither an expression nor a Fusion guru, Udo, so I can't say definitively... but I don't think so.vivoices wrote:Out of curiosity, is it possible to write an expression for an animated Point value and apply some math to only X or Y, leaving the other one alone?
Users browsing this forum: Google [Bot], panos_mts and 166 guests