If I'm understanding you correctly, I think what you're after looks like this:
- Code: Select all
{
Tools = ordered() {
Note2 = Note {
Inputs = {
Comments = Input { Value = "Extract a patch from your footage.", }
},
ViewInfo = StickyNoteInfo {
Pos = { 1155, -18496.5 },
Flags = {
Expanded = true
},
Size = { 196, 42.0258 }
},
},
Note3 = Note {
Inputs = {
Comments = Input { Value = "Remove animation and set to the reference frame. This freezes the patch.", }
},
ViewInfo = StickyNoteInfo {
Pos = { 1155, -18397.5 },
Flags = {
Expanded = true
},
Size = { 196, 47.1416 }
},
},
Polygon1 = PolylineMask {
DrawMode = "InsertAndModify",
DrawMode2 = "InsertAndModify",
Inputs = {
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
ClippingMode = Input { Value = FuID { "None" }, },
Polyline = Input {
SourceOp = "Polygon1Polyline",
Source = "Value",
},
Polyline2 = Input {
Value = Polyline {
},
Disabled = true,
},
},
ViewInfo = OperatorInfo { Pos = { 1045, -18496.5 } },
},
Polygon1Polyline = BezierSpline {
SplineColor = { Red = 173, Green = 255, Blue = 47 },
NameSet = true,
KeyFrames = {
[0] = { 0, RH = { 104, 0.333333333333333 }, Flags = { Linear = true, LockedY = true }, Value = Polyline {
Closed = true,
Points = {
{ X = -0.238636359572411, Y = 0.244949489831924, LX = 0.024855915634611, LY = 0.0512584215753755, RX = -0.0318071345295807, RY = -0.0655933796521131 },
{ X = -0.306818187236786, Y = 0.0151515156030655, LX = -0.0610795508731498, LY = 0.0429292933808419, RX = 0.0459456905421821, RY = -0.0322925758404331 },
{ X = -0.161931812763214, Y = -0.0404040403664112, LX = -0.0227272673086689, LY = -0.0656565656189363, RX = 0.026842905974085, RY = 0.0775461912580328 },
{ X = -0.125, Y = 0.224747478961945, LX = 0.0355113636363636, LY = -0.0429292887148231, RX = -0.0314791985579676, RY = 0.0380548496319195 }
}
} },
[312] = { 1, LH = { 208, 0.666666666666667 }, Flags = { Linear = true, LockedY = true }, Value = Polyline {
Closed = true,
Points = {
{ X = -0.238636359572411, Y = 0.244949489831924, LX = 0.0248559156346112, LY = 0.0512584215753751, RX = -0.031807134529581, RY = -0.0655933796521126 },
{ X = -0.306818187236786, Y = 0.0151515156030655, LX = -0.06107955087315, LY = 0.0429292933808415, RX = 0.0459456905421796, RY = -0.0322925758404443 },
{ X = -0.161931812763214, Y = -0.0404040403664112, LX = -0.0227272673086668, LY = -0.06565656561894, RX = 0.0268429059740805, RY = 0.0775461912580377 },
{ X = -0.125, Y = 0.224747478961945, LX = 0.0355113636363617, LY = -0.042929288714825, RX = -0.0314791985579666, RY = 0.038054849631922 }
}
} }
}
},
MatteControl1 = MatteControl {
Inputs = {
InvertGarbageMatte = Input { Value = 1, },
Background = Input {
SourceOp = "BrightnessContrast1",
Source = "Output",
},
GarbageMatte = Input {
SourceOp = "Polygon1",
Source = "Mask",
}
},
ViewInfo = OperatorInfo { Pos = { 1045, -18463.5 } },
},
ColorCorrector1 = ColorCorrector {
Inputs = {
Channel = Input { Value = 1, },
MasterRedGain = Input { Value = 0.229787234042553, },
ColorRanges = Input {
Value = ColorCurves {
Curves = {
{
Points = {
{ 0, 1 },
{ 0.4, 0.2 },
{ 0.6, 0 },
{ 1, 0 }
}
},
{
Points = {
{ 0, 0 },
{ 0.4, 0 },
{ 0.6, 0.2 },
{ 1, 1 }
}
}
}
},
},
HistogramIgnoreTransparent = Input { Value = 1, },
Input = Input {
SourceOp = "TimeStretcher1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1045, -18331.5 } },
},
TimeStretcher1 = TimeStretcher {
Inputs = {
SourceTime = Input { Value = 1, },
Input = Input {
SourceOp = "MatteControl1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1045, -18397.5 } },
},
Transform1 = Transform {
CtrlWZoom = false,
Inputs = {
Center = Input { Value = { 0.802556818181818, 0.26010101010101 }, },
Input = Input {
SourceOp = "ColorCorrector1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 1045, -18265.5 } },
},
Note4 = Note {
Inputs = {
Comments = Input { Value = "Move the patch to its new position", }
},
ViewInfo = StickyNoteInfo {
Pos = { 1155, -18265.5 },
Flags = {
Expanded = true
},
Size = { 196, 35.2047 }
},
},
Tracker1 = Tracker {
Trackers = {
{
PatternTime = 0,
PatternX = 0.25,
PatternY = 0.75
}
},
Inputs = {
Input = Input {
SourceOp = "BrightnessContrast1",
Source = "Output",
},
Foreground = Input {
SourceOp = "Transform1",
Source = "Output",
},
Operation = Input { Value = 1, },
Name1 = Input { Value = "Tracker 1", },
},
ViewInfo = OperatorInfo { Pos = { 1045, -18166.5 } },
},
BrightnessContrast1 = BrightnessContrast {
Inputs = {
ClipBlack = Input { Value = 1, },
ClipWhite = Input { Value = 1, },
Input = Input {
SourceOp = "FastNoise1",
Source = "Output",
},
},
ViewInfo = OperatorInfo { Pos = { 880, -18166.5 } },
},
FastNoise1 = FastNoise {
Inputs = {
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
Center = Input {
SourceOp = "Path1",
Source = "Position",
},
Contrast = Input { Value = 3.63829787234043, },
XScale = Input { Value = 5.70212765957447, },
Color1Alpha = Input { Value = 1, },
Gradient = Input {
Value = Gradient {
Colors = {
[0] = { 0, 0, 0, 1 },
[1] = { 1, 1, 1, 1 }
}
},
},
},
ViewInfo = OperatorInfo { Pos = { 770, -18166.5 } },
},
Path1 = PolyPath {
DrawMode = "InsertAndModify",
Inputs = {
Displacement = Input {
SourceOp = "Path1Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, LockY = true, X = -0.410511363636364, Y = -0.335858585858586, RX = 0.136837121212121, RY = 0.111952861952862 },
{ Linear = true, LockY = true, X = 0, Y = 0, LX = -0.136837121212121, LY = -0.111952861952862 }
}
},
},
},
},
Path1Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 255 },
NameSet = true,
KeyFrames = {
[0] = { 0, RH = { 104, 0.333333333333333 }, Flags = { Linear = true, LockedY = true } },
[312] = { 1, LH = { 208, 0.666666666666667 }, Flags = { Linear = true, LockedY = true } }
}
},
Note5 = Note {
Inputs = {
Comments = Input { Value = "Apply track and merge over footage", }
},
ViewInfo = StickyNoteInfo {
Pos = { 1155, -18166.5 },
Flags = {
Expanded = true
},
Size = { 164.453, 42.0258 }
},
},
Note1 = Note {
Inputs = {
Comments = Input { Value = "This is a stand-in for your footage in a Loader.", }
},
ViewInfo = StickyNoteInfo {
Pos = { 770, -18133.5 },
Flags = {
Expanded = true
},
Size = { 196, 85.5102 }
},
}
}
}
Depending on exactly what you're doing and what your footage is like, you could alternately track a mask in over a feature, then use that mask on a Transform, moving just the pixels inside the mask. This works great for situations where you want to do something like remove a feature in a shot with rain or a lighting change. Put the same tracked mask on a Color Correct right afterward to help blend.