Jump to: Board index » General » Fusion

Update to Grid Tool?

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

brunocbreis

  • Posts: 52
  • Joined: Fri Jun 21, 2019 8:54 pm
  • Real Name: Bruno Reis

Update to Grid Tool?

PostSun Apr 04, 2021 9:18 pm

I find the Grid tool in Fusion to be a hidden little gem, but I think it could do with a couple of updates!

I would love to be able to change grid opacity and maybe have a little more control over line widths, but meanwhile I created a macro that allows for adding column and row gutter – if you guys have been experimenting with Fusion for some motion graphics work like I have, I'm sure you'll appreciate it. :D

Well, here it is:

Code: Select all
{
   Tools = ordered() {
      GutterGrid1 = MacroOperator {
         Inputs = ordered() {
            Input1 = InstanceInput {
               SourceOp = "gridres",
               Source = "Width",
               Name = "Grid Width",
               Default = 1920,
            },
            Input2 = InstanceInput {
               SourceOp = "gridres",
               Source = "Height",
               Name = "Grid Height",
               Default = 1080,
            },
            Input3 = InstanceInput {
               SourceOp = "gridres",
               Source = "UseFrameFormatSettings",
               Name = "Auto Grid Size",
               Default = 1,
            },
            Input4 = InstanceInput {
               SourceOp = "v1",
               Source = "hornum",
               Name = "Columns",
               MaxScale = 36,
               Default = 12,
            },
            Input5 = InstanceInput {
               SourceOp = "v1",
               Source = "pan",
               Name = "Column Gutter",
               MinScale = 0,
               MaxScale = 0.025,
               Default = 0.006,
            },
            Input6 = InstanceInput {
               SourceOp = "h1",
               Source = "vernum",
               Name = "Rows",
               MaxScale = 36,
               Default = 6,
            },
            Input7 = InstanceInput {
               SourceOp = "h1",
               Source = "tilt",
               Name = "Row Gutter",
               MinScale = 0,
               MaxScale = 0.025,
               Default = 0.0106666666667,
            },
            Input8 = InstanceInput {
               SourceOp = "gridcolor",
               Source = "TopLeftRed",
               Name = "Grid Color",
               ControlGroup = 8,
               Default = 1,
            },
            Input9 = InstanceInput {
               SourceOp = "gridcolor",
               Source = "TopLeftGreen",
               ControlGroup = 8,
               Default = 1,
            },
            Input10 = InstanceInput {
               SourceOp = "gridcolor",
               Source = "TopLeftBlue",
               ControlGroup = 8,
               Default = 1,
            },
            Input11 = InstanceInput {
               SourceOp = "gridcolor",
               Source = "TopLeftAlpha",
               ControlGroup = 8,
               Default = 1,
            },
            MainInput1 = InstanceInput {
               SourceOp = "MergeGrid",
               Source = "Background",
            },
            EffectMask = InstanceInput {
               SourceOp = "MergeGrid",
               Source = "EffectMask",
            }
         },
         Outputs = {
            MainOutput1 = InstanceOutput {
               SourceOp = "MergeGrid",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo { Pos = { 0, 0 } },
         Tools = ordered() {
            gridres = Background {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Width = Input { Value = 1920, },
                  Height = Input { Value = 1080, },
                  UseFrameFormatSettings = Input { Value = 1, },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 181.5 } },
            },
            v1 = ofx.com.blackmagicdesign.resolvefx.Grid {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Source = Input {
                     SourceOp = "gridres",
                     Source = "Output",
                  },
                  vernum = Input { Value = 1, },
                  hornum = Input { Value = 12, },
                  majorspace = Input { Value = 3, },
                  lineprop = Input { Value = 1, },
                  linecolorRed = Input { Value = 1, },
                  linecolorGreen = Input { Value = 1, },
                  linecolorBlue = Input { Value = 1, },
                  horwidth = Input { Value = 0, },
                  verwidth = Input { Value = 0.0050000000745, },
                  majorwidth = Input { Value = 1, },
                  tranform = Input { Value = 1, },
                  pan = Input { Value = 0.006, },
                  tilt = Input { Value = 0, },
                  zoom = Input { Value = 1, },
                  rotate = Input { Value = 0, },
                  gridwidth = Input {
                     Value = 1.012,
                     Expression = "1+pan*2",
                  },
                  gridheight = Input {
                     Value = 1.02133333333333,
                     Expression = "h1.gridheight",
                  },
                  ShearX = Input { Value = 0, },
                  ShearY = Input { Value = 0, },
                  pitch = Input { Value = 0, },
                  yaw = Input { Value = 0, },
                  blendGroup = Input { Value = 0, },
                  blendIn = Input { Value = 1, },
                  blend = Input { Value = 0, },
                  ignoreContentShape = Input { Value = 0, },
                  legacyIsProcessRGBOnly = Input { Value = 0, },
                  refreshTrigger = Input { Value = 1, },
                  resolvefxVersion = Input { Value = "1.0", },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 214.5 } },
            },
            v2 = ofx.com.blackmagicdesign.resolvefx.Grid {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Source = Input {
                     SourceOp = "v1",
                     Source = "Output",
                  },
                  vernum = Input { Value = 1, },
                  hornum = Input {
                     Value = 12,
                     Expression = "v1.hornum",
                  },
                  majorspace = Input { Value = 3, },
                  lineprop = Input { Value = 1, },
                  linecolorRed = Input { Value = 1, },
                  linecolorGreen = Input { Value = 1, },
                  linecolorBlue = Input { Value = 1, },
                  horwidth = Input { Value = 0, },
                  verwidth = Input { Value = 0.0050000000745, },
                  majorwidth = Input { Value = 1, },
                  tranform = Input { Value = 1, },
                  pan = Input {
                     Value = -0.006,
                     Expression = "-v1.pan",
                  },
                  tilt = Input { Value = 0, },
                  zoom = Input { Value = 1, },
                  rotate = Input { Value = 0, },
                  gridwidth = Input {
                     Value = 1.012,
                     Expression = "v1.gridwidth",
                  },
                  gridheight = Input {
                     Value = 1.02133333333333,
                     Expression = "h1.gridheight",
                  },
                  ShearX = Input { Value = 0, },
                  ShearY = Input { Value = 0, },
                  pitch = Input { Value = 0, },
                  yaw = Input { Value = 0, },
                  blendGroup = Input { Value = 0, },
                  blendIn = Input { Value = 1, },
                  blend = Input { Value = 0, },
                  ignoreContentShape = Input { Value = 0, },
                  legacyIsProcessRGBOnly = Input { Value = 0, },
                  refreshTrigger = Input { Value = 1, },
                  resolvefxVersion = Input { Value = "1.0", },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 247.5 } },
            },
            h1 = ofx.com.blackmagicdesign.resolvefx.Grid {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Source = Input {
                     SourceOp = "v2",
                     Source = "Output",
                  },
                  vernum = Input { Value = 6, },
                  hornum = Input { Value = 1, },
                  majorspace = Input { Value = 3, },
                  lineprop = Input { Value = 1, },
                  linecolorRed = Input { Value = 1, },
                  linecolorGreen = Input { Value = 1, },
                  linecolorBlue = Input { Value = 1, },
                  horwidth = Input { Value = 0.0050000000745, },
                  verwidth = Input { Value = 0, },
                  majorwidth = Input { Value = 1, },
                  tranform = Input { Value = 1, },
                  pan = Input { Value = 0, },
                  tilt = Input { Value = 0.0106666666667, },
                  zoom = Input { Value = 1, },
                  rotate = Input { Value = 0, },
                  gridwidth = Input {
                     Value = 1.012,
                     Expression = "v1.gridwidth",
                  },
                  gridheight = Input {
                     Value = 1.02133333333333,
                     Expression = "1+tilt*2",
                  },
                  ShearX = Input { Value = 0, },
                  ShearY = Input { Value = 0, },
                  pitch = Input { Value = 0, },
                  yaw = Input { Value = 0, },
                  blendGroup = Input { Value = 0, },
                  blendIn = Input { Value = 1, },
                  blend = Input { Value = 0, },
                  ignoreContentShape = Input { Value = 0, },
                  legacyIsProcessRGBOnly = Input { Value = 0, },
                  refreshTrigger = Input { Value = 1, },
                  resolvefxVersion = Input { Value = "1.0", },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 280.5 } },
            },
            h2 = ofx.com.blackmagicdesign.resolvefx.Grid {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Source = Input {
                     SourceOp = "h1",
                     Source = "Output",
                  },
                  vernum = Input {
                     Value = 6,
                     Expression = "h1.vernum",
                  },
                  hornum = Input { Value = 1, },
                  majorspace = Input { Value = 3, },
                  lineprop = Input { Value = 1, },
                  linecolorRed = Input { Value = 1, },
                  linecolorGreen = Input { Value = 1, },
                  linecolorBlue = Input { Value = 1, },
                  horwidth = Input { Value = 0.0050000000745, },
                  verwidth = Input { Value = 0, },
                  majorwidth = Input { Value = 1, },
                  tranform = Input { Value = 1, },
                  pan = Input { Value = 0, },
                  tilt = Input {
                     Value = -0.0106666666666667,
                     Expression = "-h1.tilt",
                  },
                  zoom = Input { Value = 1, },
                  rotate = Input { Value = 0, },
                  gridwidth = Input {
                     Value = 1.012,
                     Expression = "v1.gridwidth",
                  },
                  gridheight = Input {
                     Value = 1.02133333333333,
                     Expression = "h1.gridheight",
                  },
                  ShearX = Input { Value = 0, },
                  ShearY = Input { Value = 0, },
                  pitch = Input { Value = 0, },
                  yaw = Input { Value = 0, },
                  blendGroup = Input { Value = 0, },
                  blendIn = Input { Value = 1, },
                  blend = Input { Value = 0, },
                  ignoreContentShape = Input { Value = 0, },
                  legacyIsProcessRGBOnly = Input { Value = 0, },
                  refreshTrigger = Input { Value = 1, },
                  resolvefxVersion = Input { Value = "1.0", },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 313.5 } },
            },
            freeze_grid = TimeStretcher {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  SourceTime = Input {
                     Value = 0,
                     Expression = "comp.RenderStart",
                  },
                  Input = Input {
                     SourceOp = "h2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 346.5 } },
            },
            Bitmap1 = BitmapMask {
               CtrlWShown = false,
               Inputs = {
                  Filter = Input { Value = FuID { "Fast Gaussian" }, },
                  MaskWidth = Input { Value = 1920, },
                  MaskHeight = Input { Value = 1080, },
                  PixelAspect = Input { Value = { 1, 1 }, },
                  UseFrameFormatSettings = Input { Value = 1, },
                  ClippingMode = Input { Value = FuID { "None" }, },
                  Image = Input {
                     SourceOp = "freeze_grid",
                     Source = "Output",
                  },
                  Channel = Input { Value = FuID { "Luminance" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 379.5 } },
            },
            gridcolor = Background {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  EffectMask = Input {
                     SourceOp = "Bitmap1",
                     Source = "Mask",
                  },
                  Width = Input {
                     Value = 1920,
                     Expression = "gridres.Width",
                  },
                  Height = Input {
                     Value = 1080,
                     Expression = "gridres.Height",
                  },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
                  TopLeftRed = Input { Value = 1, },
                  TopLeftGreen = Input { Value = 1, },
                  TopLeftBlue = Input { Value = 1, },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 412.5 } },
            },
            MergeGrid = Merge {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Foreground = Input {
                     SourceOp = "gridcolor",
                     Source = "Output",
                  },
                  PerformDepthMerge = Input { Value = 0, },
               },
               ViewInfo = OperatorInfo { Pos = { 2255, 445.5 } },
            }
         },
      }
   },
   ActiveTool = "GutterGrid1"
}


Hope it helps somebody!
MacBook Pro 16-inch (2019)
2.3GHz 8-Core Intel Core i9
64GB DDR4 RAM
AMD Radeon Pro 5500M 8GB GPU
DVR Studio 17.2

Return to Fusion

Who is online

Users browsing this forum: No registered users and 6 guests