Scrolling a mask and a clip in the opposite direction

Get answers to your questions about color grading, editing and finishing with DaVinci Resolve.
  • Author
  • Message
Offline

purplemagic

  • Posts: 58
  • Joined: Tue Jan 05, 2021 9:23 pm
  • Real Name: Justin Lewis

Scrolling a mask and a clip in the opposite direction

PostSat Jan 30, 2021 2:28 am

I'm trying to scroll a stained glass to the right over a clip that scrolls to the left.

So I created a rectangular mask, transformed it to the right, and color-corrected it for the stained glass while transforming the image clip to the left with its edges wrapped around.

It works except that the stained glass starts shrinking when it reaches the edge of the clip despite that there's still room left on the screen.

What am I doing wrong here?

Thank you.
Code: Select all
{
   Tools = ordered() {
      Rectangle = RectangleMask {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            MaskWidth = Input { Value = 1280, },
            MaskHeight = Input { Value = 853, },
            PixelAspect = Input { Value = { 1, 1 }, },
            UseFrameFormatSettings = Input { Value = 1, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.127610314976482, },
            Height = Input { Value = 1.3552639767659, },
         },
         ViewInfo = OperatorInfo { Pos = { -110, -181.5 } },
      },
      Instance_Transform3 = Transform {
         SourceOp = "Transform3",
         Inputs = {
            SettingsNest = Input { },
            TransformNest = Input { },
            ReferenceSize = Input { },
            Input = Input {
               SourceOp = "Instance_MediaIn",
               Source = "Output",
            },
            CommentsNest = Input { },
            FrameRenderScriptNest = Input { },
            StartRenderScripts = Input { },
            EndRenderScripts = Input { },
            EffectMask = Input { }
         },
         ViewInfo = OperatorInfo { Pos = { 55, -49.5 } },
      },
      Path2 = PolyPath {
         DrawMode = "InsertAndModify",
         CtrlWZoom = false,
         Inputs = {
            Displacement = Input {
               SourceOp = "Path2Displacement",
               Source = "Value",
            },
            PolyLine = Input {
               Value = Polyline {
                  Points = {
                     { Linear = true, LockY = true, X = 0, Y = 0, RX = -0.0910364145658333, RY = 0 },
                     { Linear = true, LockY = true, X = -0.2731092436975, Y = 0, LX = 0.0910364145658333, LY = 0, RX = -0.0756302521008333, RY = 0 },
                     { Linear = true, LockY = true, X = -0.5, Y = 0, LX = 0.0756302521008333, LY = 0 }
                  }
               },
            },
         },
      },
      Path2Displacement = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 255 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 21.6666666666667, 0.182072829131667 }, Flags = { Linear = true, LockedY = true } },
            [65] = { 0.546218487395, LH = { 43.3333333333333, 0.364145658263333 }, RH = { 83, 0.697478991596667 }, Flags = { Linear = true, LockedY = true } },
            [119] = { 1, LH = { 101, 0.848739495798333 }, Flags = { Linear = true, LockedY = true } }
         }
      },
      ColorCorrector1 = ColorCorrector {
         Inputs = {
            WheelTintAngle1 = Input { Value = -0.00482140163591219, },
            WheelTintLength1 = Input { Value = 1, },
            ColorRanges = Input {
               Value = ColorCurves {
                  Curves = {
                     {
                        Points = {
                           { 0, 1 },
                           { 0.4, 0.2 },
                           { 0.6, 0 },
                           { 1, 0 }
                        }
                     },
                     {
                        Points = {
                           { 0, 0 },
                           { 0.4, 0 },
                           { 0.6, 0.2 },
                           { 1, 1 }
                        }
                     }
                  }
               },
            },
            HistogramIgnoreTransparent = Input { Value = 1, },
            Input = Input {
               SourceOp = "Instance_Transform3",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 220, -49.5 } },
      },
      MediaOut = MediaOut {
         NameSet = true,
         Inputs = {
            Index = Input { Value = "0", },
            Input = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 385, 16.5 } },
      },
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Transform3",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "ColorCorrector1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 220, 16.5 } },
      },
      Transform3 = Transform {
         Inputs = {
            Center = Input {
               SourceOp = "Path2",
               Source = "Position",
            },
            Size = Input { Value = 1.2, },
            Edges = Input { Value = 1, },
            Input = Input {
               SourceOp = "MediaIn",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 55, 16.5 } },
      },
      Transform2 = Transform {
         Inputs = {
            Center = Input {
               SourceOp = "Path1",
               Source = "Position",
            },
            Input = Input {
               SourceOp = "Rectangle",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { -110, -115.5 } },
      },
      Path1 = PolyPath {
         DrawMode = "InsertAndModify",
         Inputs = {
            Displacement = Input {
               SourceOp = "Path1Displacement",
               Source = "Value",
            },
            PolyLine = Input {
               Value = Polyline {
                  Points = {
                     { Linear = true, LockY = true, X = -0.5, Y = 0, RX = 0.333333333333333, RY = 0 },
                     { Linear = true, LockY = true, X = 0.5, Y = 0, LX = -0.333333333333333, LY = 0 }
                  }
               },
            },
         },
      },
      Path1Displacement = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 255 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 39.6666666666667, 0.333333333333333 }, Flags = { Linear = true, LockedY = true } },
            [119] = { 1, LH = { 79.3333333333333, 0.666666666666667 }, Flags = { Linear = true, LockedY = true } }
         }
      },
      Instance_MediaIn = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 0, MEDIA_FORMAT_TYPE = "JPEG", MEDIA_LAYER_DESC = {
               }, MEDIA_NAME = "testClip.jpg", MEDIA_HEIGHT = 853, MEDIA_PATH = "testClip.jpg", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 119, MEDIA_WIDTH = 1280, MEDIA_NUM_FRAMES = 120, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 }, },
         SourceOp = "MediaIn",
         Inputs = {
            SettingsNest = Input { },
            ["Gamut.ColorSpaceNest"] = Input { },
            ["Gamut.GammaSpaceNest"] = Input { },
            Channels = Input { },
            CommentsNest = Input { },
            FrameRenderScriptNest = Input { },
            StartRenderScripts = Input { },
            EndRenderScripts = Input { },
            EffectMask = Input {
               SourceOp = "Transform2",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { -110, -49.5 } },
      },
      MediaIn = MediaIn {
         ExtentSet = true,
         NameSet = true,
         CustomData = { MediaProps = { MEDIA_NUM_LAYERS = 0, MEDIA_FORMAT_TYPE = "JPEG", MEDIA_LAYER_DESC = {
               }, MEDIA_NAME = "testClip.jpg", MEDIA_HEIGHT = 853, MEDIA_PATH = "testClip.jpg", MEDIA_START_FRAME = 0, MEDIA_SRC_FRAME_RATE = 24, MEDIA_MARK_OUT = 119, MEDIA_WIDTH = 1280, MEDIA_NUM_FRAMES = 120, MEDIA_MARK_IN = 0, MEDIA_PAR = 1 } },
         Inputs = {
            GlobalOut = Input { Value = 119, },
            Layer = Input { Value = "0", },
            ClipTimeEnd = Input { Value = 119, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
         },
         ViewInfo = OperatorInfo { Pos = { -110, 16.5 } },
      }
   },
   ActiveTool = "Rectangle"
}
Offline

purplemagic

  • Posts: 58
  • Joined: Tue Jan 05, 2021 9:23 pm
  • Real Name: Justin Lewis

Re: Scrolling a mask and a clip in the opposite direction

PostThu Feb 04, 2021 12:47 am

Anyone?
Offline

Jim Simon

  • Posts: 34455
  • Joined: Fri Dec 23, 2016 1:47 am

Re: Scrolling a mask and a clip in the opposite direction

PostThu Feb 04, 2021 4:44 pm

Fusion is not my strong point.

Maybe ask in the dedicated Fusion forums?
My Biases:

You NEED training.
You NEED a desktop.
You NEED a calibrated (non-computer) display.

Return to DaVinci Resolve

Who is online

Users browsing this forum: Fully_Loaded34, Mads Johansen, qsipher, Robert John and 254 guests