Jump to: Board index » General » Fusion

"Colour Smear" in Fusion?

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

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

"Colour Smear" in Fusion?

PostFri Dec 19, 2014 12:56 pm

Hi there,

I have to excuse myself upfront, I hope this kinda question is Ok in this forum :) also my excuse is aimed at the sort of question, because I have to make (many) comparisons to other software.
I learned Fusion some time ago (Fusion 5 it was), but went away and used Nuke a lot. Now I want to get familiar with it again. I have a hard time replicating my usual workflows in Fusion; my biggest so far is the following -

In Nuke, there's a technique which might be best known as "colour smear", "pixel spread" or something like that. What it basically does "stretching out" pixels around a given mask, I use this quite often when I have to roto out-of-focus elements. This is based on blurring rather than erode/dilate.
In Nuke, you premultiply the image with a mask that is set around the solid values you want to extrude (so not the blurred areas which have parts of the BG in them), then blur this (a lot usually), followed by an unpremultiply. By unpremultiplying it, you get the whole area of the blurred alpha as solid colour regardles is the alpha has a value of 1 or 0.00001. After that, you merge the original, un-blurred image back on top of that so you can finally use your correctly feathered/blurred roto for the out-of-focus areas to get a proper roto on top of the BG :)
I think here it's described much better, but I wanted to give insight what I mean: http://richardfrazer.com/tools-tutorial ... -for-nuke/
This can be used for object removal too.

However, I can not replicate that in Fusion. I googled a lot about premult+unpremult in Fusion, and while it works it has way different results then I'd expect by it; the unpremulted results have strange harsh edges and I there’s a non-solid alpha etc.
What I like about the technique is that it’s fast, unlike most effects to remove markers (such an effect could theoretically also be used for this). A simple erode/dilate around the edges and merging the original on top doesn’t really bring me the desired result.
I use this technique also for keying hair sometimes, so I’d really like to rely on it somehow in Fusion.
Is there a way, or an alternative, to achieving such an effect?

Best,
Rick
Offline
User avatar

Eric Westphal

  • Posts: 214
  • Joined: Thu Nov 20, 2014 1:59 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 1:53 pm

Hi Rick.

MatteControl might be what you're after.
It allows to blur the mask and contract/expand within that blurred area.

Cheers.

Eric.
my hovercraft is full of eels.
Offline

Attila Sziklai

  • Posts: 20
  • Joined: Mon Nov 10, 2014 3:51 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 2:30 pm

I use often this technique in Fusion so it's possible to replicate it I can tell :)

Basically you wrote it down the whole thing here.
It's easier to make this make this comp then explain it so here it goes:
Code: Select all
{
   Tools = ordered() {
      Background1 = Background {
         CtrlWZoom = false,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 250, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
            TopLeftRed = Input { Value = 0.697841726618705, },
            TopLeftGreen = Input { Value = 0.482014388489209, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 497.036, -30.3181, }, },
      },
      Ellipse1 = EllipseMask {
         CtrlWZoom = false,
         Inputs = {
            Filter = Input { Value = FuID { "Multi-box", }, },
            SoftEdge = Input { Value = 0.015, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Width = Input { Value = 0.367535897697013, },
            Height = Input { Value = 0.367535897697013, },
         },
         ViewInfo = OperatorInfo { Pos = { 497.036, -62.4106, }, },
      },
      AlphaDivide1 = AlphaDivide {
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 439, 82.1385, }, },
      },
      BrightnessContrast1 = BrightnessContrast {
         CtrlWZoom = false,
         Inputs = {
            Red = Input { Value = 0, },
            Green = Input { Value = 0, },
            Blue = Input { Value = 0, },
            Alpha = Input { Value = 1, },
            Low = Input { Value = 0.99, },
            Input = Input {
               SourceOp = "AlphaDivide1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 439, 113.89, }, },
      },
      AlphaMultiply1 = AlphaMultiply {
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "BrightnessContrast1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 439, 147.589, }, },
      },
      Blur1 = Blur {
         CtrlWZoom = false,
         Inputs = {
            Filter = Input { Value = FuID { "Multi-box", }, },
            XBlurSize = Input { Value = 26.6666667, },
            Input = Input {
               SourceOp = "AlphaMultiply1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 439, 227.815, }, },
      },
      AlphaMultiply2 = AlphaMultiply {
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "ChannelBooleans1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 790.688, 261, }, },
      },
      ChannelBooleans1 = ChannelBoolean {
         CtrlWZoom = false,
         Inputs = {
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 673.891, 261, }, },
      },
      Merge1 = Merge {
         CtrlWZoom = false,
         Inputs = {
            Background = Input {
               SourceOp = "AlphaDivide2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "AlphaMultiply1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 555.162, 261, }, },
      },
      AlphaDivide2 = AlphaDivide {
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "Blur1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 439, 261, }, },
      },
   },
}
Just copy and paste it into Fusion.
Play with the Blur size and the threshold in the BC tool.
For out of focus FG it works fine but I often use more steps of this stuff starting with a smaller blur and enlarge more after one after one. More precise look can be achieved that way.
However I have a more lazy way..
There is a Fuse by Stefan Ihringer called EdgeRepair.Fuse but I can't find it anymore on the www. It supposed to be here: http://www.comp-fu.com/. I hope Stefan can give the right direction.
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 2:52 pm

Eric Westphal wrote:MatteControl might be what you're after.
It allows to blur the mask and contract/expand within that blurred area.

Hi Eric,

thanks I'll check that out! Sounds straight forward to me :)

Attila Sziklai wrote:For out of focus FG it works fine but I often use more steps of this stuff starting with a smaller blur and enlarge more after one after one. More precise look can be achieved that way.

Hi Attila,

thank you very much for making such a little script for me. I'll have a look at it at home (I don't have any Windows PC here at work, haha).
Actually my idea was exacly what you said there, "building it up" with more blurs and instances etc, and then packing that into a Macro to use. I do the same with Nuke. I mean there are several gizmos on this already, but I like to make it myself (on that way I don't forget how things actually work)
I'll also have a look at Comp-Fu, I read a lot about it already but never made to evaluate it :)


my big problem with Fusion is, I know pretty much that I'm able to do certain things in it, but I just don't know in which Nodes to look for, haha :)
Offline

Attila Sziklai

  • Posts: 20
  • Joined: Mon Nov 10, 2014 3:51 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 3:09 pm

You are welcome Rick!

You can start with the tools I wired. That would be the first step and after that just repeat some nodes :)
If you still don't have success just ask here if I can help further.
Offline

Jun Yokoishi

  • Posts: 6
  • Joined: Wed Nov 19, 2014 2:49 pm
  • Location: Japan

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 3:51 pm

Hi,
Gringo's "Blurred Edges Restoration(Macro)" will work for that.
pigsfly.com/index.php?/topic/7230-blurred-edges-restoration-macro/

It works in Fusion6.4 fine, but seems have some problem in Fusion7.5 at speed issue.
There is a topic about it in WeSuckLess's Scripting and Fuses board.

Jun
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 6:47 pm

Hi there Eric,

the MatteControl doesn't help, sadly :( thanks anyway :)

Hi Attila,

I copied your code and pasted it, but it's not really what I expected.
Is this what it intends to do? http://i.imgur.com/xmqqIFP.png
When I look through AlphaMultiply2 it looks exacly like the BG with its Alpha, the ChannelBooleans1 makes what you can see in the screenshot. But it has exacly the strange artifacts that I encountered before (gradients in the image, not solid Alpha)
:o
Offline

Jun Yokoishi

  • Posts: 6
  • Joined: Wed Nov 19, 2014 2:49 pm
  • Location: Japan

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 8:09 pm

Hi Rick,

The artifacts is caused by processed in 8 bit.

Here is comparison of expanded & not expanded.
Code: Select all
{
   Tools = ordered() {
      Edge_Extend = GroupOperator {
         NameSet = true,
         Inputs = ordered() {
            Input1 = InstanceInput {
               SourceOp = "PipeRouter1",
               Source = "Input",
            },
         },
         Outputs = {
            Output1 = InstanceOutput {
               SourceOp = "AlphaMultiply2",
               Source = "Output",
            },
         },
         ViewInfo = GroupInfo {
            Pos = { 910.5, 214.5, },
            Flags = {
               Expanded = true,
               AllowPan = false,
               ForceSource = true,
               GridSnap = true,
               AutoSnap = true,
            },
            Size = { 705.688, 356.418, },
            Direction = "Horizontal",
            PipeStyle = "Direct",
            Scale = 1,
            Offset = { -663.808, -287, },
         },
         Tools = ordered() {
            AlphaMultiply2 = AlphaMultiply {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "ChannelBooleans1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 953.652, 538.818, }, },
            },
            AlphaDivide2 = AlphaDivide {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "Blur1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 601.964, 538.818, }, },
            },
            Merge1 = Merge {
               CtrlWShown = false,
               Inputs = {
                  PerformDepthMerge = Input { Value = 0, },
                  Background = Input {
                     SourceOp = "AlphaDivide2",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "AlphaMultiply1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 718.126, 538.818, }, },
            },
            ChannelBooleans1 = ChannelBoolean {
               CtrlWShown = false,
               Inputs = {
                  ToRed = Input { Value = 4, },
                  ToGreen = Input { Value = 4, },
                  ToBlue = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "Merge1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PipeRouter1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 836.855, 538.818, }, },
            },
            Blur1 = Blur {
               CtrlWShown = false,
               Inputs = {
                  Filter = Input { Value = FuID { "Multi-box", }, },
                  XBlurSize = Input { Value = 12.1546961, },
                  Input = Input {
                     SourceOp = "AlphaMultiply1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 511.5, }, },
               Colors = {
                  TileColor = { R = 0.886274509803922, G = 0.725490196078431, B = 0.117647058823529, },
                  TextColor = { R = 0, G = 0, B = 0, },
               },
            },
            AlphaMultiply1 = AlphaMultiply {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "BrightnessContrast1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 478.5, }, },
            },
            PipeRouter1 = PipeRouter {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "MatteControl1",
                     Source = "Output",
                  },
               },
               ViewInfo = PipeRouterInfo { Pos = { 660, 313.5, }, },
            },
            BrightnessContrast1 = BrightnessContrast {
               CtrlWShown = false,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Alpha = Input { Value = 1, },
                  Low = Input { Value = 0.9834711, },
                  Input = Input {
                     SourceOp = "AlphaDivide1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 445.5, }, },
               Colors = {
                  TileColor = { R = 0.886274509803922, G = 0.725490196078431, B = 0.117647058823529, },
                  TextColor = { R = 0, G = 0, B = 0, },
               },
            },
            AlphaDivide1 = AlphaDivide {
               CtrlWShown = false,
               Inputs = {
                  Input = Input {
                     SourceOp = "ChangeDepth1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 413.049, }, },
            },
            ChangeDepth1 = ChangeDepth {
               CtrlWZoom = false,
               CtrlWShown = false,
               Inputs = {
                  Depth = Input { Value = 2, },
                  Input = Input {
                     SourceOp = "PipeRouter1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 346.5, }, },
            },
            Note1_2 = Note {
               Inputs = {
                  Comments = Input { Value = "Brightness defines preserved area", },
               },
               ViewInfo = StickyNoteInfo {
                  Pos = { 385, 437.5, },
                  Flags = {
                     Expanded = true,
                  },
                  Size = { 192, 33.3, },
               },
            },
            Note1_2_1 = Note {
               Inputs = {
                  Comments = Input { Value = "Blur expands the edge", },
               },
               ViewInfo = StickyNoteInfo {
                  Pos = { 431, 508.5, },
                  Flags = {
                     Expanded = true,
                  },
                  Size = { 146, 37.3, },
               },
            },
         },
      },
      Merge3_1 = Merge {
         Inputs = {
            PerformDepthMerge = Input { Value = 0, },
            Background = Input {
               SourceOp = "Background3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "AlphaMultiply2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1409.5, 214.5, }, },
      },
      Merge3 = Merge {
         Inputs = {
            PerformDepthMerge = Input { Value = 0, },
            Background = Input {
               SourceOp = "Background3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "MatteControl1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1409.5, -82.5, }, },
      },
      UltraKeyer1 = UltraKeyer {
         Inputs = {
            ColorBackground = Input { Value = 1, },
            Input = Input {
               SourceOp = "Merge2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 859.5, -82.5, }, },
      },
      Text1 = TextPlus {
         Inputs = {
            GlobalIn = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Size = Input { Value = 0.3867403, },
            Font = Input { Value = "Arial", },
            StyledText = Input { Value = "fusion", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = "",
               },
            },
            Type1 = Input { Value = 2, },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0.166666666666667, 0.166666666666667, 0.166666666666667, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            Enabled2 = Input { Value = 1, },
            ElementShape2 = Input { Value = 0, },
            Green2 = Input { Value = 0.769004589548616, },
            Blue2 = Input { Value = 0.363911111111111, },
            ShadingGradient2 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
            Softness2 = Input { Value = 1, },
            SoftnessY2 = Input { Value = 6.7836257, },
            Transform2 = Input { Value = 1, },
            Offset2 = Input { Value = { 0.05, -0.1, }, },
            RenderToDPTFile = Input { Disabled = true, },
            DPTType = Input { Disabled = true, },
            DPTResolution = Input { Disabled = true, },
            AddToShadingLibrary = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 474.5, 16.5, }, },
      },
      Merge2 = Merge {
         Inputs = {
            PerformDepthMerge = Input { Value = 0, },
            Background = Input {
               SourceOp = "Background2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 584.5, -82.5, }, },
      },
      MatteControl1 = MatteControl {
         Inputs = {
            SpillColor = Input { Value = 1, },
            SpillSuppression = Input { Value = 1, },
            SpillMethod = Input { Value = 1, },
            Background = Input {
               SourceOp = "UltraKeyer1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 969.5, -82.5, }, },
      },
      Background2 = Background {
         Inputs = {
            GlobalIn = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 2, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 0.125210196714272, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 474.5, -82.5, }, },
      },
      Background3 = Background {
         Inputs = {
            GlobalIn = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            TopLeftRed = Input { Value = 0.453333333333333, },
            TopLeftGreen = Input { Value = 0.453333333333333, },
            TopLeftBlue = Input { Value = 0.453333333333333, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1, },
                     [1] = { 1, 1, 1, 1, },
                  },
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1189.5, 49.5, }, },
      },
      Note1 = Note {
         Inputs = {
            Comments = Input { Value = "This is Edge Extended Result", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1464.5, 247.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 157, 70.3, },
         },
      },
      Note1_1 = Note {
         Inputs = {
            Comments = Input { Value = "This is normal Result", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1464.5, -181.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 157, 70.3, },
         },
      },
      PullKey = Underlay {
         NameSet = true,
         ViewInfo = UnderlayInfo {
            Pos = { 926.5, -115.5, },
            Size = { 268, 154.3, },
         },
      },
      Source = Underlay {
         NameSet = true,
         ViewInfo = UnderlayInfo {
            Pos = { 529.5, -115.5, },
            Size = { 263, 233, },
         },
      },
   },
}
Offline
User avatar

Stefan Ihringer

  • Posts: 257
  • Joined: Mon Nov 10, 2014 10:40 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 8:59 pm

I think I never really published that edge Fuse because it was slow and suffered from artifacts as well.

I think Nuke does some internal thresholding... so when alpha is 0.00001 it's considered zero or something (when unpremultiplying). Fusion doesn't seem to do that so I always had some erroneous pixels when I did blur & divide, even in float32.

Gringo's macro is what you're after to clean the semi-transparent area of keyed footage. But to fill holes or extend the edges you need to build that setup yourself (and ideally also package it into a macro). Unfortunately neither Fusion nor Nuke have a loop feature, so if you want to blur&divide in several steps to get better color smear you need to copy & paste your handful of nodes multiple times.
blog and Fusion stuff: http://comp-fu.com/2012/06/fusion-script-macro-collection/
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 9:47 pm

Hi Jun,

thanks for the setup!
Now I have this looking through the ChannelBooleans: http://i.imgur.com/C5fYnSe.png
Correct me if I'm wrong but it's not opaque; but it should be opaque to work out correctly :/

Hi Stefan,

I don't think Nuke counts any value like 0 unless it's actually 0. Unpremultiplying anything which's Alpha isn't completely 0 should turn into a completely opaque colour.
What I don't get in Fusion is the transparency at all. In the screenshot in the beginning of this post, you have portions of the image you can look through, which simply shouldn't be the case for my understanding. Or do I understand the viewer wrong?

I have no problem building a macro myself, I simply don't get how to achieve what I'm after :/
Filling holes/extrude edges is a blast with this technique, but somehow I don't get how to achieve it in Fusion
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 11:20 pm

So I looked at it again and while I still don't understand it completely, I was able to (somehow) utilize it :)
Thanks so much!

I modified the EdgeExtend a bit to my needs, but that's not a biggie. I still have two problems though; first is the ErodeDilate Node. Is there a way to extend the range? One seems not enough in some cases (as in mine).
Another problem is some math with the ChannelBooleans, but I think I post the script to show what I mean:
Code: Select all
{
   Tools = ordered() {
      DaySky2 = DaySky {
         Inputs = {
            GlobalOut = Input { Value = 79, },
            Width = Input { Value = 2048, },
            Height = Input { Value = 512, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
         },
         ViewInfo = OperatorInfo { Pos = { 4328.03, -328.632, }, },
      },
      Scale2 = Scale {
         Inputs = {
            LockXY = Input { Value = 0, },
            XSize = Input { Value = 0.2, },
            YSize = Input { Value = 0.3, },
            PixelAspect = Input { Value = { 1, 1, }, },
            Input = Input {
               SourceOp = "DaySky2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4332.59, -248.434, }, },
      },
      Blur4 = Blur {
         Inputs = {
            XBlurSize = Input { Value = 2.8571429, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Input = Input {
               SourceOp = "Scale2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4341.36, -212.926, }, },
      },
      PipeRouter1_1_1_1 = PipeRouter {
         Inputs = {
            Input = Input {
               SourceOp = "Blur4",
               Source = "Output",
            },
         },
         ViewInfo = PipeRouterInfo { Pos = { 4341.36, -179.926, }, },
      },
      PipeRouter1_1_1_2 = PipeRouter {
         Inputs = {
            Input = Input {
               SourceOp = "PipeRouter1_1_1_1",
               Source = "Output",
            },
         },
         ViewInfo = PipeRouterInfo { Pos = { 4045.35, -135.054, }, },
      },
      Merge6 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "PipeRouter1_1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "PipeRouter1_1_1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 4357.11, -82.2915, }, },
      },
      Note4 = Note {
         Inputs = {
            Comments = Input { Value = "the idea is to only apply the smeared-roto where it would be needed; the insert isn't repositioned in the merge, why is it not matching the position in the Bol then?", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 4025.24, -19.0472, },
            Flags = {
               Expanded = true,
            },
            Size = { 138.617, 130.314, },
         },
      },
      Note3 = Note {
         Inputs = {
            Comments = Input { Value = "is there a way to extend the values so I don't have to use two nodes? Not enough range in one", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 3735.52, -13.4488, },
            Flags = {
               Expanded = true,
            },
            Size = { 150.513, 105.822, },
         },
      },
      ErodeDilate2_1 = ErodeDilate {
         Inputs = {
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            XAmount = Input { Value = 0.01, },
            Input = Input {
               SourceOp = "AlphaMultiply2_1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3756.24, 36.4281, }, },
      },
      Merge5 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Merge6",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "AlphaMultiply2_1_1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 4360.08, 64.3382, }, },
      },
      AlphaMultiply2_1_1_1 = AlphaMultiply {
         Inputs = {
            Input = Input {
               SourceOp = "ChannelBooleans3",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4201.67, 68.0842, }, },
      },
      ChannelBooleans3 = ChannelBoolean {
         Inputs = {
            Operation = Input { Value = 6, },
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "Blur2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "PipeRouter1_1_1_2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 4054.45, 62.983, }, },
      },
      ErodeDilate2_1_1 = ErodeDilate {
         Inputs = {
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            XAmount = Input { Value = 0.0022857, },
            Input = Input {
               SourceOp = "ErodeDilate2_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3759.93, 64.0011, }, },
      },
      Blur2 = Blur {
         Inputs = {
            Filter = Input { Value = FuID { "Box", }, },
            Red = Input { Value = 0, },
            Green = Input { Value = 0, },
            Blue = Input { Value = 0, },
            XBlurSize = Input { Value = 5.7142857, },
            Input = Input {
               SourceOp = "ErodeDilate2_1_1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3902.57, 65.8761, }, },
      },
      Edge_Extend_1 = GroupOperator {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = ordered() {
            Input1 = InstanceInput {
               SourceOp = "PipeRouter1_1",
               Source = "Input",
            },
         },
         Outputs = {
            Output1 = InstanceOutput {
               SourceOp = "AlphaMultiply2_1_1",
               Source = "Output",
            },
         },
         ViewInfo = GroupInfo {
            Pos = { 3487.8, 50.0415, },
            Flags = {
               AllowPan = false,
               ForceSource = true,
               GridSnap = true,
               AutoSnap = true,
            },
            Size = { 705.688, 426.17, },
            Direction = "Horizontal",
            PipeStyle = "Direct",
            Scale = 1,
            Offset = { -663.808, -217.248, },
         },
         Tools = ordered() {
            AlphaMultiply2_1_1 = AlphaMultiply {
               PassThrough = true,
               Inputs = {
                  Input = Input {
                     SourceOp = "ChannelBooleans1_1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 935, 478.5, }, },
            },
            AlphaDivide2_1_1 = AlphaDivide {
               Inputs = {
                  Input = Input {
                     SourceOp = "Blur1_2_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 544.5, }, },
            },
            Merge1_2_1 = Merge {
               Inputs = {
                  Background = Input {
                     SourceOp = "AlphaDivide2_1_1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "AlphaMultiply1_2_1_1_1",
                     Source = "Output",
                  },
                  PerformDepthMerge = Input { Value = 0, },
               },
               ViewInfo = OperatorInfo { Pos = { 715, 544.5, }, },
            },
            ChannelBooleans1_1_1 = ChannelBoolean {
               Inputs = {
                  ToRed = Input { Value = 4, },
                  ToGreen = Input { Value = 4, },
                  ToBlue = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "Merge1_2_1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PipeRouter1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 825, 544.5, }, },
            },
            Blur1_2_1 = Blur {
               Inputs = {
                  Filter = Input { Value = FuID { "Multi-box", }, },
                  XBlurSize = Input { Value = 13, },
                  Input = Input {
                     SourceOp = "AlphaMultiply1_2_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 511.5, }, },
               Colors = {
                  TileColor = { R = 0.886274509803922, G = 0.717647058823529, B = 0.109803921568627, },
                  TextColor = { R = 0, G = 0, B = 0, },
               },
            },
            AlphaMultiply1_2_1 = AlphaMultiply {
               Inputs = {
                  Input = Input {
                     SourceOp = "BrightnessContrast1_1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 478.5, }, },
            },
            PipeRouter1_1 = PipeRouter {
               Inputs = {
                  Input = Input {
                     SourceOp = "ChannelBooleans2",
                     Source = "Output",
                  },
               },
               ViewInfo = PipeRouterInfo { Pos = { 715, 313.5, }, },
            },
            BrightnessContrast1_1_1 = BrightnessContrast {
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Alpha = Input { Value = 1, },
                  Low = Input { Value = 0.9834711, },
                  Input = Input {
                     SourceOp = "AlphaDivide1_2_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 445.5, }, },
               Colors = {
                  TileColor = { R = 0.886274509803922, G = 0.717647058823529, B = 0.109803921568627, },
                  TextColor = { R = 0, G = 0, B = 0, },
               },
            },
            AlphaDivide1_2_1 = AlphaDivide {
               Inputs = {
                  Input = Input {
                     SourceOp = "ChangeDepth1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 412.5, }, },
            },
            ChangeDepth1_1 = ChangeDepth {
               Inputs = {
                  Depth = Input { Value = 2, },
                  Input = Input {
                     SourceOp = "AlphaMultiply1_2_1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 346.5, }, },
            },
            Note1_2_2 = Note {
               CtrlWShown = false,
               Inputs = {
                  Comments = Input { Value = "Brightness defines preserved area", },
               },
               ViewInfo = StickyNoteInfo {
                  Pos = { 385, 445.5, },
                  Flags = {
                     Expanded = true,
                  },
                  Size = { 192, 33.3, },
               },
            },
            Note1_2_1_1 = Note {
               CtrlWShown = false,
               Inputs = {
                  Comments = Input { Value = "Blur expands the edge", },
               },
               ViewInfo = StickyNoteInfo {
                  Pos = { 431, 508.5, },
                  Flags = {
                     Expanded = true,
                  },
                  Size = { 146, 37.3, },
               },
            },
            Blur3 = Blur {
               Inputs = {
                  Filter = Input { Value = FuID { "Box", }, },
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  XBlurSize = Input { Value = 5.2380952, },
                  Input = Input {
                     SourceOp = "PipeRouter1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 715, 412.5, }, },
            },
            AlphaMultiply1_2_1_1 = AlphaMultiply {
               Inputs = {
                  Input = Input {
                     SourceOp = "PipeRouter1_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 605, 313.5, }, },
            },
            AlphaMultiply1_2_1_1_1 = AlphaMultiply {
               Inputs = {
                  Input = Input {
                     SourceOp = "Blur3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 715, 478.5, }, },
            },
            Note2 = Note {
               ViewInfo = StickyNoteInfo {
                  Pos = { 55, 16.5, },
                  Size = { 196, 179.3, },
               },
            },
         },
      },
      ChannelBooleans2 = ChannelBoolean {
         Inputs = {
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "PipeRouter1_1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "ErodeDilate2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3248.13, 47.5222, }, },
      },
      Loader3_1_1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "F:\\Downloads\\2595039332_0f01407e12.jpg",
               FormatID = "JpegFormat",
               StartFrame = 12,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0,
            },
         },
         Inputs = {
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2", }, },
         },
         ViewInfo = OperatorInfo { Pos = { 3230.92, -257.307, }, },
      },
      PipeRouter1_1_1 = PipeRouter {
         Inputs = {
            Input = Input {
               SourceOp = "Loader3_1_1",
               Source = "Output",
            },
         },
         ViewInfo = PipeRouterInfo { Pos = { 3233.29, -138.708, }, },
      },
      ErodeDilate2 = ErodeDilate {
         PassThrough = true,
         Inputs = {
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            XAmount = Input { Value = 0.01, },
            Input = Input {
               SourceOp = "Resize1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3128.17, 50.0391, }, },
      },
      Resize1 = BetterResize {
         Inputs = {
            Width = Input { Value = 500, },
            Height = Input { Value = 333, },
            PixelAspect = Input { Value = { 1, 1, }, },
            Input = Input {
               SourceOp = "Polygon1_1",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3125.06, 10.7029, }, },
      },
      Polygon1_1 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            SoftEdge = Input { Value = 0.0019048, },
            MaskWidth = Input { Value = 2048, },
            MaskHeight = Input { Value = 1556, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Polyline = Input {
               SourceOp = "Polygon1_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 3122.4, -30.4811, }, },
      },
      Polygon1_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47, },
         NameSet = true,
         KeyFrames = {
            [79] = { 0, Flags = { Linear = true, LockedY = true, }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { X = -0.366242837790307, Y = 0.451138555538636, LX = -0.102548368991472, LY = -0.0116777246244979, RX = 0.02619695849279, RY = -0.000811019216201812, },
                     { X = -0.28763884272932, Y = 0.452264724689663, LX = -0.0253159452599385, LY = 0.0101476732355788, RX = 0.0172945883582556, RY = -0.00693238311275482, },
                     { X = -0.241867780685425, Y = 0.410094648599625, LX = -0.0152570206812985, LY = 0.0140566920300128, RX = 0.0192124086815622, RY = -0.0288792265244937, },
                     { X = -0.192679764450092, Y = 0.313799499458034, LX = -0.0163815070109034, LY = 0.032115067871042, RX = 0.00863949759340828, RY = -0.0169372727063107, },
                     { X = -0.185204610228539, Y = 0.250788629055023, LX = 0.0117512058557145, LY = 0.0339689684250993, RX = -0.0177362417913907, RY = -0.0512697883765431, },
                     { X = -0.221856981020555, Y = 0.0864374608932779, LX = 0.0467707327148522, LY = 0.104590558260643, RX = -0.00820584713506231, RY = -0.0183502391995895, },
                     { X = -0.207565486266012, Y = 0.0236937548041158, LX = -0.00908266265082238, LY = 0.0173953490986893, RX = 0.0124901508906158, RY = -0.0239214582100432, },
                     { X = -0.169464841485024, Y = -0.0473186112940311, LX = -0.0157532950758342, LY = 0.0190907131069761, RX = 0.0230322878328196, RY = -0.0279117985854379, },
                     { X = -0.091815322637558, Y = -0.111987382173538, LX = -0.0136411358589641, LY = 0.00315457366242392, RX = 0.0186676160257113, RY = -0.00431696967641108, },
                     { X = -0.0351521521806717, Y = -0.111987382173538, LX = -0.0136411343422667, LY = -4.70068064733673e-010, RX = 0.0231714908528284, RY = 7.98480506785112e-010, },
                     { X = 0.0194123815745115, Y = -0.176656156778336, LX = -0.0156965214511774, LY = 0.0323343877016389, RX = 0.0090940889679925, RY = -0.0620399561527525, },
                     { X = 0.0466946475207806, Y = -0.362776011228561, LX = 0.00209863492896518, LY = 0.0520504871941515, RX = -0.00283707093204441, RY = -0.0703652275005682, },
                     { X = 0.0645330548286438, Y = -0.572555184364319, LX = -0.0103377391199538, LY = 0.0697069728175946, RX = -0.212311997639628, RY = 0.00420609194898958, },
                     { Linear = true, X = -0.572402954101563, Y = -0.559936881065369, LX = 0.212311997639628, LY = -0.00420609194898958, RX = 0, RY = 0.101997887799918, },
                     { Linear = true, X = -0.572402954101563, Y = -0.253943204879761, LX = 0, LY = -0.101997887799918, RX = 0.012591820657149, RY = 0.147213455254347, },
                     { Linear = true, X = -0.534627497196198, Y = 0.187697157263756, LX = -0.012591820657149, LY = -0.147213455254347, RX = 0.0549585571900841, RY = 0.0885314740373127, },
                  },
               }, },
         },
      },
   },
}

(I used this photo for testing purposes)

On a sidenote, is there a way to make adjustments to sliders (like Blur/Dilate) more precise? So far I type it, or use CTRL+drag, but I don't find both really convincing. Something like stepping up/down with the keyboard maybe, without typing the number?

Best,
Rick
Offline
User avatar

michael vorberg

  • Posts: 943
  • Joined: Wed Nov 12, 2014 8:47 pm
  • Location: stuttgart, germany

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 11:24 pm

stepping up/down with the keyboard isnt there

you can always type in a higher/lower number in the sliders number field, the range of the slider will adjust then and you can use them with bigger values
Offline
User avatar

Stefan Ihringer

  • Posts: 257
  • Joined: Mon Nov 10, 2014 10:40 pm

Re: "Colour Smear" in Fusion?

PostFri Dec 19, 2014 11:50 pm

Your image looks transparent because the RGB channels are extended but the alpha is not. If you've used the AlphaDivide node, it only handles RGB. If you have a channel boolean, you need to divide the alpha by itself as well to achieve a solid look.

With tiny pixel values you might get floating point precision problems. So I can imagine that at some point, dividing by the alpha will no longer get you the original solid color... But maybe the lack of artifacts in Nuke has to do with the way it blurs. In Fusion you should choose MultiBox which looks like Gaussian but doesn't create tiny negative pixels, which helps.
blog and Fusion stuff: http://comp-fu.com/2012/06/fusion-script-macro-collection/
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostSat Dec 20, 2014 1:15 am

Hi you two,

thanks for the info with the values, works :)

Stefan, I figured my problem with the viewer out. I'm simply not used to the preview with the checker-board background, Nuke doesn't have something like that. When deactivating the checkerboard (and getting on solid black) it works as intended.
Still I don't get why the positioning of the insert-element is different when hooked to a merge or a channel booleans; any way to fix this?
Offline
User avatar

Stefan Ihringer

  • Posts: 257
  • Joined: Mon Nov 10, 2014 10:40 pm

Re: "Colour Smear" in Fusion?

PostSat Dec 20, 2014 6:30 am

Can't check your comp at the moment, but are your images the same size? If not: I guess merge centers it while channel boolean might align them at the bottom left corner.
blog and Fusion stuff: http://comp-fu.com/2012/06/fusion-script-macro-collection/
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostSat Dec 20, 2014 1:03 pm

Hi Stefan,

that's exacly the case. As everything that needs to be inserted is rarely the same size, what can I do about that?
Some sort of "center"-node that I can install before I merge/bool it, or some equivalent to the reformat-node?

Best,
Rick
Offline

Jun Yokoishi

  • Posts: 6
  • Joined: Wed Nov 19, 2014 2:49 pm
  • Location: Japan

Re: "Colour Smear" in Fusion?

PostSat Dec 20, 2014 2:05 pm

Fusion's Merge centers image automatically.
In case of Boolean, Crop node(it can expands canvas size) works.

When masking with polylines, it will fit its size with masked image automatically.

example here.
Code: Select all
{
   Tools = ordered() {
      Polygon = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         NameSet = true,
         Inputs = {
            SoftEdge = Input { Value = 0.0019048, },
            MaskWidth = Input { Value = 2048, },
            MaskHeight = Input { Value = 1556, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Polyline = Input {
               Value = Polyline {
                  Closed = true,
                  Points = {
                     { X = -0.366242837790307, Y = 0.451138555538636, LX = -0.102548368991472, LY = -0.0116777246244979, RX = 0.02619695849279, RY = -0.000811019216201812, },
                     { X = -0.28763884272932, Y = 0.452264724689663, LX = -0.0253159452599385, LY = 0.0101476732355788, RX = 0.0172945883582556, RY = -0.00693238311275482, },
                     { X = -0.241867780685425, Y = 0.410094648599625, LX = -0.0152570206812985, LY = 0.0140566920300128, RX = 0.0192124086815622, RY = -0.0288792265244937, },
                     { X = -0.192679764450092, Y = 0.313799499458034, LX = -0.0163815070109034, LY = 0.032115067871042, RX = 0.00863949759340828, RY = -0.0169372727063107, },
                     { X = -0.185204610228539, Y = 0.250788629055023, LX = 0.0117512058557145, LY = 0.0339689684250993, RX = -0.0177362417913907, RY = -0.0512697883765431, },
                     { X = -0.221856981020555, Y = 0.0864374608932779, LX = 0.0467707327148522, LY = 0.104590558260643, RX = -0.00820584713506231, RY = -0.0183502391995895, },
                     { X = -0.207565486266012, Y = 0.0236937548041158, LX = -0.00908266265082238, LY = 0.0173953490986893, RX = 0.0124901508906158, RY = -0.0239214582100432, },
                     { X = -0.169464841485024, Y = -0.0473186112940311, LX = -0.0157532950758342, LY = 0.0190907131069761, RX = 0.0230322878328196, RY = -0.0279117985854379, },
                     { X = -0.091815322637558, Y = -0.111987382173538, LX = -0.0136411358589641, LY = 0.00315457366242392, RX = 0.0186676160257113, RY = -0.00431696967641108, },
                     { X = -0.0351521521806717, Y = -0.111987382173538, LX = -0.0136411343422667, LY = -4.70068064733673e-010, RX = 0.0231714908528284, RY = 7.98480506785112e-010, },
                     { X = 0.0194123815745115, Y = -0.176656156778336, LX = -0.0156965214511774, LY = 0.0323343877016389, RX = 0.0090940889679925, RY = -0.0620399561527525, },
                     { X = 0.0466946475207806, Y = -0.362776011228561, LX = 0.00209863492896518, LY = 0.0520504871941515, RX = -0.00283707093204441, RY = -0.0703652275005682, },
                     { X = 0.0645330548286438, Y = -0.572555184364319, LX = -0.0103377391199538, LY = 0.0697069728175946, RX = -0.212311997639628, RY = 0.00420609194898958, },
                     { Linear = true, X = -0.572402954101563, Y = -0.559936881065369, LX = 0.212311997639628, LY = -0.00420609194898958, RX = 0, RY = 0.101997887799918, },
                     { Linear = true, X = -0.572402954101563, Y = -0.253943204879761, LX = 0, LY = -0.101997887799918, RX = 0.012591820657149, RY = 0.147213455254347, },
                     { Linear = true, X = -0.534627497196198, Y = 0.187697157263756, LX = -0.012591820657149, LY = -0.147213455254347, RX = 0.0549585571900841, RY = 0.0885314740373127, },
                  },
               },
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 181.5, }, },
      },
      Loader1_1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "J:\\2595039332_6dd715c9cf_o.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 2,
               TimeCode = 0,
               GlobalStart = 1,
               GlobalEnd = 1,
            },
         },
         Inputs = {
            Depth = Input { Value = 2, },
            EnableClipList = Input { Value = 0, },
            EffectMask = Input {
               SourceOp = "Polygon",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 181.5, }, },
      },
      Note2 = Note {
         NameSet = true,
         Inputs = {
            Comments = Input { Value = "un-checking \"Post multiply\" & \"Multiply Gabage matte\" in MatteControl", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 639, 379.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 193, 63.3, },
         },
      },
      Note1 = Note {
         Inputs = {
            Comments = Input { Value = "With this method, image is multiplied by polyline", },
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 637, 148.5, },
            Flags = {
               Expanded = true,
            },
            Size = { 194, 63.3, },
         },
      },
      Mask_with_polyline_MethodA = Underlay {
         NameSet = true,
         ViewInfo = UnderlayInfo {
            Pos = { 440, 148.5, },
            Size = { 270, 164.3, },
         },
      },
      Polygon1 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            SoftEdge = Input { Value = 0.0019048, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 2048, },
            MaskHeight = Input { Value = 1556, },
            PixelAspect = Input { Value = { 1, 1, }, },
            ClippingMode = Input { Value = FuID { "None", }, },
            Polyline = Input {
               Value = Polyline {
                  Closed = true,
                  Points = {
                     { X = -0.366242837790307, Y = 0.451138555538636, LX = -0.102548368991472, LY = -0.0116777246244979, RX = 0.02619695849279, RY = -0.000811019216201812, },
                     { X = -0.28763884272932, Y = 0.452264724689663, LX = -0.0253159452599385, LY = 0.0101476732355788, RX = 0.0172945883582556, RY = -0.00693238311275482, },
                     { X = -0.241867780685425, Y = 0.410094648599625, LX = -0.0152570206812985, LY = 0.0140566920300128, RX = 0.0192124086815622, RY = -0.0288792265244937, },
                     { X = -0.192679764450092, Y = 0.313799499458034, LX = -0.0163815070109034, LY = 0.032115067871042, RX = 0.00863949759340828, RY = -0.0169372727063107, },
                     { X = -0.185204610228539, Y = 0.250788629055023, LX = 0.0117512058557145, LY = 0.0339689684250993, RX = -0.0177362417913907, RY = -0.0512697883765431, },
                     { X = -0.221856981020555, Y = 0.0864374608932779, LX = 0.0467707327148522, LY = 0.104590558260643, RX = -0.00820584713506231, RY = -0.0183502391995895, },
                     { X = -0.207565486266012, Y = 0.0236937548041158, LX = -0.00908266265082238, LY = 0.0173953490986893, RX = 0.0124901508906158, RY = -0.0239214582100432, },
                     { X = -0.169464841485024, Y = -0.0473186112940311, LX = -0.0157532950758342, LY = 0.0190907131069761, RX = 0.0230322878328196, RY = -0.0279117985854379, },
                     { X = -0.091815322637558, Y = -0.111987382173538, LX = -0.0136411358589641, LY = 0.00315457366242392, RX = 0.0186676160257113, RY = -0.00431696967641108, },
                     { X = -0.0351521521806717, Y = -0.111987382173538, LX = -0.0136411343422667, LY = -4.70068064733673e-010, RX = 0.0231714908528284, RY = 7.98480506785112e-010, },
                     { X = 0.0194123815745115, Y = -0.176656156778336, LX = -0.0156965214511774, LY = 0.0323343877016389, RX = 0.0090940889679925, RY = -0.0620399561527525, },
                     { X = 0.0466946475207806, Y = -0.362776011228561, LX = 0.00209863492896518, LY = 0.0520504871941515, RX = -0.00283707093204441, RY = -0.0703652275005682, },
                     { X = 0.0645330548286438, Y = -0.572555184364319, LX = -0.0103377391199538, LY = 0.0697069728175946, RX = -0.212311997639628, RY = 0.00420609194898958, },
                     { Linear = true, X = -0.572402954101563, Y = -0.559936881065369, LX = 0.212311997639628, LY = -0.00420609194898958, RX = 0, RY = 0.101997887799918, },
                     { Linear = true, X = -0.572402954101563, Y = -0.253943204879761, LX = 0, LY = -0.101997887799918, RX = 0.012591820657149, RY = 0.147213455254347, },
                     { Linear = true, X = -0.534627497196198, Y = 0.187697157263756, LX = -0.012591820657149, LY = -0.147213455254347, RX = 0.0549585571900841, RY = 0.0885314740373127, },
                  },
               },
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 412.5, }, },
      },
      MatteControl1 = MatteControl {
         Inputs = {
            MultiplyGarbageMatte = Input { Value = 0, },
            Background = Input {
               SourceOp = "Loader1_1_1",
               Source = "Output",
            },
            GarbageMatte = Input {
               SourceOp = "Polygon1",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 495, 445.5, }, },
      },
      Loader1_1_1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "J:\\2595039332_6dd715c9cf_o.jpg",
               FormatID = "JpegFormat",
               StartFrame = -1,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 2,
               TimeCode = 0,
               GlobalStart = 1,
               GlobalEnd = 1,
            },
         },
         Inputs = {
            Depth = Input { Value = 2, },
            EnableClipList = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 445.5, }, },
      },
      Mask_with_polyline_Method_B = Underlay {
         NameSet = true,
         ViewInfo = UnderlayInfo {
            Pos = { 440.5, 379.5, },
            Size = { 273, 174.3, },
         },
      },
   },
}
Offline

Vladimir LaFortune

  • Posts: 120
  • Joined: Mon Nov 17, 2014 3:37 am

Re: "Colour Smear" in Fusion?

PostSun Dec 21, 2014 5:18 am

1) LOADER_1>MatteControl1/Matte Blur by desired amount/

2) LOADER_1>MatteControl2/Matte Combine: Combine Alpha/Combine Op: Subtract

3) MatteControl1>MatteControl2

4) Use MatteControl2 as Alpha Mask on Merge
Offline
User avatar

Stefan Ihringer

  • Posts: 257
  • Joined: Mon Nov 10, 2014 10:40 pm

Re: "Colour Smear" in Fusion?

PostSun Dec 21, 2014 3:03 pm

In Fusion you reformat without scaling by simply merging over a black background. If you need to preserve aux channels, you can try crop (which if you're coming from Nuke always reformats).

I've also written a reformat Fuse. Follow the link in my sig.
blog and Fusion stuff: http://comp-fu.com/2012/06/fusion-script-macro-collection/
Offline
User avatar

Eric Westphal

  • Posts: 214
  • Joined: Thu Nov 20, 2014 1:59 pm

Re: "Colour Smear" in Fusion?

PostMon Dec 22, 2014 9:41 am

michael vorberg wrote:stepping up/down with the keyboard isnt there


Hi Michael.

Sorry to disagree, but once you have selected (i.e. activated) a slider with the mouse,
you can certainly use Left/Right-arrows to change the value.
Combine with CTRL for precision-mode...:-)


Cheers.

Eric.
my hovercraft is full of eels.
Offline
User avatar

Chad Capeland

  • Posts: 3017
  • Joined: Mon Nov 10, 2014 9:40 pm

Re: "Colour Smear" in Fusion?

PostMon Dec 22, 2014 2:27 pm

If you find yourself needing to do this a lot for a special reason, more than just a few tweaks, you can add a Preview Control via a User Control that is linked to the slider you want to affect. This would give you a "heads up" control so you aren't stuck using the tool control panel.
Chad Capeland
Indicated, LLC
www.floweffects.com
Offline

Lucas Pfaff

  • Posts: 296
  • Joined: Mon Dec 03, 2012 3:35 pm

Re: "Colour Smear" in Fusion?

PostMon Dec 22, 2014 10:49 pm

Hi there Guys,

thank you so much for all your responses!

Stefan,

I checked out the crop node, setting the clipping mode to "Frame" did the trick. Great!
I also had the idea to simply use a 2nd Merge node to use in the ChannelBooleans, that worked too when I set the Operator to "In".
Somethings are so similar, and others so different between the two applications :)
I guess I'll program myself a macro on the base of Edge Extend if that is Ok (as I had to adjust it)

Hey Eric,

man that is great news! I always tried that by clicking on the value rather than the slider, as I'd do it in Nuke. Clicking on the Slider and left/right works great, thank you, much more precise :)

Return to Fusion

Who is online

Users browsing this forum: No registered users and 43 guests