Jump to: Board index » General » Fusion

Circle text reveal

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

Dominik Rabalski

  • Posts: 48
  • Joined: Tue Mar 07, 2017 8:56 am

Circle text reveal

PostWed Sep 27, 2017 1:11 pm

Hi guys,

so I have a project similar to the one as the one bellow, and I would like to make an animation out of it.
I want it to make the center circle always to be visible, but the text around it to reveal itself over the time.
The thing is, I dont want to use Write On, because I want to have a smooth animation with letters revealing themselves as well (not one by one).
Any ideas guys? Been siting on it for quite some time :D
Attachments
Untitled-3.png
Untitled-3.png (70.83 KiB) Viewed 1424 times
Offline

Sander de Regt

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

Re: Circle text reveal

PostWed Sep 27, 2017 1:30 pm

If not one by one, what do you consider a smooth way of revealing?
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Umberto Uderzo

  • Posts: 270
  • Joined: Fri Mar 13, 2015 12:19 am

Re: Circle text reveal

PostWed Sep 27, 2017 2:52 pm

Maybe something like this?

Code: Select all
{
   Tools = ordered() {
      Merge2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 576, 284 } },
      },
      Background2 = Background {
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 466, 284 } },
      },
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 530, 182 } },
      },
      Text1 = TextPlus {
         CtrlWZoom = false,
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            LayoutSize = Input {
               SourceOp = "Text1LayoutSize",
               Source = "Value",
            },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input {
               SourceOp = "Text1Red",
               Source = "Value",
            },
            Green1 = Input {
               SourceOp = "Text1Green",
               Source = "Value",
            },
            Blue1 = Input {
               SourceOp = "Text1Blue",
               Source = "Value",
            },
            Alpha1 = Input {
               SourceOp = "Text1Alpha",
               Source = "Value",
            },
            EffectMask = Input {
               SourceOp = "Ellipse2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 420, 182 } },
      },
      Text1LayoutSize = BezierSpline {
         SplineColor = { Red = 146, Green = 194, Blue = 241 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.7, RH = { 10.6, 0.873999999999999 }, Flags = { Linear = true } },
            [48] = { 1, LH = { 11.4, 0.995999999999999 } }
         }
      },
      Text1Red = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Green = BezierSpline {
         SplineColor = { Red = 0, Green = 255, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Blue = BezierSpline {
         SplineColor = { Red = 0, Green = 0, Blue = 255 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Alpha = BezierSpline {
         SplineColor = { Red = 180, Green = 180, Blue = 126 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 16, 0.333333333333333 }, Flags = { Linear = true } },
            [48] = { 1, LH = { 32, 0.666666666666667 }, Flags = { Linear = true } }
         }
      },
      Ellipse2 = EllipseMask {
         Inputs = {
            SoftEdge = Input { Value = 0.0128, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.46, },
            Height = Input { Value = 0.46, },
         },
         ViewInfo = OperatorInfo { Pos = { 420, 149 } },
      },
      Background1 = Background {
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 423, 92 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 423, 59 } },
      }
   }
}
Offline

Dominik Rabalski

  • Posts: 48
  • Joined: Tue Mar 07, 2017 8:56 am

Re: Circle text reveal

PostThu Sep 28, 2017 2:11 pm

Umberto Uderzo wrote:Maybe something like this?

Code: Select all
{
   Tools = ordered() {
      Merge2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 576, 284 } },
      },
      Background2 = Background {
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 466, 284 } },
      },
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 530, 182 } },
      },
      Text1 = TextPlus {
         CtrlWZoom = false,
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            LayoutSize = Input {
               SourceOp = "Text1LayoutSize",
               Source = "Value",
            },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. ", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input {
               SourceOp = "Text1Red",
               Source = "Value",
            },
            Green1 = Input {
               SourceOp = "Text1Green",
               Source = "Value",
            },
            Blue1 = Input {
               SourceOp = "Text1Blue",
               Source = "Value",
            },
            Alpha1 = Input {
               SourceOp = "Text1Alpha",
               Source = "Value",
            },
            EffectMask = Input {
               SourceOp = "Ellipse2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 420, 182 } },
      },
      Text1LayoutSize = BezierSpline {
         SplineColor = { Red = 146, Green = 194, Blue = 241 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.7, RH = { 10.6, 0.873999999999999 }, Flags = { Linear = true } },
            [48] = { 1, LH = { 11.4, 0.995999999999999 } }
         }
      },
      Text1Red = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Green = BezierSpline {
         SplineColor = { Red = 0, Green = 255, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Blue = BezierSpline {
         SplineColor = { Red = 0, Green = 0, Blue = 255 },
         NameSet = true,
         KeyFrames = {
            [48] = { 0, Flags = { Linear = true } }
         }
      },
      Text1Alpha = BezierSpline {
         SplineColor = { Red = 180, Green = 180, Blue = 126 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 16, 0.333333333333333 }, Flags = { Linear = true } },
            [48] = { 1, LH = { 32, 0.666666666666667 }, Flags = { Linear = true } }
         }
      },
      Ellipse2 = EllipseMask {
         Inputs = {
            SoftEdge = Input { Value = 0.0128, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.46, },
            Height = Input { Value = 0.46, },
         },
         ViewInfo = OperatorInfo { Pos = { 420, 149 } },
      },
      Background1 = Background {
         Inputs = {
            GlobalOut = Input { Value = 48, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 423, 92 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 423, 59 } },
      }
   }
}


Thats exactly what I meant by smooth animation, but direction is wrong.
Am looking do make something more like this, but smoother and with equal pace (impossible with bspline)

Code: Select all
{
   Tools = ordered() {
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 668, -79 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 559, -199 } },
      },
      Background1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 559, -166 } },
      },
      Text1 = TextPlus {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input { Value = 0, },
            Green1 = Input { Value = 0, },
            Blue1 = Input { Value = 0, },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
            EffectMask = Input {
               SourceOp = "BSpline1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 536, -76 } },
      },
      Background2 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 602, 26 } },
      },
      Merge2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 712, 26 } },
      },
      BSpline1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         CtrlWZoom = false,
         Inputs = {
            SoftEdge = Input { Value = 0.047, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               SourceOp = "BSpline1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 423, -77 } },
      },
      BSpline1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 10, 0.333333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.297916680574417, Y = -0.146296292543411 },
                     { X = -0.224999994039536, Y = -0.0944444462656975 },
                     { X = -0.214583337306976, Y = 0.0759259238839149 },
                     { X = -0.10416666418314, Y = 0.357407420873642 },
                     { X = 0.0770833343267441, Y = 0.364814817905426 },
                     { X = 0.172916665673256, Y = 0.175925925374031 },
                     { X = 0.20833332836628, Y = -0.012962962500751 },
                     { X = 0.216666668653488, Y = -0.101851850748062 },
                     { X = 0.3125, Y = -0.105555556714535 },
                     { X = 0.35625, Y = 0.153703703703704 },
                     { X = 0.237499997019768, Y = 0.401851862668991 },
                     { X = 0.127083333333333, Y = 0.542592592592593 },
                     { X = -0.025000000372529, Y = 0.550000011920929 },
                     { X = -0.197916666666667, Y = 0.461111111111111 },
                     { X = -0.295833319425583, Y = 0.383333325386047 },
                     { X = -0.322916656732559, Y = 0.131481483578682 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }
               } },
            [30] = { 1, LH = { 20, 0.666666666666667 }, RH = { 34.6666666666667, 1.33333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.139583347241084, Y = 0.518518522271403 },
                     { X = -0.122916660706202, Y = 0.431481479660228 },
                     { X = -0.11041667064031, Y = 0.283333331291322 },
                     { X = -0.10416666418314, Y = 0.357407420873642 },
                     { X = 0.0770833343267441, Y = 0.364814817905426 },
                     { X = 0.172916665673256, Y = 0.175925925374031 },
                     { X = 0.20833332836628, Y = -0.012962962500751 },
                     { X = 0.216666668653488, Y = -0.101851850748062 },
                     { X = 0.3125, Y = -0.105555556714535 },
                     { X = 0.35625, Y = 0.153703703703704 },
                     { X = 0.237499997019768, Y = 0.401851862668991 },
                     { X = 0.127083333333333, Y = 0.542592592592593 },
                     { X = -0.025000000372529, Y = 0.550000011920929 },
                     { X = -0.0510416666666667, Y = 0.631481481481481 },
                     { X = -0.15624998609225, Y = 0.59629628834901 },
                     { X = -0.177083323399226, Y = 0.520370372467571 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }
               } },
            [44] = { 2, LH = { 39.3333333333333, 1.66666666666667 }, RH = { 50, 2.33333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = 0.021065142073581, Y = 0.508047318082922 },
                     { X = 0.0347841499054412, Y = 0.512633312120961 },
                     { X = -0.0662014900949891, Y = 0.283333331291322 },
                     { X = 0.137542989464613, Y = 0.336465012496679 },
                     { X = 0.0770833343267441, Y = 0.364814817905426 },
                     { X = 0.172916665673256, Y = 0.175925925374031 },
                     { X = 0.20833332836628, Y = -0.012962962500751 },
                     { X = 0.216666668653488, Y = -0.101851850748062 },
                     { X = 0.3125, Y = -0.105555556714535 },
                     { X = 0.35625, Y = 0.153703703703704 },
                     { X = 0.237499997019768, Y = 0.401851862668991 },
                     { X = 0.127083333333333, Y = 0.542592592592593 },
                     { X = 0.228500368087309, Y = 0.610209436004699 },
                     { X = 0.106659143944977, Y = 0.670748497188288 },
                     { X = 0.00734618192543657, Y = 0.619856497773094 },
                     { X = 0.0380972219213342, Y = 0.536077178750293 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }
               } },
            [62] = { 3, LH = { 56, 2.66666666666667 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = 0.324676048484782, Y = -0.243261582440638 },
                     { X = 0.338395056316642, Y = -0.238675588402599 },
                     { X = 0.237409416316212, Y = -0.467975569232238 },
                     { X = 0.441153895875814, Y = -0.414843888026882 },
                     { X = 0.380694240737945, Y = -0.386494082618134 },
                     { X = 0.180285862430809, Y = -0.112032189809215 },
                     { X = 0.20833332836628, Y = -0.012962962500751 },
                     { X = 0.216666668653488, Y = -0.101851850748062 },
                     { X = 0.3125, Y = -0.105555556714535 },
                     { X = 0.35625, Y = 0.153703703703704 },
                     { X = 0.541110903430969, Y = -0.349457037854569 },
                     { X = 0.430694239744534, Y = -0.208716307930968 },
                     { X = 0.53211127449851, Y = -0.141099464518862 },
                     { X = 0.410270050356178, Y = -0.0805604033352725 },
                     { X = 0.310957088336638, Y = -0.131452402750466 },
                     { X = 0.341708128332535, Y = -0.215231721773267 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 }
               } }
         }
      }
   },
   ActiveTool = "BSpline1"
}
Offline

Umberto Uderzo

  • Posts: 270
  • Joined: Fri Mar 13, 2015 12:19 am

Re: Circle text reveal

PostThu Sep 28, 2017 3:17 pm

Well, this is not very elegant but maybe will address the issue.
I combined shape animation with shape rotation to keep uniform fading.

Code: Select all
{
   Tools = ordered() {
      Text1 = TextPlus {
         Inputs = {
            GlobalOut = Input { Value = 200, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input { Value = 0, },
            Green1 = Input { Value = 0, },
            Blue1 = Input { Value = 0, },
            EffectMask = Input {
               SourceOp = "BSpline1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 509, 161 } },
      },
      BSpline1 = BSplineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         CtrlWZoom = false,
         Inputs = {
            SoftEdge = Input { Value = 0.0906, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            ZRotation = Input {
               SourceOp = "BSpline1ZRotation",
               Source = "Value",
            },
            Polyline = Input {
               SourceOp = "BSpline1Polyline",
               Source = "Value",
            },
            Polyline2 = Input {
               Value = BSplinePolyline {
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { }
               },
               Disabled = true,
            },
         },
         ViewInfo = OperatorInfo { Pos = { 347, 166 } },
      },
      BSpline1ZRotation = BezierSpline {
         SplineColor = { Red = 128, Green = 128, Blue = 255 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 66.6666666666667, -73.7 }, Flags = { Linear = true } },
            [200] = { -221.1, LH = { 133.333333333333, -147.4 }, Flags = { Linear = true } }
         }
      },
      BSpline1Polyline = BezierSpline {
         SplineColor = { Red = 173, Green = 255, Blue = 47 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 36, 0.333333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.159465320922949, Y = -0.270930487124678 },
                     { X = -0.0803062424018934, Y = 0.0156429203994135 },
                     { X = 0.00133087172245405, Y = 0.0816719266933434 },
                     { X = 0.0715918314904619, Y = 0.0265020842292212 },
                     { X = 0.141917069926276, Y = -0.282414621344012 },
                     { X = 0.273563663343767, Y = -0.42859179697891 },
                     { X = 0.396644032932259, Y = 0.0493761158204652 },
                     { X = 0.362168023625652, Y = 0.511008923225862 },
                     { X = 0.160660656096341, Y = 0.745989325531026 },
                     { X = -0.129129125504522, Y = 0.716577533094641 },
                     { X = -0.331831836754137, Y = 0.558823517618332 },
                     { X = -0.385885877652211, Y = 0.229946520079903 },
                     { X = -0.385885893135099, Y = -0.0935828879097088 },
                     { X = -0.324324336943326, Y = -0.307486635079996 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 4.244, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17.244, 18 }
               } },
            [108] = { 1, LH = { 72, 0.666666666666667 }, RH = { 121, 1.33333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.159465320922949, Y = -0.270930487124678 },
                     { X = -0.0803062424018934, Y = 0.0156429203994135 },
                     { X = 0.00133087172245405, Y = 0.0816719266933434 },
                     { X = 0.0715918314904619, Y = 0.0265020842292212 },
                     { X = 0.141917069926276, Y = -0.282414621344012 },
                     { X = 0.273563663343767, Y = -0.42859179697891 },
                     { X = 0.396644032932259, Y = 0.0493761158204652 },
                     { X = 0.362168023625652, Y = 0.511008923225862 },
                     { X = 0.160660656096341, Y = 0.745989325531026 },
                     { X = -0.129129125504522, Y = 0.716577533094641 },
                     { X = -0.331831836754137, Y = 0.558823517618332 },
                     { X = -0.385885877652211, Y = 0.229946520079903 },
                     { X = -0.385885893135099, Y = -0.0935828879097088 },
                     { X = -0.324324336943326, Y = -0.307486635079996 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 4.244, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17.244, 18 }
               } },
            [147] = { 2, LH = { 134, 1.66666666666667 }, RH = { 162, 2.33333333333333 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.159465320922949, Y = -0.270930487124678 },
                     { X = -0.0803062424018934, Y = 0.0156429203994135 },
                     { X = 0.00133087172245405, Y = 0.0816719266933434 },
                     { X = 0.0715918314904619, Y = 0.0265020842292212 },
                     { X = 0.149819937104637, Y = 0.196861110550987 },
                     { X = 0.274192399548461, Y = 0.169388951329415 },
                     { X = 0.396644032932259, Y = 0.0493761158204652 },
                     { X = 0.362168023625652, Y = 0.511008923225862 },
                     { X = 0.160660656096341, Y = 0.745989325531026 },
                     { X = -0.129129125504522, Y = 0.716577533094641 },
                     { X = -0.331831836754137, Y = 0.558823517618332 },
                     { X = -0.385885877652211, Y = 0.229946520079903 },
                     { X = -0.385885893135099, Y = -0.0935828879097088 },
                     { X = -0.324324336943326, Y = -0.307486635079996 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 4.244, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17.244, 18 }
               } },
            [192] = { 3, LH = { 177, 2.66666666666667 }, Flags = { Linear = true, LockedY = true }, Value = BSplinePolyline {
                  Closed = true,
                  Points = {
                     { X = -0.159465320922949, Y = -0.270930487124678 },
                     { X = -0.0803062424018934, Y = 0.0156429203994135 },
                     { X = 0.00133087172245405, Y = 0.0816719266933434 },
                     { X = 0.0715918314904619, Y = 0.0265020842292212 },
                     { X = 0.0384587101555387, Y = 0.305388836340113 },
                     { X = 0.127459159838524, Y = 0.487382145738667 },
                     { X = 0.22495640809842, Y = 0.547518151697549 },
                     { X = 0.247353535348189, Y = 0.729185319103187 },
                     { X = 0.160660656096341, Y = 0.745989325531026 },
                     { X = -0.129129125504522, Y = 0.716577533094641 },
                     { X = -0.331831836754137, Y = 0.558823517618332 },
                     { X = -0.385885877652211, Y = 0.229946520079903 },
                     { X = -0.385885893135099, Y = -0.0935828879097088 },
                     { X = -0.324324336943326, Y = -0.307486635079996 }
                  },
                  Order = 4,
                  Type = "Tensioned",
                  Knots = { 0, 1, 2, 3, 4, 4.244, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 17.244, 18 }
               } }
         }
      },
      Background1 = Background {
         Inputs = {
            GlobalOut = Input { Value = 200, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 525, 75 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 525, 42 } },
      },
      Merge1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 634, 162 } },
      },
      Merge2 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 678, 267 } },
      },
      Background2 = Background {
         Inputs = {
            GlobalOut = Input { Value = 200, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 568, 267 } },
      }
   }
}
Offline

Dominik Rabalski

  • Posts: 48
  • Joined: Tue Mar 07, 2017 8:56 am

Re: Circle text reveal

PostThu Sep 28, 2017 4:16 pm

Very good idea. Not elegant indeed, but inspired me for the final idea :D
Combine Write On option with rotating, soft-edged rectangle mask.
It's here if you want to have a look ;)

Code: Select all
{
   Tools = ordered() {
      Ellipse1_1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 125.152, -28.0867 } },
      },
      Merge1_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1_1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 234.152, 91.9133 } },
      },
      Background1_1_1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
            EffectMask = Input {
               SourceOp = "Ellipse1_1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 125.152, 4.91328 } },
      },
      Text1_1 = TextPlus {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod", },
            Start = Input {
               SourceOp = "Text1_1Start",
               Source = "Value",
            },
            End = Input {
               SourceOp = "Text1_1End",
               Source = "Value",
            },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input { Value = 0, },
            Green1 = Input { Value = 0, },
            Blue1 = Input { Value = 0, },
            ShadingGradient1 = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
            EffectMask = Input {
               SourceOp = "Transform1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 109.152, 90.9133 } },
      },
      Text1_1Start = BezierSpline {
         SplineColor = { Red = 232, Green = 6, Blue = 244 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 40, 0 }, Flags = { Linear = true } },
            [120] = { 0, LH = { 80, 0 }, Flags = { Linear = true } }
         }
      },
      Text1_1End = BezierSpline {
         SplineColor = { Red = 72, Green = 233, Blue = 54 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 40, 0.333333333333333 }, Flags = { Linear = true } },
            [120] = { 1, LH = { 80, 0.666666666666667 }, Flags = { Linear = true } }
         }
      },
      Background2_1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
            Gradient = Input {
               Value = Gradient {
                  Colors = {
                     [0] = { 0, 0, 0, 1 },
                     [1] = { 1, 1, 1, 1 }
                  }
               },
            },
         },
         ViewInfo = OperatorInfo { Pos = { 168.152, 196.913 } },
      },
      Merge2_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 278.152, 196.913 } },
      },
      Transform1 = Transform {
         CtrlWZoom = false,
         Inputs = {
            Angle = Input {
               SourceOp = "Transform1Angle",
               Source = "Value",
            },
            Input = Input {
               SourceOp = "Rectangle1",
               Source = "Mask",
            },
         },
         ViewInfo = OperatorInfo { Pos = { -18.7012, 43.6201 } },
      },
      Transform1Angle = BezierSpline {
         SplineColor = { Red = 14, Green = 221, Blue = 144 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 40, -67.3666666666667 }, Flags = { Linear = true } },
            [120] = { -202.1, LH = { 80, -134.733333333333 }, Flags = { Linear = true } }
         }
      },
      Rectangle1 = RectangleMask {
         Inputs = {
            SoftEdge = Input { Value = 0.0444, },
            Invert = Input { Value = 1, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Center = Input { Value = { 0.253868828297716, 0.539267015706806 }, },
            Width = Input { Value = 0.1, },
            Height = Input { Value = 0.2, },
            Angle = Input {
               SourceOp = "Rectangle1Angle",
               Source = "Value",
            },
         },
         ViewInfo = OperatorInfo { Pos = { -143.728, 76.6044 } },
      },
      Rectangle1Angle = BezierSpline {
         SplineColor = { Red = 14, Green = 221, Blue = 144 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 40, -60 }, Flags = { Linear = true } },
            [120] = { -180, LH = { 80, -120 }, Flags = { Linear = true } }
         }
      }
   }
}
Offline

Dominik Rabalski

  • Posts: 48
  • Joined: Tue Mar 07, 2017 8:56 am

Re: Circle text reveal

PostThu Sep 28, 2017 4:18 pm

Ive, just realised that for my purpose, your solution is going to work way better, as my circular text is not a text, but graphics :lol: :shock:
Offline

Umberto Uderzo

  • Posts: 270
  • Joined: Fri Mar 13, 2015 12:19 am

Re: Circle text reveal

PostFri Sep 29, 2017 7:14 am

Your solution is more elegant.
I'll keep track of this for the future.
Being a Fusion newbie makes me greed of new solutions to problems :D
Cheers!
Offline

Frank Feijen

  • Posts: 167
  • Joined: Tue Dec 13, 2016 10:04 am
  • Location: Vilvoorde, Belgium

Re: Circle text reveal

PostFri Sep 29, 2017 8:03 am

Just to add an additional approach, I think it takes less keyframing and a bit better control...
Code: Select all
{
   Tools = ordered() {
      Merge1_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background1_1_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Text1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 672, 403 } },
      },
      Text1_1 = TextPlus {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LayoutType = Input { Value = 2, },
            Size = Input { Value = 0.04, },
            Font = Input { Value = "Open Sans", },
            StyledText = Input { Value = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod", },
            Style = Input { Value = "Bold", },
            ManualFontKerningPlacement = Input {
               Value = StyledText {
                  Array = {
                  },
                  Value = ""
               },
            },
            Red1 = Input { Value = 0, },
            Green1 = Input { Value = 0, },
            Blue1 = Input { Value = 0, },
            EffectMask = Input {
               SourceOp = "Transform1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 454, 407 } },
      },
      Background1_1_1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftGreen = Input { Value = 0.666666666666667, },
            EffectMask = Input {
               SourceOp = "Ellipse1_1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 448, 315 } },
      },
      Ellipse1_1 = EllipseMask {
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.43, },
            Height = Input { Value = 0.43, },
         },
         ViewInfo = OperatorInfo { Pos = { 448, 282 } },
      },
      Merge2_1 = Merge {
         Inputs = {
            Background = Input {
               SourceOp = "Background2_1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Merge1_1",
               Source = "Output",
            },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 600, 507 } },
      },
      Background2_1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 491, 505 } },
      },
      Transform1 = Transform {
         CtrlWZoom = false,
         Inputs = {
            Angle = Input { Value = -180, },
            Input = Input {
               SourceOp = "CoordinateSpace1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 319, 403 } },
      },
      CoordinateSpace1 = CoordSpace {
         Inputs = {
            Shape = Input { Value = 1, },
            Input = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 209, 403 } },
      },
      Background1 = Background {
         Inputs = {
            Width = Input { Value = 1920, },
            Height = Input { Value = 1920, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            EffectMask = Input {
               SourceOp = "Rectangle2",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 203, 364 } },
      },
      Rectangle2 = RectangleMask {
         Inputs = {
            SoftEdge = Input { Value = 0.1214, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input {
               SourceOp = "Rectangle2Width",
               Source = "Value",
            },
            Height = Input { Value = 1.06561085972851, },
         },
         ViewInfo = OperatorInfo { Pos = { 200, 330 } },
      },
      Rectangle2Width = BezierSpline {
         SplineColor = { Red = 225, Green = 255, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0, RH = { 33.3333333333333, 0.384666666666667 }, Flags = { Linear = true } },
            [100] = { 1.154, LH = { 66.6666666666667, 0.769333333333333 }, Flags = { Linear = true } }
         }
      }
   }
}
Offline

Umberto Uderzo

  • Posts: 270
  • Joined: Fri Mar 13, 2015 12:19 am

Re: Circle text reveal

PostFri Sep 29, 2017 8:23 am

Clever!
I need to give mode consideration to rectangular->polar transformations...
Thank you.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 87 guests