Page 1 of 1

Scrolling a mask and a clip in the opposite direction

PostPosted: Sat Jan 30, 2021 2:28 am
by purplemagic
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"
}

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

PostPosted: Thu Feb 04, 2021 12:47 am
by purplemagic
Anyone?

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

PostPosted: Thu Feb 04, 2021 4:44 pm
by Jim Simon
Fusion is not my strong point.

Maybe ask in the dedicated Fusion forums?