Jump to: Board index » General » Fusion

Technique works in one shot, not in another. EMERGENCY

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

Todd Groves

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

Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 1:12 am

I have a shot where I successfully used a mask and a transform to cover up an unwanted object in the shot. The problem is I tried using the same technique in another shot, but its not working. Below is the working node flow. Is there a better way to accomplish this?
Attachments
merge-mask-transform.png
merge-mask-transform.png (65.42 KiB) Viewed 396 times
Offline

Okke Verbart

  • Posts: 68
  • Joined: Tue Jan 17, 2017 8:40 pm

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:53 am

Maybe I'm misunderstanding, but shouldn't the effect mask be on the merge rather than on the transform? (i.e. putting part of the transformed image back onto the normal image)
www.ablackbirdcalledsue.com
Offline

alan bovine

  • Posts: 66
  • Joined: Mon Aug 07, 2017 6:20 pm

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 8:04 am

or just get rid of the merge and just mask the transform...
Fusion video tutorials : https://www.youtube.com/channel/UCTCeDas53OEcWcRujkQiwLg/videos?view_as=subscriber
Fusion Tools : https://github.com/statixVFX/stx_tools
Nuke 2 Fusion nodes : https://github.com/statixVFX/nuke2fusion
Offline

Todd Groves

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 2:24 pm

That's the thing. I've been having weird experiences with this. First time, I put the mask on the Merge, nothing happened when I adjusted the Transform. When I put it on the Transform, it worked...on one shot.

Now, I put the mask on the Merge, and its working. Why it didn't work for me the first time is baffling. But, that was my experience. Anyway, hopefully I can finish this on time.

EDIT:
Now, I want to put the original shot over the cloned area to get rid of doubling pattern. What should my Flow look like for that? Thanks again.

(I'm used to Nuke's workflow, and I'm new to Fusion. Hence, the confusion with Fusion. pun intended)
Offline

Sam Steti

  • Posts: 816
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 4:51 pm

put the original shot over the cloned area to get rid of doubling pattern

??? Are you trying to achieve a kind of remove action of a scene (just to know) ?
Offline

Todd Groves

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 4:56 pm

Sam Steti wrote:
put the original shot over the cloned area to get rid of doubling pattern

??? Are you trying to achieve a kind of remove action of a scene (just to know) ?


Yes, I'm removing a man in the background from the shot, where the drone is flying and trees pass over the man during the shot. So, I have to put the trees back over him to cover up the cloning.
Offline

Sander de Regt

  • Posts: 720
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 5:09 pm

Any chance you can show us the shot (privately in case of NDA) because it's a bit difficult to give such specific advice without seeing the footage. There is not one way that's correct in Fusion (or Nuke for that matter) and helping you is quite difficult in this way.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Todd Groves

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 5:32 pm

It's a 641 frame shot filmed in 6K.

The man in the shot is standing still far away, but he's dressed in black which makes him stand out. The Drone that filmed it is moving slightly. The man doesn't move that much in the shot. I used the road he was standing next to to cover him up. The main task is to roto the tree branches back over the area I use to cover him up.

I'm at work at the moment. This is a client separate from my work. I won't be back home until 7-7:30p PST.

I just bought Mocha Pro for Fusion, so I might be able to pull it off with Mocha, which I've used extensively in the past.

But, any suggestions are welcome. Thanks for all your help.
Offline

Kel Philm

  • Posts: 147
  • Joined: Sat Nov 19, 2016 6:21 am

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 5:58 pm

Have you set the frame size to 6k in preferences? Just wondering if the mask dimensions are the same.
Offline

Sam Steti

  • Posts: 816
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 5:59 pm

:shock: Don't find my answer, weird, I wrote it 10 mn ago...

Well, again, depending to the clip, why not go back to basics and just put a polyline around the guy, connect it to a garbage matte input, and put the clip again as a background showing up through the hole (trees are to be placed). If the guy is not a big part, it may do the trick...
There are other ways of course, easily doable even in Resolve, like tracking the guy and offsetting the track to always correspond to trees.
Anyway, you intend to use Mocha, I can help
Offline

Todd Groves

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:09 pm

Thanks, Sam.

When I get home later, I will give Mocha a go. I found some tutorials using Mocha Pro's Remove option. It looks like a good approach.
Offline

Sam Steti

  • Posts: 816
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:13 pm

Just a single frame screenshot posted here, and boom...
Offline
User avatar

Bryan Ray

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:23 pm

Todd Groves wrote:Thanks, Sam.

When I get home later, I will give Mocha a go. I found some tutorials using Mocha Pro's Remove option. It looks like a good approach.


Mocha's Remove module is sometimes miraculous, but you should be aware that it's also sloooooooowwww.
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

Todd Groves

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:36 pm

Bryan Ray wrote:
Todd Groves wrote:Thanks, Sam.

When I get home later, I will give Mocha a go. I found some tutorials using Mocha Pro's Remove option. It looks like a good approach.


Mocha's Remove module is sometimes miraculous, but you should be aware that it's also sloooooooowwww.


That's ok. If it does the trick than the extra render time will be worth it.
Offline

Sam Steti

  • Posts: 816
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 6:43 pm

Oh yeah, Byan's right, but I personally find Fusion sloooow too :D (and honnestly slower than Mocha). Then I'm not really surprised.
Given what we know about ofx performance, what scared me was the addition of the slowness of the openCL-only Fusion, and Mocha as an ofx add-on module inside it :o
Which led me not to use Mocha inside Fusion anymore, but the standalone version only. [/off topic]
Offline
User avatar

Bryan Ray

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

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 7:10 pm

I may be understating just how slow the Remove module can be. I used it on a couple dozen frames of HD a while back, and it took 45 minutes for each iteration just for processing. If you have to do that three or four times before you arrive at something usable, you're getting into hours spent. Now scale that up to 6k and 640 frames, and you're looking at an all-day process.

Of course, my experience was in the previous version of Mocha. It's possible that the GPU acceleration they added speeds things up significantly. Give it a test on a few frames to get an idea of just how long it will take for your shot.

In the meantime, here are three techniques for covering a feature in a scene with a moving camera:

Code: Select all
{
   Tools = ordered() {
      Note1 = Note {
         Inputs = {
            Comments = Input { Value = "Track the logo", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1045, -874.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 87.3881, 52.454, },
         },
      },
      MatteControl1_3 = MatteControl {
         Inputs = {
            Filter = Input { Value = FuID { "Multi-box", }, },
            Passes = Input { Value = 16, },
            InvertGarbageMatte = Input { Value = 1, },
            Background = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_1",
               Source = "Output",
            },
            GarbageMatte = Input {
               SourceOp = "BSpline6",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1155, -775.5, }, },
      },
      BSpline6 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            SoftEdge = Input { Value = 0.0036364, },
            OutputSize = Input { Value = FuID { "Custom", }, },
            MaskWidth = Input { Value = 3200, },
            MaskHeight = Input { Value = 1800, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Center = Input {
               SourceOp = "Tracker1",
               Source = "UnsteadyPosition",
            },
            Polyline = Input {
               SourceOp = "BSpline6Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { },
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1155, -808.5, }, },
      },
      BSpline6Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47, },
         NameSet = true,
         KeyFrames = {
            [42] = { 0, Flags = { Linear = true, LockedY = true, }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.196014430315702, Y = 0.285107983995206, },
                     { X = -0.215794648873262, Y = 0.256462145694819, },
                     { X = -0.217992450323277, Y = 0.214795479028152, },
                     { X = -0.202607836472444, Y = 0.197868405628926, },
                     { X = -0.180629816241079, Y = 0.212191312361486, },
                     { X = -0.171106007153933, Y = 0.256462145694819, },
                     { X = -0.179164614426546, Y = 0.278597557394432, },
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, },
               }, },
         },
      },
      Note2 = Note {
         Inputs = {
            Comments = Input { Value = "Spline's Center connected to Tracker's Unsteady Position. ", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1155, -874.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 102.451, 56.4179, },
         },
      },
      Note3 = Note {
         Inputs = {
            Comments = Input { Value = "Used as a garbage matte to create a patch.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1265, -808.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 104.829, 64.3458, },
         },
      },
      Note4 = Note {
         Inputs = {
            Comments = Input { Value = "Patch moved over logo", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1265, -709.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 93.7304, 49.2828, },
         },
      },
      Tracker1 = Tracker {
         Trackers = {
            {
               PatternTime = 42,
               PatternX = 0.353823692031239,
               PatternY = 0.265494375665602,
            },
         },
         Inputs = {
            Input = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_1",
               Source = "Output",
            },
            Name1 = Input { Value = "Tracker 1", },
            PatternCenter1 = Input { Value = { 0.353823692031239, 0.265494375665602, }, },
            PatternWidth1 = Input { Value = 0.0380503144654087, },
            PatternHeight1 = Input { Value = 0.0809904153354633, },
            SearchWidth1 = Input { Value = 0.111725067385445, },
            SearchHeight1 = Input { Value = 0.144888178913738, },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, -676.5, }, },
      },
      Transform3_8 = Transform {
         Inputs = {
            Center = Input { Value = { 0.342424242424242, 0.988435952970297, }, },
            Input = Input {
               SourceOp = "MatteControl1_3",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1155, -676.5, }, },
      },
      Note8 = Note {
         Inputs = {
            Comments = Input { Value = "Transparent Background.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1595, -841.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 142.467, 58.8503, },
         },
      },
      Saver1_1 = Saver {
         Inputs = {
            ProcessWhenBlendIs00 = Input { Value = 0, },
            Clip = Input {
               Value = Clip {
                  Length = 0,
                  Saving = true,
                  TrimIn = 0,
                  ExtendFirst = 0,
                  ExtendLast = 0,
                  Loop = 1,
                  AspectMode = 1,
                  Depth = 1,
                  TimeCode = 0,
                  GlobalStart = -2000000000,
                  GlobalEnd = 0,
               },
            },
            OutputFormat = Input { Value = FuID { "TargaFormat", }, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Input = Input {
               SourceOp = "Tracker1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1320, -577.5, }, },
         UserControls = ordered() {
            MakeLoader = {
               BTNCS_Execute = "                  comp:Lock()\n                  flow = comp.CurrentFrame.FlowView\n                  posx, posy = flow:GetPos(tool)\n                  filepath = tool.Clip[1]\n                  myloader = comp:AddTool(\"Loader\", posx+1, posy - 1)\n                  myloader.Clip = filepath\n                  \n                  -- parse file name\n                  pathtable = eyeon.split(filepath, \"\\\\\")\n                  -- find last index of table\n                  k = 0\n                  for i in ipairs(pathtable) do\n                     k = i\n                  end\n                  filename = pathtable[k]\n                  j,k = string.find(filename, \"_v\")\n                  if k then\n                     l = string.find(filename, \"%.\", k+1)\n                     version = string.sub(filename, k, l-1)\n                     filename = string.sub(filename, 1, j-1)\n                                    \n                     myloader:SetAttrs({TOOLS_Name = version..\"_\"..filename, TOOLB_NameSet = true})\n                  end\n                  comp:Unlock()\n               ",
               ICS_ControlPage = "File",
               INPID_InputControl = "ButtonControl",
               LINKS_Name = "Make Loader",
            },
         },
      },
      Tracker1_1 = Tracker {
         Trackers = {
            {
               PatternTime = 42,
               PatternX = 0.353823692031239,
               PatternY = 0.265494375665602,
            },
         },
         Inputs = {
            Input = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Transform3_8",
               Source = "Output",
            },
            Operation = Input { Value = 1, },
            Name1 = Input { Value = "Tracker 1", },
            PatternCenter1 = Input { Value = { 0.353823692031239, 0.265494375665602, }, },
            PatternWidth1 = Input { Value = 0.0380503144654087, },
            PatternHeight1 = Input { Value = 0.0809904153354633, },
            SearchWidth1 = Input { Value = 0.111725067385445, },
            SearchHeight1 = Input { Value = 0.144888178913738, },
         },
         ViewInfo = OperatorInfo { Pos = { 1155, -577.5, }, },
      },
      P_EXR_NCIS_343_013_010_denoiseoriginal_v01_1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "X:\\ncis\\s15\\343\\02_shots\\NCIS_343_013_010\\04_elements\\plates\\v01\\3200x1800.denoise.exr\\NCIS_343_013_010_denoise-original_v01.0001.exr",
               FormatID = "OpenEXRFormat",
               StartFrame = 1,
               Length = 81,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 80,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 1,
               AspectMode = 1,
               Depth = 1,
               TimeCode = 0,
               GlobalStart = 1,
               GlobalEnd = 81,
            },
         },
         NameSet = true,
         Inputs = {
            Depth = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            ["Clip1.OpenEXRFormat.RedName"] = Input { Value = FuID { "R", }, },
            ["Clip1.OpenEXRFormat.GreenName"] = Input { Value = FuID { "G", }, },
            ["Clip1.OpenEXRFormat.BlueName"] = Input { Value = FuID { "B", }, },
            ["Clip1.OpenEXRFormat.AlphaName"] = Input { Value = FuID { "A", }, },
         },
         ViewInfo = OperatorInfo { Pos = { 880, -577.5, }, },
         Colors = {
            TileColor = { R = 0, G = 0.247058823529412, B = 0.498039215686275, },
            TextColor = { R = 1, G = 1, B = 1, },
         },
      },
      P_EXR_NCIS_343_013_010_denoiseoriginal_v01_3 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "X:\\ncis\\s15\\343\\02_shots\\NCIS_343_013_010\\04_elements\\plates\\v01\\3200x1800.denoise.exr\\NCIS_343_013_010_denoise-original_v01.0001.exr",
               FormatID = "OpenEXRFormat",
               StartFrame = 1,
               Length = 81,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 80,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 1,
               AspectMode = 1,
               Depth = 1,
               TimeCode = 0,
               GlobalStart = 1,
               GlobalEnd = 81,
            },
         },
         NameSet = true,
         Inputs = {
            Depth = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            ["Clip1.OpenEXRFormat.RedName"] = Input { Value = FuID { "R", }, },
            ["Clip1.OpenEXRFormat.GreenName"] = Input { Value = FuID { "G", }, },
            ["Clip1.OpenEXRFormat.BlueName"] = Input { Value = FuID { "B", }, },
            ["Clip1.OpenEXRFormat.AlphaName"] = Input { Value = FuID { "A", }, },
         },
         ViewInfo = OperatorInfo { Pos = { 1650, -577.5, }, },
         Colors = {
            TileColor = { R = 0, G = 0.247058823529412, B = 0.498039215686275, },
            TextColor = { R = 1, G = 1, B = 1, },
         },
      },
      Background1 = Background {
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 81, },
            Width = Input { Value = 3200, },
            Height = Input { Value = 1800, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            TopLeftAlpha = Input { Value = 0, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1650, -742.5, }, },
      },
      Note5 = Note {
         Inputs = {
            Comments = Input { Value = "Tracker set to FG over BG for match move", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1100, -544.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 136.541, 60.3818, },
         },
      },
      Paint1 = Paint {
         Inputs = {
            Input = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Paint = Input {
               SourceOp = "Multistroke1",
               Source = "Out",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1815, -742.5, }, },
      },
      Multistroke1 = Multistroke {
         IsThreaded = true,
         Brushes = { "SoftBrush", },
         ApplyModes = {
            "PaintApplyColor",
            "PaintApplyRubThrough",
         },
         Inputs = {
            ApplyMode = Input { Value = FuID { "PaintApplyRubThrough", }, },
            ["PaintApplyRubThrough.SourceTool"] = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_3",
               Source = "Output",
            },
         },
         Strokes = {
         },
      },
      Note7 = Note {
         Inputs = {
            Comments = Input { Value = "Clone Paint strokes on selected reference frame.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1815, -874.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 131.951, 103.78, },
         },
      },
      TimeStretcher1 = TimeStretcher {
         Inputs = {
            SourceTime = Input { Value = 42, },
            InterpolateBetweenFrames = Input { Value = 0, },
            SampleSpread = Input { Disabled = true, },
            Input = Input {
               SourceOp = "Paint1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1980, -742.5, }, },
      },
      Tracker1_3 = Tracker {
         Trackers = {
            {
               PatternTime = 42,
               PatternX = 0.353823692031239,
               PatternY = 0.265494375665602,
            },
         },
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "TimeStretcher1",
               Source = "Output",
            },
            Operation = Input { Value = 1, },
            Merge = Input { Value = 1, },
            Name1 = Input { Value = "Tracker 1", },
            PatternCenter1 = Input { Value = { 0.353823692031239, 0.265494375665602, }, },
            PatternWidth1 = Input { Value = 0.0380503144654087, },
            PatternHeight1 = Input { Value = 0.0809904153354633, },
            SearchWidth1 = Input { Value = 0.111725067385445, },
            SearchHeight1 = Input { Value = 0.144888178913738, },
         },
         ViewInfo = OperatorInfo { Pos = { 1980, -676.5, }, },
      },
      Merge5 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Tracker1_3",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1980, -577.5, }, },
      },
      Note9 = Note {
         Inputs = {
            Comments = Input { Value = "Freeze frame so strokes are persistent.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1980, -874.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 90.8455, 90.3967, },
         },
      },
      Note2_1 = Note {
         Inputs = {
            Comments = Input { Value = "Spline's Center connected to Tracker's Unsteady Position. ", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1045, -379.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 102.451, 56.4179, },
         },
      },
      BSpline6_1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            SoftEdge = Input { Value = 0.0036364, },
            OutputSize = Input { Value = FuID { "Custom", }, },
            MaskWidth = Input { Value = 3200, },
            MaskHeight = Input { Value = 1800, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Center = Input {
               SourceOp = "Tracker1_2",
               Source = "UnsteadyPosition",
            },
            Polyline = Input {
               SourceOp = "BSpline6_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { },
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, -313.5, }, },
      },
      BSpline6_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47, },
         NameSet = true,
         KeyFrames = {
            [42] = { 0, Flags = { Linear = true, LockedY = true, }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.249869995040832, Y = 0.29097707402808, },
                     { X = -0.269650213598392, Y = 0.262331235727693, },
                     { X = -0.271848015048407, Y = 0.220664569061026, },
                     { X = -0.256463401197574, Y = 0.203737495661801, },
                     { X = -0.234485380966209, Y = 0.21806040239436, },
                     { X = -0.224961571879063, Y = 0.262331235727693, },
                     { X = -0.233020179151676, Y = 0.284466647427306, },
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, },
               }, },
         },
      },
      Tracker1_2 = Tracker {
         Trackers = {
            {
               PatternTime = 42,
               PatternX = 0.353823692031239,
               PatternY = 0.265494375665602,
            },
         },
         Inputs = {
            Input = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_2",
               Source = "Output",
            },
            Name1 = Input { Value = "Tracker 1", },
            PatternCenter1 = Input { Value = { 0.353823692031239, 0.265494375665602, }, },
            PatternWidth1 = Input { Value = 0.0380503144654087, },
            PatternHeight1 = Input { Value = 0.0809904153354633, },
            SearchWidth1 = Input { Value = 0.111725067385445, },
            SearchHeight1 = Input { Value = 0.144888178913738, },
         },
         ViewInfo = OperatorInfo { Pos = { 990, -280.5, }, },
      },
      Note10 = Note {
         Inputs = {
            Comments = Input { Value = "Tracker set to Match Move FG Only.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 2090, -676.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 152.801, 52.1481, },
         },
      },
      Transform3_9 = Transform {
         Inputs = {
            Center = Input { Value = { 0.452968388589052, 0.510973936899863, }, },
            Input = Input {
               SourceOp = "P_EXR_NCIS_343_013_010_denoiseoriginal_v01_2",
               Source = "Output",
            },
            EffectMask = Input {
               SourceOp = "BSpline6_1",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, -247.5, }, },
      },
      P_EXR_NCIS_343_013_010_denoiseoriginal_v01_2 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "X:\\ncis\\s15\\343\\02_shots\\NCIS_343_013_010\\04_elements\\plates\\v01\\3200x1800.denoise.exr\\NCIS_343_013_010_denoise-original_v01.0001.exr",
               FormatID = "OpenEXRFormat",
               StartFrame = 1,
               Length = 81,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 80,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 1,
               AspectMode = 1,
               Depth = 1,
               TimeCode = 0,
               GlobalStart = 1,
               GlobalEnd = 81,
            },
         },
         NameSet = true,
         Inputs = {
            Depth = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            ["Clip1.OpenEXRFormat.RedName"] = Input { Value = FuID { "R", }, },
            ["Clip1.OpenEXRFormat.GreenName"] = Input { Value = FuID { "G", }, },
            ["Clip1.OpenEXRFormat.BlueName"] = Input { Value = FuID { "B", }, },
            ["Clip1.OpenEXRFormat.AlphaName"] = Input { Value = FuID { "A", }, },
         },
         ViewInfo = OperatorInfo { Pos = { 880, -247.5, }, },
         Colors = {
            TileColor = { R = 0, G = 0.247058823529412, B = 0.498039215686275, },
            TextColor = { R = 1, G = 1, B = 1, },
         },
      },
      Saver1 = Saver {
         Inputs = {
            ProcessWhenBlendIs00 = Input { Value = 0, },
            Clip = Input {
               Value = Clip {
                  Length = 0,
                  Saving = true,
                  TrimIn = 0,
                  ExtendFirst = 0,
                  ExtendLast = 0,
                  Loop = 1,
                  AspectMode = 1,
                  Depth = 1,
                  TimeCode = 0,
                  GlobalStart = -2000000000,
                  GlobalEnd = 0,
               },
            },
            OutputFormat = Input { Value = FuID { "TargaFormat", }, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            Input = Input {
               SourceOp = "Transform3_9",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1320, -247.5, }, },
         UserControls = ordered() {
            MakeLoader = {
               BTNCS_Execute = "                  comp:Lock()\n                  flow = comp.CurrentFrame.FlowView\n                  posx, posy = flow:GetPos(tool)\n                  filepath = tool.Clip[1]\n                  myloader = comp:AddTool(\"Loader\", posx+1, posy - 1)\n                  myloader.Clip = filepath\n                  \n                  -- parse file name\n                  pathtable = eyeon.split(filepath, \"\\\\\")\n                  -- find last index of table\n                  k = 0\n                  for i in ipairs(pathtable) do\n                     k = i\n                  end\n                  filename = pathtable[k]\n                  j,k = string.find(filename, \"_v\")\n                  if k then\n                     l = string.find(filename, \"%.\", k+1)\n                     version = string.sub(filename, k, l-1)\n                     filename = string.sub(filename, 1, j-1)\n                                    \n                     myloader:SetAttrs({TOOLS_Name = version..\"_\"..filename, TOOLB_NameSet = true})\n                  end\n                  comp:Unlock()\n               ",
               ICS_ControlPage = "File",
               INPID_InputControl = "ButtonControl",
               LINKS_Name = "Make Loader",
            },
         },
      },
      Note6 = Note {
         Inputs = {
            Comments = Input { Value = "Transform performed inside spline.", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1045, -181.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 134.955, 49.2828, },
         },
      },
   },
}
Attachments
Untitled.jpg
Untitled.jpg (214.83 KiB) Viewed 294 times
Bryan Ray
http://www.bryanray.name
http://www.musevfx.com
Offline

Sam Steti

  • Posts: 816
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: Technique works in one shot, not in another. EMERGENCY

PostTue Jan 23, 2018 7:41 pm

Well, I confess we don't have the same experience (at all) then ;)

I used Mocha Pro 5 a couple of weeks ago to get rid of different stuff, like stains on a wall, a bottle there and various elements which occurred from 300 to 2200 frames long, HD, GPU use (but openCL only in Mocha too, then one of my gtx 980 ti only and not used at max as it would with cuda, whatever...).

Even for scenes lasting around 20 sec AND using cleanplates (you know you're not obliged to), it took maybe 3-4 minutes, so you clearly must have had a serious issue... No way what I did on a 15 sec HD footage lasted more than 4 minutes actually, and sometimes the surface was large.

Anyway, I'll look to your Fusion technique with a lot fo interest and I thank you for sharing it.

Return to Fusion

Who is online

Users browsing this forum: Martin Raw and 5 guests