Jump to: Board index » General » Fusion

Alpha Matte Help, AE user learning Fusion

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

Chris Detjen

  • Posts: 14
  • Joined: Fri Jan 22, 2016 4:28 pm
  • Location: United States

Alpha Matte Help, AE user learning Fusion

PostSat Jul 13, 2019 1:36 am

Coming from After Effects. Trying to set up a basic inverted alpha matte. I am getting close in Fusion using Channel Boolean. But have an odd issue where in the final merge, the alpha matte is showing through. The issue looks like the alpha matte is showing through as if a screen overlay. The workaround is to use the garbage matte input on a Matte Control. But, would like to learn how to build this properly using Channel Boolean. Just need to learn what are the correct operations.

I used a channel boolean to do the combining of the alpha channels. The operation is set to Subtract, "Do nothing" for the RGB, and the To Alpha is set to "Alpha FG." The alpha matte I created is piped into the boolean as the FG. The element being masked by that alpha matte is piped in as the BG. Viewing the alpha of the Boolean node shows the desired result. So, I then merge the Boolean output over a BG. That is where the alpha matte shows back as a slighty opaque overlay. Not sure what is the problem.

Need some help understanding how to create a simple inverted alpha matte. In After Effects this is super easy (using one layer's alpha as an inverted track matte). Translating that AE comp to Fusion is a bit of a quandry for me. Seems I am not understanding what exact operations are needed.

I included my fusion script below as well as a JPG showing screen grabs of my simple test build.

Code: Select all
{
   Tools = ordered() {
      Polygon2 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "Polygon2Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 247.5 } },
      },
      Polygon2Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [261] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.134093382928711, Y = 0.320463328287869, LX = 0.0528411163644777, LY = -0.0920205945808302, RX = -0.0517553359356386, RY = -0.075933078502903 },
                     { Linear = true, X = -0.289359390735626, Y = 0.0926640927791595, LX = 0.0517553359356386, LY = 0.075933078502903, RX = 0.0513934125470546, RY = -0.0984555984939541 },
                     { Linear = true, X = -0.13517914712429, Y = -0.202702701091766, LX = -0.0513934125470546, LY = 0.0984555984939541, RX = 0.0532030377630043, RY = 0.0823680818790481 },
                     { Linear = true, X = 0.0244299661647225, Y = 0.044401544545378, LX = -0.0532030377630043, LY = -0.0823680818790481, RX = -0.0528411163644777, RY = 0.0920205945808302 }
                  }
               } }
         }
      },
      foreground = TextPlus {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 401, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.363192182410423, 0.571428571428571 }, },
            StyledText = Input { Value = "FG", },
            Font = Input { Value = "Open Sans", },
            Style = Input { Value = "Bold", },
            VerticalJustificationNew = Input { Value = 3, },
            HorizontalJustificationNew = Input { Value = 3, },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 313.5 } },
      },
      Merge3 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "FG_element",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "foreground",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 313.5 } },
      },
      FG_element = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 401, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.835, },
            TopLeftGreen = Input { Value = 0.261355, },
            TopLeftBlue = Input { Value = 0.261355, },
            EffectMask = Input {
               SourceOp = "Polygon2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 247.5 } },
      },
      Text1 = TextPlus {
         Inputs = {
            GlobalOut = Input { Value = 401, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.691096634093377, 0.565637065637066 }, },
            StyledText = Input { Value = "Track Matte", },
            Font = Input { Value = "Open Sans", },
            Style = Input { Value = "Bold", },
            VerticalJustificationNew = Input { Value = 3, },
            HorizontalJustificationNew = Input { Value = 3, },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 313.5 } },
      },
      Ellipse2 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.680132450331126, 0.558823529411765 }, },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 247.5 } },
      },
      Merge4 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "TrackMatte",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 313.5 } },
      },
      TrackMatte = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 401, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.047628, },
            TopLeftGreen = Input { Value = 0.567, },
            TopLeftBlue = Input { Value = 0.105797664, },
            EffectMask = Input {
               SourceOp = "Ellipse2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 247.5 } },
      },
      BG = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 401, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Horizontal" }, },
            TopLeftRed = Input { Value = 0.764, },
            TopLeftGreen = Input { Value = 0.74300528, },
            TopLeftBlue = Input { Value = 0.239132, },
            TopRightRed = Input { Value = 0.101023, },
            TopRightGreen = Input { Value = 0.135516424, },
            TopRightBlue = Input { Value = 0.409, },
            BottomLeftRed = Input { Value = 0.228, },
            BottomLeftGreen = Input { Value = 0.092112, },
            BottomLeftBlue = Input { Value = 0.092112, },
            BottomRightRed = Input { Value = 0.275114, },
            BottomRightGreen = Input { Value = 0.374059984, },
            BottomRightBlue = Input { Value = 0.457, },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 247.5 } },
      },
      ChannelBooleans2 = ChannelBoolean {
         Inputs = {
            Operation = Input { Value = 2, },
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "Merge3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge4",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 445.5 } },
      },
      FinalMerge = Merge {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "BG",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "AlphaMultiply1",
               Source = "Output",
            },
            SubtractiveAdditive = Input { Value = 0, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 511.5 } },
      },
      AlphaMultiply1 = AlphaMultiply {
         Inputs = {
            Input = Input {
               SourceOp = "ChannelBooleans2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 511.5 } },
      }
   }
}


Image
Attachments
Alpha_Matte_Help.jpg
Alpha_Matte_Help.jpg (359.58 KiB) Viewed 1556 times
Offline

SpaceToast

  • Posts: 2
  • Joined: Sat Jul 20, 2019 3:40 am
  • Location: Boston
  • Real Name: Matt Rasmussen

Re: Alpha Matte Help, AE user learning Fusion

PostWed Jul 24, 2019 12:51 am

Hi Chris,

You've probably moved on from this, but I hate to see a question left alone. If I understand correctly, the final output you're seeking is FG with a bite taken out of it by the Track Matte circle, over the BG gradient--but you're getting Fig. 5 instead.

Unfortunately, I can't replicate Fig. 5 with your code, in either v9 or the v16 beta on Mac. (This may be why no one's responded yet!) I actually wonder if you might be having a driver issue. Perhaps try disabling "Use OpenCL" under the little atom icon (third tab) of the Channel Boolean. With or without the AlphaMultiply node, I'm getting the attached image.

At any rate, this can be done a bit more simply. The Merge node can do quite a number of composite operations by itself. If you connect the Track Matte as a Merge's background input and FG as the foreground input, you can skip the Channel Boolean entirely by setting the Merge node's Operator to "Held Out." See the code.

Hope this at least helps as a workaround.

Cheers,
Matt

Fig5.jpg
Fig5.jpg (43.61 KiB) Viewed 1504 times


Code: Select all
Composition {
   CurrentTime = 0,
   RenderRange = { 0, 0 },
   GlobalRange = { 0, 1 },
   CurrentID = 15,
   MotionBlur = false,
   PlaybackUpdateMode = 0,
   Version = "Fusion 9.0.2 build 15",
   SavedOutputs = 2,
   HeldTools = 0,
   DisabledTools = 0,
   LockedTools = 0,
   AudioOffset = 0,
   Resumable = true,
   OutputClips = {
   },
   Tools = {
      Polygon2 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "Polygon2Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 247.5 } },
      },
      Polygon2Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [261] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.134093382928711, Y = 0.320463328287869, LX = 0.0528411163644777, LY = -0.0920205945808302, RX = -0.0517553359356386, RY = -0.075933078502903 },
                     { Linear = true, X = -0.289359390735626, Y = 0.0926640927791595, LX = 0.0517553359356386, LY = 0.075933078502903, RX = 0.0513934125470546, RY = -0.0984555984939541 },
                     { Linear = true, X = -0.13517914712429, Y = -0.202702701091766, LX = -0.0513934125470546, LY = 0.0984555984939541, RX = 0.0532030377630043, RY = 0.0823680818790481 },
                     { Linear = true, X = 0.0244299661647225, Y = 0.044401544545378, LX = -0.0532030377630043, LY = -0.0823680818790481, RX = -0.0528411163644777, RY = 0.0920205945808302 }
                  }
               } }
         }
      },
      foreground = TextPlus {
         NameSet = true,
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalOut = Input { Value = 1, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.363192182410423, 0.571428571428571 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "FG", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 313.5 } },
      },
      Merge3 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "FG_element",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "foreground",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 313.5 } },
      },
      FG_element = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 1, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.835, },
            TopLeftGreen = Input { Value = 0.261355, },
            TopLeftBlue = Input { Value = 0.261355, },
            EffectMask = Input {
               SourceOp = "Polygon2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 247.5 } },
      },
      Text1 = TextPlus {
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalOut = Input { Value = 1, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.691096634093377, 0.565637065637066 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Track Matte", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 313.5 } },
      },
      Ellipse2 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.680132450331126, 0.558823529411765 }, },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 247.5 } },
      },
      Merge4 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "TrackMatte",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 313.5 } },
      },
      Merge1 = Merge {
         CtrlWZoom = false,
         Inputs = {
            Background = Input {
               SourceOp = "Merge4",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge3",
               Source = "Output",
            },
            Operator = Input { Value = FuID { "Held Out" }, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1211, 380 } },
      },
      TrackMatte = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 1, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.047628, },
            TopLeftGreen = Input { Value = 0.567, },
            TopLeftBlue = Input { Value = 0.105797664, },
            EffectMask = Input {
               SourceOp = "Ellipse2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1375, 247.5 } },
      },
      BG = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 1, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Horizontal" }, },
            TopLeftRed = Input { Value = 0.764, },
            TopLeftGreen = Input { Value = 0.74300528, },
            TopLeftBlue = Input { Value = 0.239132, },
            TopRightRed = Input { Value = 0.101023, },
            TopRightGreen = Input { Value = 0.135516424, },
            TopRightBlue = Input { Value = 0.409, },
            BottomLeftRed = Input { Value = 0.228, },
            BottomLeftGreen = Input { Value = 0.092112, },
            BottomLeftBlue = Input { Value = 0.092112, },
            BottomRightRed = Input { Value = 0.275114, },
            BottomRightGreen = Input { Value = 0.374059984, },
            BottomRightBlue = Input { Value = 0.457, },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 247.5 } },
      },
      FinalMerge = Merge {
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "BG",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            SubtractiveAdditive = Input { Value = 0, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 511.5 } },
      },
      ChannelBooleans2 = ChannelBoolean {
         Inputs = {
            Operation = Input { Value = 2, },
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "Merge3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge4",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 445.5 } },
      },
      AlphaMultiply1 = AlphaMultiply {
         Inputs = {
            Input = Input {
               SourceOp = "ChannelBooleans2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1210, 511.5 } },
      }
   },
   Views = {
      {
         FrameTypeID = "ChildFrame",
         Mode = 3,
         LayoutPreset = 0,
         Left = 0,
         Top = 27,
         Width = 1680,
         Height = 859,
         Views = ordered() {
            Main = MultiView {
               Active = "Flow",
               ViewList = ordered() {
                  Flow = "FlowView",
                  Console = "ConsoleView",
                  Timeline = "TimelineView",
                  Spline = "SplineEditorView",
                  Info = "InfoView",
                  Chat = "ChatView"
               },
               Flow = FlowView {
                  Flags = {
                     AutoHideNavigator = true,
                     AutoSnap = true,
                     RemoveRouters = true
                  },
                  NavigatorSize = { 200, 140 },
                  Direction = "Horizontal",
                  PipeStyle = "Direct",
                  Scale = 1,
                  Offset = { -547, -167 }
               },
               Timeline = TimelineView {
                  TreeControlState = {
                  },
                  DisplayMode = "All Tools",
                  ShowCurrentTimeTools = false,
                  Filter = "Show All",
                  ShowSelectedTools = false,
                  ShowAnimatedToolsOnly = false,
                  ShowEditBoxes = false,
                  KeyFrameView = {
                     Position = { Left = 150, Bottom = 350 },
                     ScaleX = 0.00214424951267057,
                     OffsetX = -0.0514619883040936,
                     OffsetY = 0,
                     AutoScaling = "scroll",
                     AutoSnapTo = "frame",
                     AutoSnapToGuidelines = false,
                     GuidelinesGrabEnabled = true,
                     GuidelinesSnapTo = "frame"
                  },
                  Spreadsheet = { LeftPos = 150, Visible = false }
               },
               Spline = SplineEditorView {
                  LeftPos = 238,
                  ScaleX = 0.2,
                  ScaleY = 0.00338983050847458,
                  OffsetX = -4,
                  OffsetY = 0,
                  AutoScaling = "scroll",
                  AutoSnapTo = "frame",
                  AutoSnapToGuidelines = false,
                  GuidelinesSnapTo = "frame",
                  ShowKeyMarkers = false,
                  IndependentHandles = false,
                  ShowNonSplineModifiers = false,
                  GuidelinesGrabEnabled = true,
                  ShowOneToolOnly = false,
                  ShowSelectedTools = false,
                  ShowAllInputs = false,
                  Filter = "Show All"
               },
            },
            Controls = MultiView {
               Active = "Tools",
               ViewList = ordered() {
                  Tools = "ControlView",
                  Modifiers = "ModifierView"
               },
            },
            Left = "PreviewContainer",
            Right = "PreviewContainer",
            Transport = "TransportView",
            Time = "TimeView"
         },
         Layout = {
            Columns = 2,
            RatioX = 1,
            RatioY = 1,
            {
               Rows = 3,
               RatioX = 0.794626865671642,
               RatioY = 100,
               {
                  Columns = 2,
                  RatioX = 1,
                  RatioY = 0.465962441314554,
                  { ID = "Left", RatioX = 0.5, RatioY = 100, Pop = true },
                  { ID = "Right", RatioX = 0.5, Pop = true },
                  Pop = true
               },
               { ID = "Main", RatioY = 0.465962441314554, Pop = true },
               { ID = "Time", SnapY = 56, Flat = true }
            },
            {
               Rows = 2,
               PixelX = 342,
               { ID = "Controls", RatioX = 1, RatioY = 1 },
               { ID = "Transport", FixedY = -2 }
            }
         }
      }
   },
   Prefs = {
      Comp = {
         Views = {
            Right = {
               Viewer = {
               },
            },
            Left = {
               Viewer = {
               },
            },
            View1 = {
            },
         },
         Unsorted = {
            GlobalEnd = 1
         },
         Paths = {
         },
         QuickTime = {
         },
      }
   }
}

Offline

Orlando Esponda

  • Posts: 27
  • Joined: Mon Aug 21, 2017 7:49 pm
  • Location: Mexico City

Re: Alpha Matte Help, AE user learning Fusion

PostWed Jul 24, 2019 10:50 pm

Two solutions:

Code: Select all
{
   Tools = ordered() {
      Solution2 = Note {
         NameSet = true,
         Inputs = {
            Comments = Input { Value = "Just use a merge node set to Held Out. Be aware you need to check the order of the inputs for this to work. In your example the circle needs to be the foreground. ", }
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 1705, 445.5 },
            Flags = {
               Expanded = true
            },
            Size = { 504.019, 153.696 }
         },
      },
      Merge1_1 = Merge {
         CtrlWZoom = false,
         Inputs = {
            Background = Input {
               SourceOp = "Merge4_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge3_1",
               Source = "Output",
            },
            Operator = Input { Value = FuID { "Held Out" }, },
            SubtractiveAdditive = Input { Value = 0, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1980, 379.5 } },
      },
      FinalMerge_1 = Merge {
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "BG_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1_1",
               Source = "Output",
            },
            SubtractiveAdditive = Input { Value = 0, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 2145, 379.5 } },
      },
      FinalMerge = Merge {
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "BG",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "BrightnessContrast1",
               Source = "Output",
            },
            SubtractiveAdditive = Input { Value = 0, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 379.5 } },
      },
      Solution1 = Note {
         NameSet = true,
         Inputs = {
            Comments = Input { Value = "The problem is you have negative values in yout alpha. To avoid this you can add a BC tool, uncheck the color check boxes and check the alpha box, then clamp the values with the clip Black and clip White check boxes.", }
         },
         ViewInfo = StickyNoteInfo {
            Pos = { 770, 445.5 },
            Flags = {
               Expanded = true
            },
            Size = { 506.451, 163.836 }
         },
      },
      foreground_1 = TextPlus {
         NameSet = true,
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.363192182410423, 0.571428571428571 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "FG", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 181.5 } },
      },
      Text1_1 = TextPlus {
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.691096634093377, 0.565637065637066 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Track Matte", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1870, 181.5 } },
      },
      Text1 = TextPlus {
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.691096634093377, 0.565637065637066 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Track Matte", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 181.5 } },
      },
      ChannelBooleans2 = ChannelBoolean {
         Inputs = {
            Operation = Input { Value = 2, },
            ToRed = Input { Value = 4, },
            ToGreen = Input { Value = 4, },
            ToBlue = Input { Value = 4, },
            Background = Input {
               SourceOp = "Merge3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge4",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 313.5 } },
      },
      AlphaMultiply1 = AlphaMultiply {
         Inputs = {
            Input = Input {
               SourceOp = "ChannelBooleans2",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 346.5 } },
      },
      BrightnessContrast1 = BrightnessContrast {
         Inputs = {
            Red = Input { Value = 0, },
            Green = Input { Value = 0, },
            Blue = Input { Value = 0, },
            Alpha = Input { Value = 1, },
            ClipBlack = Input { Value = 1, },
            ClipWhite = Input { Value = 1, },
            Input = Input {
               SourceOp = "AlphaMultiply1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 379.5 } },
      },
      Merge4 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "TrackMatte",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 181.5 } },
      },
      Merge3_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "FG_element_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "foreground_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1650, 181.5 } },
      },
      Merge4_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "TrackMatte_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 1980, 181.5 } },
      },
      BG = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Horizontal" }, },
            TopLeftRed = Input { Value = 0.764, },
            TopLeftGreen = Input { Value = 0.74300528, },
            TopLeftBlue = Input { Value = 0.239132, },
            TopRightRed = Input { Value = 0.101023, },
            TopRightGreen = Input { Value = 0.135516424, },
            TopRightBlue = Input { Value = 0.409, },
            BottomLeftRed = Input { Value = 0.228, },
            BottomLeftGreen = Input { Value = 0.092112, },
            BottomLeftBlue = Input { Value = 0.092112, },
            BottomRightRed = Input { Value = 0.275114, },
            BottomRightGreen = Input { Value = 0.374059984, },
            BottomRightBlue = Input { Value = 0.457, },
         },
         ViewInfo = OperatorInfo { Pos = { 1265, 115.5 } },
      },
      BG_1 = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Horizontal" }, },
            TopLeftRed = Input { Value = 0.764, },
            TopLeftGreen = Input { Value = 0.74300528, },
            TopLeftBlue = Input { Value = 0.239132, },
            TopRightRed = Input { Value = 0.101023, },
            TopRightGreen = Input { Value = 0.135516424, },
            TopRightBlue = Input { Value = 0.409, },
            BottomLeftRed = Input { Value = 0.228, },
            BottomLeftGreen = Input { Value = 0.092112, },
            BottomLeftBlue = Input { Value = 0.092112, },
            BottomRightRed = Input { Value = 0.275114, },
            BottomRightGreen = Input { Value = 0.374059984, },
            BottomRightBlue = Input { Value = 0.457, },
         },
         ViewInfo = OperatorInfo { Pos = { 2145, 115.5 } },
      },
      TrackMatte = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.047628, },
            TopLeftGreen = Input { Value = 0.567, },
            TopLeftBlue = Input { Value = 0.105797664, },
            EffectMask = Input {
               SourceOp = "Ellipse2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1045, 82.5 } },
      },
      FG_element_1 = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.835, },
            TopLeftGreen = Input { Value = 0.261355, },
            TopLeftBlue = Input { Value = 0.261355, },
            EffectMask = Input {
               SourceOp = "Polygon2_1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1650, 82.5 } },
      },
      TrackMatte_1 = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.047628, },
            TopLeftGreen = Input { Value = 0.567, },
            TopLeftBlue = Input { Value = 0.105797664, },
            EffectMask = Input {
               SourceOp = "Ellipse2_1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 1980, 82.5 } },
      },
      FG_element = Background {
         NameSet = true,
         Inputs = {
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.835, },
            TopLeftGreen = Input { Value = 0.261355, },
            TopLeftBlue = Input { Value = 0.261355, },
            EffectMask = Input {
               SourceOp = "Polygon2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 715, 82.5 } },
      },
      Merge3 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "FG_element",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "foreground",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 715, 181.5 } },
      },
      Ellipse2 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.680132450331126, 0.558823529411765 }, },
         },
         ViewInfo = OperatorInfo { Pos = { 935, 82.5 } },
      },
      Polygon2_1 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "Polygon2_1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 1540, 82.5 } },
      },
      Polygon2_1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [261] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.134093382928711, Y = 0.320463328287869, LX = 0.0528411163644777, LY = -0.0920205945808302, RX = -0.0517553359356386, RY = -0.075933078502903 },
                     { Linear = true, X = -0.289359390735626, Y = 0.0926640927791595, LX = 0.0517553359356386, LY = 0.075933078502903, RX = 0.0513934125470546, RY = -0.0984555984939541 },
                     { Linear = true, X = -0.13517914712429, Y = -0.202702701091766, LX = -0.0513934125470546, LY = 0.0984555984939541, RX = 0.0532030377630043, RY = 0.0823680818790481 },
                     { Linear = true, X = 0.0244299661647225, Y = 0.044401544545378, LX = -0.0532030377630043, LY = -0.0823680818790481, RX = -0.0528411163644777, RY = 0.0920205945808302 }
                  }
               } }
         }
      },
      Ellipse2_1 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.680132450331126, 0.558823529411765 }, },
         },
         ViewInfo = OperatorInfo { Pos = { 1870, 82.5 } },
      },
      foreground = TextPlus {
         NameSet = true,
         Inputs = {
            HorizontalJustificationNew = Input { Value = 3, },
            VerticalJustificationNew = Input { Value = 3, },
            GlobalIn = Input { Value = 1, },
            GlobalOut = Input { Value = 300, },
            UseFrameFormatSettings = Input { Value = 1, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Center = Input { Value = { 0.363192182410423, 0.571428571428571 }, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "FG", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 605, 181.5 } },
      },
      Polygon2 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "Polygon2Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 605, 82.5 } },
      },
      Polygon2Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [261] = { 0, Flags = { Linear = true, LockedY = true }, Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.134093382928711, Y = 0.320463328287869, LX = 0.0528411163644777, LY = -0.0920205945808302, RX = -0.0517553359356386, RY = -0.075933078502903 },
                     { Linear = true, X = -0.289359390735626, Y = 0.0926640927791595, LX = 0.0517553359356386, LY = 0.075933078502903, RX = 0.0513934125470546, RY = -0.0984555984939541 },
                     { Linear = true, X = -0.13517914712429, Y = -0.202702701091766, LX = -0.0513934125470546, LY = 0.0984555984939541, RX = 0.0532030377630043, RY = 0.0823680818790481 },
                     { Linear = true, X = 0.0244299661647225, Y = 0.044401544545378, LX = -0.0532030377630043, LY = -0.0823680818790481, RX = -0.0528411163644777, RY = 0.0920205945808302 }
                  }
               } }
         }
      }
   }
}

Return to Fusion

Who is online

Users browsing this forum: sdfsadfdfsafads and 38 guests