
I was looking for a way to make dash animated outline for a ellipse or rectangle mask in Fusion. I came up with a way to easily create one dash in a line and animate it by unchecking "solid" option, increasing border with, reducing length and animating position to be one whole circle and than setting that animation to loop in the spline editor. Of course mask is connected to background node for color.
But making the dash line was more tricky. I tried duplicate node and works well, but problem was angle or heading for duplicated dashes. They don't follow the path with correct angle. I finally figure out that I can add a path modifier and get the heading information for the duplicate node. That worked.
I was wondering, I was looking for a way to make dash animated outline for a ellipse or rectangle mask in Fusion. Perhaps something more efficient. How do you do it, or how would you do it? Any expression that can do this with less clicks that you know of?
Here is the code for the set up if you are interested.
- sshot-12.jpg (209.46 KiB) Viewed 1164 times
But making the dash line was more tricky. I tried duplicate node and works well, but problem was angle or heading for duplicated dashes. They don't follow the path with correct angle. I finally figure out that I can add a path modifier and get the heading information for the duplicate node. That worked.
I was wondering, I was looking for a way to make dash animated outline for a ellipse or rectangle mask in Fusion. Perhaps something more efficient. How do you do it, or how would you do it? Any expression that can do this with less clicks that you know of?
Here is the code for the set up if you are interested.
- Code: Select all
{
Tools = ordered() {
Ellipse1 = EllipseMask {
Inputs = {
Quality = Input { Value = 10, },
Filter = Input { Value = FuID { "Fast Gaussian" }, },
BorderWidth = Input { Value = 0.0106, },
Solid = Input { Value = 0, },
CapStyle = Input { Value = 0, },
WritePosition = Input {
SourceOp = "Ellipse1Position",
Source = "Value",
},
WriteLength = Input { Value = 0.036, },
MaskWidth = Input { Value = 1920, },
MaskHeight = Input { Value = 1080, },
PixelAspect = Input { Value = { 1, 1 }, },
UseFrameFormatSettings = Input { Value = 1, },
Angle = Input {
SourceOp = "Path1",
Source = "Heading",
},
},
ViewInfo = OperatorInfo { Pos = { -387.85, 55.8841 } },
},
Ellipse1Position = BezierSpline {
SplineColor = { Red = 237, Green = 132, Blue = 6 },
KeyFrames = {
[0] = { 0, RH = { 16.6666666666667, 0.333333333333333 }, Flags = { Loop = true } },
[50] = { 1, LH = { 33.3333333333333, 0.666666666666667 }, Flags = { Linear = true, Loop = true } }
}
},
Path1 = PolyPath {
DrawMode = "InsertAndModify",
CtrlWZoom = false,
Inputs = {
Displacement = Input {
SourceOp = "Path1Displacement",
Source = "Value",
},
PolyLine = Input {
Value = Polyline {
Points = {
{ Linear = true, X = 0, Y = 0 }
}
},
},
},
},
Path1Displacement = BezierSpline {
SplineColor = { Red = 255, Green = 0, Blue = 255 },
KeyFrames = {
[402] = { 0 }
}
},
Background1 = Background {
CtrlWZoom = false,
Inputs = {
EffectMask = Input {
SourceOp = "Duplicate1",
Source = "Output",
},
GlobalOut = Input { Value = 479, },
Width = Input { Value = 1920, },
Height = Input { Value = 1080, },
UseFrameFormatSettings = Input { Value = 1, },
["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
TopLeftRed = Input { Value = 1, },
},
ViewInfo = OperatorInfo { Pos = { -258.328, 91.5682 } },
},
Duplicate1 = Fuse.Duplicate {
Inputs = {
Copies = Input { Value = 10, },
TimeOffset = Input { Value = 5, },
Angle = Input {
SourceOp = "Path1",
Source = "Heading",
},
Background = Input {
SourceOp = "Ellipse1",
Source = "Mask",
},
},
ViewInfo = OperatorInfo { Pos = { -387.85, 91.5682 } },
}
}
}