Jump to: Board index » General » Fusion

How to create a dotted circle

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

nova-era

  • Posts: 1
  • Joined: Wed Sep 30, 2020 2:10 pm
  • Real Name: Seon Jae, Jeon

How to create a dotted circle

PostWed Sep 30, 2020 4:35 pm

Hello?
I am following the tutorial of After Effects using Da Vinci Resolve.
Is there any way to create a dotted circle for a picture? I can't find a tutorial on YouTube.
Thank you.
Attachments
ring2.png
ring2.png (784.62 KiB) Viewed 236 times
ring.png
ring.png (161.92 KiB) Viewed 236 times
Offline
User avatar

GonshiRamushiyo

  • Posts: 34
  • Joined: Sun Feb 03, 2019 12:49 pm
  • Location: 日本
  • Real Name: 吉村真悟

Re: How to create a dotted circle

PostSat Oct 03, 2020 2:35 pm

Hi,

There are several ways to draw a dotted or dashed line, and you can find the following post on this forum as well.
https://forum.blackmagicdesign.com/viewtopic.php?f=22&t=61633

But looking at your reference, in this case it might be more appropriate to think of it as "cutting out part of a circle" as shown below.
Code: Select all
{
   Tools = ordered() {
      Transform1 = Transform {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Angle = Input { Value = 180, },
            Input = Input {
               SourceOp = "Paint1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 465.538, 180.231 } },
      },
      Merge1 = Merge {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            Background = Input {
               SourceOp = "Duplicate1",
               Source = "Output",
            },
            Foreground = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            Operator = Input { Value = FuID { "Held Out" }, },
            PerformDepthMerge = Input { Value = 0, },
         },
         ViewInfo = OperatorInfo { Pos = { 245.538, 180.231 } },
      },
      Paint1 = Paint {
         NameSet = true,
         Inputs = {
            Input = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
            Paint = Input {
               SourceOp = "Circle1_1",
               Source = "Out",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 355.538, 180.231 } },
      },
      Circle1_1 = Circle {
         IsThreaded = false,
         Brushes = {
         },
         ApplyModes = { "PaintApplyColor" },
         CtrlWZoom = false,
         Inputs = {
            Radius = Input { Value = 0.12189828103598, },
            ["PaintApplyColor.Red"] = Input { Value = 0.470588237047195, },
            ["PaintApplyColor.Green"] = Input { Value = 0.815686285495758, },
            ["PaintApplyColor.Blue"] = Input { Value = 0.843137264251709, },
         },
      },
      Background1 = Background {
         NameSet = true,
         Inputs = {
            GlobalOut = Input { Value = 240, },
            Width = Input { Value = 1080, },
            Height = Input {
               Value = 1080,
               Expression = "Width",
            },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 0.47208, },
            TopLeftGreen = Input { Value = 0.81629376, },
            TopLeftBlue = Input { Value = 0.843, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo {
            Pos = { 25.5385, 180.231 },
            Flags = {
               ShowPic = true
            }
         },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            BorderWidth = Input { Value = 0.15, },
            Solid = Input { Value = 0, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Width = Input { Value = 0.819, },
            Height = Input {
               Value = 0.819,
               Expression = "Width",
            },
         },
         ViewInfo = OperatorInfo { Pos = { -84.4615, 180.231 } },
      },
      Duplicate1 = Fuse.Duplicate {
         NameSet = true,
         Inputs = {
            Copies = Input { Value = 5, },
            Angle = Input { Value = 72, },
            RandomSeed = Input { Value = 26024, },
            Background = Input {
               SourceOp = "Instance_Background1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 135.538, 114.231 } },
      },
      Instance_Background1 = Background {
         NameSet = true,
         SourceOp = "Background1",
         Inputs = {
            ImageNest = Input { },
            FrameRenderScriptNest = Input { },
            EndRenderScripts = Input { },
            SettingsNest = Input { },
            StartRenderScripts = Input { },
            BackgroundNest = Input { },
            CommentsNest = Input { },
            Height = Input {
               Value = 1080,
               Expression = "Width"
            },
            ["Gamut.ColorSpaceNest"] = Input { },
            ["Gamut.GammaSpaceNest"] = Input { },
            EffectMask = Input {
               SourceOp = "Polygon1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 25.5385, 114.231 } },
      },
      Polygon1 = PolylineMask {
         DrawMode = "InsertAndModify",
         DrawMode2 = "InsertAndModify",
         NameSet = true,
         Inputs = {
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            ClippingMode = Input { Value = FuID { "None" }, },
            Polyline = Input {
               Value = Polyline {
                  Closed = true,
                  Points = {
                     { Linear = true, X = -0.1, Y = 0.575385, LX = 0.0666666666666667, LY = 0, RX = 0.0333333333333333, RY = -0.191795, PublishID = "Point0" },
                     { Linear = true, X = 0, Y = 0, LX = -0.0333333333333333, LY = 0.191795, RX = 0, RY = 0, PublishID = "Point1" },
                     { Linear = true, X = 0, Y = 0, LX = 0, LY = 0, RX = 0.0333333333333333, RY = 0.191795, PublishID = "Point2" },
                     { Linear = true, X = 0.1, Y = 0.575385, LX = -0.0333333333333333, LY = -0.191795, RX = -0.0666666666666667, RY = 0, PublishID = "Point3" }
                  }
               },
            },
            Polyline2 = Input {
               Value = Polyline {
               },
               Disabled = true,
            },
            Point0 = Input { Value = { 0.4, 1.075385 }, },
            Point1 = Input { Value = { 0.5, 0.5 }, },
            Point2 = Input { Value = { 0.5, 0.5 }, },
            Point3 = Input { Value = { 0.6, 1.075385 }, },
         },
         ViewInfo = OperatorInfo { Pos = { -84.4615, 114.231 } },
      }
   }
}
Offline

Sam Steti

  • Posts: 1566
  • Joined: Tue Jun 17, 2014 7:29 am
  • Location: France

Re: How to create a dotted circle

PostWed Oct 14, 2020 3:40 pm

Barça vs Juventus ? ;)
Legacy MacPro 8core Xeons, 32 Go ram, 2 x gtx 980 ti, 1SSD for system, 2 SSDs raid0 for footage and caches, OSX ElCap and High Sierra, Resolve 15.3 Studio
Offline
User avatar

digitallysane

  • Posts: 15
  • Joined: Wed Sep 30, 2020 8:51 am
  • Location: Romania
  • Real Name: Dragos Stefan

Re: How to create a dotted circle

PostFri Oct 16, 2020 9:25 am

Here's one way.
Use the "Last" field in the Duplicate3D "Copies" parameter to set the number of segments.
use the "Length" parameter in the Ellipse tool to set the gap size / length of a segment.

Code: Select all
{
   Tools = ordered() {
      MediaOut1 = MediaOut {
         Inputs = {
            Index = Input { Value = "0", },
            Input = Input {
               SourceOp = "Renderer3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 772, 126.47 } },
      },
      Renderer3D1 = Renderer3D {
         CustomData = {
            ToolVersion = 2,
         },
         Inputs = {
            GlobalOut = Input { Value = 119, },
            Width = Input { Value = 1920, },
            Height = Input { Value = 1080, },
            UseFrameFormatSettings = Input { Value = 1, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            SceneInput = Input {
               SourceOp = "Duplicate3D1",
               Source = "Data3D",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 574.667, 127.273 } },
      },
      Duplicate3D1 = Duplicate3D {
         CtrlWZoom = false,
         Inputs = {
            LastCopy = Input {
               SourceOp = "Publish1",
               Source = "Value",
            },
            ["Rotate.Z"] = Input {
               SourceOp = "Angle_from_copies",
               Source = "Result",
            },
            SceneInput = Input {
               SourceOp = "ImagePlane3D1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 464.667, 127.273 } },
      },
      Publish1 = PublishNumber {
         Inputs = {
            Value = Input { Value = 6, },
         },
      },
      Angle_from_copies = Calculation {
         CtrlWZoom = false,
         NameSet = true,
         Inputs = {
            FirstOperand = Input { Value = 360, },
            Operator = Input { Value = 3, },
            SecondOperand = Input {
               SourceOp = "Publish1",
               Source = "Value",
            },
         },
      },
      ImagePlane3D1 = ImagePlane3D {
         Inputs = {
            ["SurfacePlaneInputs.ObjectID.ObjectID"] = Input { Value = 1, },
            MaterialInput = Input {
               SourceOp = "Background1",
               Source = "Output",
            },
            ["MtlStdInputs.MaterialID"] = Input { Value = 1, },
         },
         ViewInfo = OperatorInfo { Pos = { 326.667, 127.879 } },
      },
      Background1 = Background {
         Inputs = {
            GlobalOut = Input { Value = 119, },
            Width = Input { Value = 1000, },
            Height = Input { Value = 1000, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            TopLeftRed = Input { Value = 1, },
            TopLeftGreen = Input { Value = 1, },
            TopLeftBlue = Input { Value = 1, },
            EffectMask = Input {
               SourceOp = "Ellipse1",
               Source = "Mask",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 216.667, 127.879 } },
      },
      Ellipse1 = EllipseMask {
         Inputs = {
            Filter = Input { Value = FuID { "Fast Gaussian" }, },
            BorderWidth = Input { Value = 0.07, },
            Solid = Input { Value = 0, },
            CapStyle = Input { Value = 0, },
            WriteLength = Input { Value = 0.134, },
            MaskWidth = Input { Value = 1920, },
            MaskHeight = Input { Value = 1080, },
            PixelAspect = Input { Value = { 1, 1 }, },
            UseFrameFormatSettings = Input { Value = 1, },
            ClippingMode = Input { Value = FuID { "None" }, },
         },
         ViewInfo = OperatorInfo { Pos = { 216.667, 95.4848 } },
      }
   }
}

Return to Fusion

Who is online

Users browsing this forum: Google [Bot] and 15 guests