Breaking out of a mask shape

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

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Breaking out of a mask shape

PostSat Apr 26, 2025 5:32 pm

Dear DaVinci People,
I would like to have a circular mask on an image of microscopic cells. Seems like I can easily do this in the Color page, the Fusion page, or even with a transform effect. However, I would then like to have the image of cells gradually expand from this mask, like a growing virus. I can't seem to find a way to do this. Zooming in of course only makes the circle bigger. Keyframing the softness does pretty much the same thing.
I'd like to create the effect of the cells breaking the circle-boundaries unevenly (moving outwards from the center), like a liquid that is being spilled. Any tips on how to achieve this?
Or how to even find tutorials on this?
Any and all help would be much appreciated.
Thanks!
Offline

Jim Simon

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

Re: Breaking out of a mask shape

PostMon Apr 28, 2025 3:33 pm

The only idea that comes to mind is the tedious task of manually keyframing a Polygon mask over the duration of the clip, much like Rotoscope work of old.
My Biases:

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

KrunoSmithy

  • Posts: 4573
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Warnings: 1
  • Real Name: Kruno Stifter

Re: Breaking out of a mask shape

PostMon Apr 28, 2025 4:26 pm

Not sure if this is what you are looking for, but you could use fast noise to generate random pattern, and combine it with circular mask, and bit of adding and sub-tracking masks, and you can than get something like this.

fusionrocks.gif
fusionrocks.gif (247.97 KiB) Viewed 1218 times


sshot-1219.jpg
sshot-1219.jpg (172.47 KiB) Viewed 1218 times


sshot-1220.jpg
sshot-1220.jpg (72.01 KiB) Viewed 1218 times


Copy this code to your clipboard, and paste it in the empty space of the fusion node flow. Node scan be carried over as text. You will need to replace my image with your own but mask should work same as on my end. You can than adjust speed, shape etc.

Code: Select all
{
   Tools = ordered() {
      Background4 = Background {
         Inputs = {
            GlobalOut = Input { Value = 120, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            Depth = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Gradient" }, },
            GradientType = Input { Value = FuID { "Radial" }, },
            Start = Input { Value = { 0.5, 0.5 }, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0.333333333333333, 0, 0, 1 },
                     [1] = { 0, 0, 0, 1 }
                  }
               },
            }
         },
         ViewInfo = OperatorInfo { Pos = { -58.1009, 147.837 } },
      },
      Loader1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "E:\\Green Screen\\--- images\\pexels-turek3024-10448365.jpg",
               FormatID = "JpegFormat",
               StartFrame = 10448365,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         HoldOutput = true,
         CtrlWZoom = false,
         Inputs = {
            ["Clip1.PNGFormat.PostMultiply"] = Input {
               Value = Number {
                  Value = 1
               },
            }
         },
         ViewInfo = OperatorInfo { Pos = { -63.2352, 58.4702 } },
         UserControls = ordered() {
            MakeLocal = {
               INP_Default = 0,
               INPID_InputControl = "ButtonControl",
               BTNCS_Execute = "                  args = { tool = comp.ActiveTool, copyTree = true }\n                  path = comp:MapPath(\"Scripts:support/Loader_MakeLocal.lua\")\n                  comp:RunScript(path, args)\n               ",
               IC_ControlPage = 0,
               LINKID_DataType = "Number",
               LINKS_Name = "Make Local",
            }
         }
      },
      Letterbox1 = Letterbox {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            HiQOnly = Input { Value = 0, },
            Input = Input {
               SourceOp = "Loader1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 154.726, 58.4702 } },
      },
      Instance_Ellipse1 = EllipseMask {
         SourceOp = "Ellipse1",
         Inputs = {
            SettingsNest = Input {
            },
            LayersNest = Input {
            },
            SoftEdge = Input {
               Value = 0.0913,
            },
            Invert = Input {
            },
            Height = Input { Expression = "Width", },
            CommentsNest = Input {
            },
            FrameRenderScriptNest = Input {
            },
            StartRenderScripts = Input {
            },
            EndRenderScripts = Input {
            },
            EffectMask = Input {
            }
         },
         ViewInfo = OperatorInfo { Pos = { -81.8052, -93.0801 } },
      },
      Ellipse1Width = BezierSpline {
         SplineColor = { Red = 225, Green = 255, Blue = 0 },
         CtrlWZoom = false,
         NameSet = true,
         KeyFrames = {
            [0] = { 0.3, RH = { 40, 0.3 } },
            [120] = { 1.228, LH = { 80, 1.228 } }
         }
      },
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalOut = Input { Value = 120, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 2.13, },
            Contrast = Input { Value = 20, },
            Brightness = Input { Value = -1, },
            XScale = Input { Value = 11.81, },
            Inverted = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { 770.017, -179.282 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0961, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input {
               SourceOp = "Ellipse1Width",
               Source = "Value",
            },
            Height = Input {
               Value = 1.228,
               Expression = "Width",
            }
         },
         ViewInfo = OperatorInfo { Pos = { -85.7525, -179.282 } },
      },
      MatteControl2_1 = MatteControl {
         Inputs = {
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            ApplyMaskInverted = Input { Value = 1, },
            MultiplyByMask = Input { Value = 1, },
            MatteCombine = Input { Value = 4, },
            CombineOp = Input { Value = 3, },
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            InvertMatte = Input { Value = 1, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            },
            PostMultiplyImage = Input { Value = 1, },
            Background = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 507.274, -179.282 } },
      },
      MatteControl2 = MatteControl {
         Inputs = {
            MatteCombine = Input { Value = 4, },
            CombineOp = Input { Value = 7, },
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            PostMultiplyImage = Input { Value = 1, },
            Background = Input {
               SourceOp = "Instance_Ellipse1",
               Source = "Mask",
            },
            Foreground = Input {
               SourceOp = "MatteControl2_1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 507.274, -93.0801 } },
      },
      BrightnessContrast1 = BrightnessContrast {
         Inputs = {
            Alpha = Input { Value = 1, },
            Contrast = Input { Value = 1, },
            Low = Input { Value = 0.406, },
            High = Input { Value = 0.489, },
            ClipBlack = Input { Value = 1, },
            PreDividePostMultiply = Input { Value = 1, },
            Input = Input {
               SourceOp = "MatteControl2",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 532.906, 147.837 } },
      },
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background4",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Letterbox1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
            EffectMask = Input {
               SourceOp = "BrightnessContrast1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 154.726, 147.837 } },
      }
   }
}


..........................

If you want something more realistic or more fancy, you can use particle system in fusion to build little the "scene" and than you would have more believable and fancy version of this.
Offline

Jim Simon

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

Re: Breaking out of a mask shape

PostMon Apr 28, 2025 5:15 pm

Oh, that's much easier. :)
My Biases:

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

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Re: Breaking out of a mask shape

PostMon Apr 28, 2025 8:16 pm

Oh my god, KrunoSmithy, that's exactly what I was looking for!!
This is amazing. Thank you! I'm such a Fusion noob, I honestly can't figure that stuff out.

I've copy pasted the code into the node space.
I can't seem to get it to do what it did for you though...
Maybe because I can't replace the letterbox with media?
I've dragged my media into the node space and reconnected it to the letterbox, but I'm not sure what the letterbox is linking to and how I could replace that one?

Image

I'm doing something wrong here, but can't see it.
Very very excited about trying this though, if I can get it to do what it did for you, it's gonna be a lifesaver.
Thanks so much!

(I swear this reminds me of old internet days when there was just forums and people helping each other out. It's a bit faith-restoring. Thank you.)
Offline
User avatar

KrunoSmithy

  • Posts: 4573
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Warnings: 1
  • Real Name: Kruno Stifter

Re: Breaking out of a mask shape

PostMon Apr 28, 2025 11:11 pm

Twinklybird wrote:Oh my god, KrunoSmithy, that's exactly what I was looking for!!
This is amazing. Thank you! I'm such a Fusion noob, I honestly can't figure that stuff out.

(I swear this reminds me of old internet days when there was just forums and people helping each other out. It's a bit faith-restoring. Thank you.)


No problem. Glad to help.

Twinklybird wrote: I've copy pasted the code into the node space.
I can't seem to get it to do what it did for you though...
Maybe because I can't replace the letterbox with media?

I've dragged my media into the node space and reconnected it to the letterbox, but I'm not sure what the letterbox is linking to and how I could replace that one?


Looking at the image you posted, everything is connected correctly it seems, but you have strange frame numbers in two thousand and something etc. I've used 0 frame to 120 for keyframing the elipse mask expanding.

Probably you are not seeing anything because of the difference in frame. I assume you would start from frame zero.

If that indeed is the only problem, you can do several things.

You can either apply the effect in the composition starting from frame 0 and having more than 120 frames long. For example 250 frames should be enough.

Or you can move the keyframes I've animated in the keyframe editor. or you can do a simple elipse1 animation of the mask expanding in width. I've linked width and height paramterars so they expand at the same time. Elipse2 is an instance of elipse1. Essentially a clone. so if you animate first one the second should also work.

Try that and see if its working.

It should be otherwise pretty straighforward as you have connected it.

As for letterbox. Its just there because originally I used image that is too large for the canvas and of wrong aspect ratio, so letterbox tool is just resizing it to 1080p and than I could choose mode operation in the letterbox tool.

Mode

This control is used to determine the Letterbox node’s mode of operation.

- Letterbox/Envelope: This corrects the aspect of the input image and resizes it to match the specified width.

- Pan-and-Scan: This corrects the aspect of the input image and resizes it to match the specified height. If the resized input image is wider than the specified width, the Center control can be used to animate the visible portion of the resized input.

Use the Letterbox node to adapt existing images to the frame size and aspect ratios of any other format. The most common use of this node is to convert film resolution images to HD-sized frames for viewing on an external television monitor. Horizontal or vertical black edges are automatically added where necessary to compensate for aspect ratio differences. This node actually changes the resolution of the image.

If your input image is already sized correctly to match the working canvas size, in my case 1080p than you can connect your image directly to merge1 and ignore letterbox. otherwise its a useful tool if you have images of differnt aspect ratios.

As you can see, any image of video I give it should easily work. Its just mask expanding. But to make sure all is working, start from frame zero, or alternatively move or re-do elipse1 keyframes. That is the only thing animated.

sshot-1221.jpg
sshot-1221.jpg (205.03 KiB) Viewed 1116 times


sshot-1222.jpg
sshot-1222.jpg (246.92 KiB) Viewed 1116 times


sshot-1223.jpg
sshot-1223.jpg (206.49 KiB) Viewed 1116 times
Offline
User avatar

Sean Nelson

  • Posts: 892
  • Joined: Sun Feb 07, 2021 9:48 pm
  • Location: Vancouver, Canada
  • Real Name: Sean Nelson

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 1:21 am

Jim Simon wrote:Oh, that's much easier. :)

Given how many lines of code @KrunoSmithy posted, I can't tell if you're being sarcastic or not... :shock:

Nice job, though, @KrunoSmithy!
DR Studio 19.1.4 Build 11, Win10Pro x64 22H2/19045.5608
Asus C246 Pro Motherboard, Xeon E-2278G@3.4GHz, 64GB ECC RAM
GeForce 3060 12GB, "Studio" driver 560.81
OS,Library: 1TB NVMe SSD - Project,Cache: 1TB NVMe SSD
Offline

Sander de Regt

  • Posts: 4133
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 6:45 am

Those aren't lines of code. These are just the nodes from the Fusion comp copy/pasted in here.
Still a lot of work, but no coder was harmed during the making of this reply.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline
User avatar

Sean Nelson

  • Posts: 892
  • Joined: Sun Feb 07, 2021 9:48 pm
  • Location: Vancouver, Canada
  • Real Name: Sean Nelson

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 7:38 am

Sander de Regt wrote:Those aren't lines of code. These are just the nodes from the Fusion comp copy/pasted in here.

Huh, you learn something new every day. So many depths in Fusion that I have yet to plumb.
DR Studio 19.1.4 Build 11, Win10Pro x64 22H2/19045.5608
Asus C246 Pro Motherboard, Xeon E-2278G@3.4GHz, 64GB ECC RAM
GeForce 3060 12GB, "Studio" driver 560.81
OS,Library: 1TB NVMe SSD - Project,Cache: 1TB NVMe SSD
Offline

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 9:35 am

You can either apply the effect in the composition starting from frame 0 and having more than 120 frames long. For example 250 frames should be enough.


I've tried different things. Tried it with the footage I have, new timeline, starting everything from 0.
Tried it with a png.

May I show you my steps? I'm doing something stupidly wrong but I don't see it.
I've tried moving the keyframes, but it doesn't do anything.

with footage:
https://drive.google.com/file/d/1tQKR1N39LtbmwSVe814F9n34hviLPaq8/view?usp=drive_link

with png:
[url]https://drive.google.com/file/d/1i8QqEyxaJ6hrvYHH1igzwdfn9Zi3uSW8/view?usp=drive_link
[/url]

Sorry I'm so slow with this.
Offline
User avatar

Parasolka

  • Posts: 13
  • Joined: Tue Oct 01, 2024 10:55 am
  • Location: Kyiv, Ukraine
  • Real Name: Serhiy Soloviov

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 2:32 pm

The problem is the size of the composition and the size of Timeline. You have a timeline of 3840x2160, and the composition created by KrunoSmithy is 1920x1080. You should set 3840x2160 in the Background4, Fastnoise1, Eclips1 and Letterbox nodes in the Image tab.
Attachments
comp.jpg
comp.jpg (140.77 KiB) Viewed 827 times
Offline

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 2:57 pm

Oh wow, that's looking so much more like it!! Thank you!
Have applied the 4K settings to all those nodes.
And now I see this:
https://drive.google.com/file/d/1PJQTK7c1XL1M7Pc-UZH-_Zo6vum8XTkd/view?usp=drive_link

If I can just get the mask to actually expand/move, I'm there...
Feels like just one tiny step removed now...
Offline
User avatar

KrunoSmithy

  • Posts: 4573
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Warnings: 1
  • Real Name: Kruno Stifter

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 3:11 pm

Ok, I see now that you are using differnt resolution. I was originally just doing it as a method on how to go about it, not really making it dynamically changing in resolution. But if you have some skills in fusion its, an easy adjustment. I just didn't know will you be using what I made as inspiration or doing something yourself.

Here is adjusted version of it, for your resolution. While I could make it dynamic, its easier to change resolution in few generator nodes.

Try this for UltraHD or 3840x2160 timeline.

Nor sure what the dimensions of your footage or clip is, but you can use letterbox or any other resizing tool to make it fit.

Code: Select all
{
   Tools = ordered() {
      Background4 = Background {
         Inputs = {
            GlobalOut = Input { Value = 124, },
            Width = Input { Value = 3840, },
            Height = Input { Value = 2160, },
            UseFrameFormatSettings = Input { Value = 1, },
            Depth = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Type = Input { Value = FuID { "Gradient" }, },
            GradientType = Input { Value = FuID { "Radial" }, },
            Start = Input { Value = { 0.5, 0.5 }, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0.333333333333333, 0, 0, 1 },
                     [1] = { 0, 0, 0, 1 }
                  }
               },
            }
         },
         ViewInfo = OperatorInfo { Pos = { 334.319, 51.8712 } },
      },
      Loader1 = Loader {
         Clips = {
            Clip {
               ID = "Clip1",
               Filename = "E:\\Green Screen\\--- images\\pexels-turek3024-10448365.jpg",
               FormatID = "JpegFormat",
               StartFrame = 10448365,
               LengthSetManually = true,
               TrimIn = 0,
               TrimOut = 0,
               ExtendFirst = 0,
               ExtendLast = 0,
               Loop = 0,
               AspectMode = 0,
               Depth = 0,
               TimeCode = 0,
               GlobalStart = 0,
               GlobalEnd = 0
            }
         },
         HoldOutput = true,
         Inputs = {
            ["Clip1.PNGFormat.PostMultiply"] = Input {
               Value = Number {
                  Value = 1
               },
            }
         },
         ViewInfo = OperatorInfo { Pos = { 329.184, -37.4956 } },
         UserControls = ordered() {
            MakeLocal = {
               LINKS_Name = "Make Local",
               INPID_InputControl = "ButtonControl",
               BTNCS_Execute = "                  args = { tool = comp.ActiveTool, copyTree = true }\n                  path = comp:MapPath(\"Scripts:support/Loader_MakeLocal.lua\")\n                  comp:RunScript(path, args)\n               ",
               IC_ControlPage = 0,
               LINKID_DataType = "Number",
               INP_Default = 0,
            }
         }
      },
      Letterbox1 = Letterbox {
         CtrlWZoom = false,
         Inputs = {
            Width = Input { Value = 3840, },
            Height = Input { Value = 2160, },
            UseFrameFormatSettings = Input { Value = 1, },
            HiQOnly = Input { Value = 0, },
            Input = Input {
               SourceOp = "Loader1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 547.146, -37.4956 } },
      },
      Instance_Ellipse1 = EllipseMask {
         SourceOp = "Ellipse1",
         Inputs = {
            EffectMask = Input {
            },
            SettingsNest = Input {
            },
            LayersNest = Input {
            },
            SoftEdge = Input {
               Value = 0.0913,
            },
            Invert = Input {
            },
            Height = Input {
               Value = 0.303024592592593,
               Expression = "Width"
            },
            CommentsNest = Input {
            },
            FrameRenderScriptNest = Input {
            },
            StartRenderScripts = Input {
            },
            EndRenderScripts = Input {
            }
         },
         ViewInfo = OperatorInfo { Pos = { 310.614, -189.046 } },
      },
      Ellipse1Width = BezierSpline {
         SplineColor = { Red = 225, Green = 255, Blue = 0 },
         CtrlWZoom = false,
         KeyFrames = {
            [0] = { 0.3, RH = { 40, 0.3 } },
            [120] = { 1.228, LH = { 80, 1.228 } }
         }
      },
      FastNoise1 = FastNoise {
         Inputs = {
            GlobalOut = Input { Value = 124, },
            Width = Input { Value = 3840, },
            Height = Input { Value = 2160, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            Detail = Input { Value = 2.13, },
            Contrast = Input { Value = 20, },
            Brightness = Input { Value = -1, },
            XScale = Input { Value = 11.81, },
            Inverted = Input { Value = 1, }
         },
         ViewInfo = OperatorInfo { Pos = { 1162.44, -275.248 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            SoftEdge = Input { Value = 0.0961, },
            Invert = Input { Value = 1, },
            OutputSize = Input { Value = FuID { "Custom" }, },
            MaskWidth = Input { Value = 3840, },
            MaskHeight = Input { Value = 2160, },
            PixelAspect = Input { Value = { 1, 1 }, },
            UseFrameFormatSettings = Input { Value = 1, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input {
               SourceOp = "Ellipse1Width",
               Source = "Value",
            },
            Height = Input {
               Value = 0.303024592592593,
               Expression = "Width",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 306.667, -275.248 } },
      },
      MatteControl2_1 = MatteControl {
         Inputs = {
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            },
            ProcessRed = Input { Value = 0, },
            ProcessGreen = Input { Value = 0, },
            ProcessBlue = Input { Value = 0, },
            ApplyMaskInverted = Input { Value = 1, },
            MultiplyByMask = Input { Value = 1, },
            MatteCombine = Input { Value = 4, },
            CombineOp = Input { Value = 3, },
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            InvertMatte = Input { Value = 1, },
            PostMultiplyImage = Input { Value = 1, },
            Background = Input {
               SourceOp = "FastNoise1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 899.694, -275.248 } },
      },
      MatteControl2 = MatteControl {
         Inputs = {
            MatteCombine = Input { Value = 4, },
            CombineOp = Input { Value = 7, },
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            PostMultiplyImage = Input { Value = 1, },
            Background = Input {
               SourceOp = "Instance_Ellipse1",
               Source = "Mask",
            },
            Foreground = Input {
               SourceOp = "MatteControl2_1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 899.694, -189.046 } },
      },
      BrightnessContrast1 = BrightnessContrast {
         Inputs = {
            Alpha = Input { Value = 1, },
            Contrast = Input { Value = 1, },
            Low = Input { Value = 0.406, },
            High = Input { Value = 0.489, },
            ClipBlack = Input { Value = 1, },
            PreDividePostMultiply = Input { Value = 1, },
            Input = Input {
               SourceOp = "MatteControl2",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 925.326, 51.8712 } },
      },
      Merge1 = Merge {
         Inputs = {
            EffectMask = Input {
               SourceOp = "BrightnessContrast1",
               Source = "Output",
            },
            Background = Input {
               SourceOp = "Background4",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Letterbox1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, }
         },
         ViewInfo = OperatorInfo { Pos = { 547.146, 51.8712 } },
      },
      MediaOut1 = MediaOut {
         Inputs = {
            Index = Input { Value = "0", },
            Input = Input {
               SourceOp = "Merge1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 547.146, 133.899 } },
      }
   }
}
Offline

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 3:20 pm

What you made is exactly what I was trying to do, only I spent days messing it up :)
So I tried copying node code exactly, because I just need it to expand like this for 30 seconds from a small circle to full 4K vertical resolution. (We're projecting it onto the side of a building)

The resolutions seem perfect now, only thing is that the mask is still and doesn't expand/move.
So so so close.
Offline
User avatar

KrunoSmithy

  • Posts: 4573
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Warnings: 1
  • Real Name: Kruno Stifter

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 3:24 pm

Twinklybird wrote:The resolutions seem perfect now, only thing is that the mask is still and doesn't expand/move. So so so close.


That seems strange. Going back to your frames. Can you preview the individual nodes in fusion viewer? Either pressing 1,2 buttons or drag and drop them to viewer. You should see mask expanding from I think frame 0 to frame 120 if I recall correctly. I'm not at resolve at the moment. But in your video I think I saw that you are at some pretty large frame number. Go to frame zero in the viewer and preview it in the viewer.
Offline

Twinklybird

  • Posts: 7
  • Joined: Wed Nov 22, 2023 1:52 pm
  • Real Name: Fien Leysen

Re: Breaking out of a mask shape

PostTue Apr 29, 2025 10:52 pm

Oh man, so silly of me. I was using the second part of a long clip (source footage). I tried out different things, and finally exported the part I needed as both .mov and .png, making it start from 0 and it works absolutely perfectly!

This is great. I'm so so thankful for all of your help.

Am trying to see how I can slow down the animation a bit, making it occur over 30 seconds (double as long).
I've extended the png on the edit page and have tried to stretch all the nodes (I've also adjusted the background node a bit as you'll see, less glow).
Can't seem to add any keyframes that help slow down the animation, the arch/mask expansion keeps its peak around 300 frames, no matter how far I drag the end keyframe.
When I try to add a keyframe, I can't really change its position much without it pausing the expansion altogether.

Curious to see if it's possible, if not there's definitely a workaround, I could always export this one and just time stretch it.

https://drive.google.com/file/d/1Fglb3-yBWiv2gTydNxlAQl44jYjyJ3eC/view?usp=drive_link
Offline
User avatar

Parasolka

  • Posts: 13
  • Joined: Tue Oct 01, 2024 10:55 am
  • Location: Kyiv, Ukraine
  • Real Name: Serhiy Soloviov

Re: Breaking out of a mask shape

PostWed Apr 30, 2025 4:34 pm

Hello. You have three keyframes. The third is not needed. To slow down the animation, remove the third key and move the second one 750 frames (30 sec). To delete a keyframe, select it and click the backspace. And one more thing... In the keyframe editor, you need to move Mattcontrol seven frames to the left, because the animation will start just without the Fastnoise effect.
Attachments
key2.jpg
key2.jpg (137.75 KiB) Viewed 475 times
key.jpg
key.jpg (86.2 KiB) Viewed 514 times
Offline
User avatar

Parasolka

  • Posts: 13
  • Joined: Tue Oct 01, 2024 10:55 am
  • Location: Kyiv, Ukraine
  • Real Name: Serhiy Soloviov

Re: Breaking out of a mask shape

PostWed Apr 30, 2025 7:37 pm

My mistake... I apologise. This is Mattecontrol2_1. It's going to be like this.
Attachments
key3.jpg
key3.jpg (227.59 KiB) Viewed 470 times

Return to DaVinci Resolve

Who is online

Users browsing this forum: Chris Duncan, EditWiz, GlennH, John_H and 398 guests