Jump to: Board index » General » Fusion

How do I clone part of shot and attach it to track?

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Todd Groves

  • Posts: 135
  • Joined: Fri Sep 15, 2017 1:24 am

How do I clone part of shot and attach it to track?

PostTue Jan 16, 2018 5:57 am

I want to remove an object from a shot with a moving camera. The shot actually involves footage shot from a drone flying over head. I will be using Fusion 9 Studio.

Thanks in advance.
Offline

Theodor Groeneboom

  • Posts: 127
  • Joined: Fri Jun 26, 2015 12:51 pm

Re: How do I clone part of shot and attach it to track?

PostTue Jan 16, 2018 7:40 am

-
Last edited by Theodor Groeneboom on Fri Jan 26, 2018 8:30 pm, edited 1 time in total.
Offline

Todd Groves

  • Posts: 135
  • Joined: Fri Sep 15, 2017 1:24 am

Re: How do I clone part of shot and attach it to track?

PostTue Jan 16, 2018 2:25 pm

I discovered that they combined the manual of F9 Studio and F9 into one manual. In the meantime, I'll search for more tutorials.

Thank you.

EDITED
Offline

Todd Groves

  • Posts: 135
  • Joined: Fri Sep 15, 2017 1:24 am

Re: How do I clone part of shot and attach it to track?

PostTue Jan 16, 2018 3:15 pm

By the way, is there a paint shape tool? Can you draw a shape with a mask and use it to clone?
Offline

Paul Ingvarsson

  • Posts: 224
  • Joined: Tue Sep 10, 2013 3:57 pm
  • Location: London, UK

Re: How do I clone part of shot and attach it to track?

PostThu Jan 18, 2018 1:46 pm

Paul Ingvarsson
StormHD
Strongbox DX-G (Dual e5-2690 v3 64GB)
K6000 | Titan-X | Decklink 4K Pro
Offline

Todd Groves

  • Posts: 135
  • Joined: Fri Sep 15, 2017 1:24 am

Re: How do I clone part of shot and attach it to track?

PostThu Jan 18, 2018 2:22 pm

I found a tutorial for tracking a clone paint stroke. But, is there a way to draw a mask that can be used to clone with?
Offline
User avatar

Bryan Ray

  • Posts: 489
  • Joined: Mon Nov 28, 2016 5:32 am

Re: How do I clone part of shot and attach it to track?

PostThu Jan 18, 2018 4:18 pm

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.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

Todd Groves

  • Posts: 135
  • Joined: Fri Sep 15, 2017 1:24 am

Re: How do I clone part of shot and attach it to track?

PostThu Jan 18, 2018 5:30 pm

Thanks, Bryan. I'll give that a go.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 3 guests