Beam Object Curve Size

I am trying to a perfect circle using attachments and beam objects… I cannot find a way to make a perfect circle when I copy and paste the half circle shown below…

Diameter between attachments: 4 studs
Radius between attachment and center: 2 studs

If you look at the middle of the curve, the radius between the middle of the curve, and the center is not equal to the intended radius of 2…

Any ideas?

(right now it looks like a circle, but it’s an oval)

2 Likes

When I duplicate it, and rotate it, you can see that it’s an oval because it’s sticking out a little.

Its recommended that you should try to stay away from using Beams to make a hollow circle as you’re doing now. The quality can change the look massively.
Check this thread out:

2 Likes


I was wondering how Island Royale had such a great circle… I want this circle for my own game so that players will know where the out-of-bounds is each round…

I am assuming that they did not use beam objects because I realized that they are really bad to use for larger scale purposes (glitches, and stuff)

I’ve read as solution on how to make circles that you should just use multiple straight beams that form a regular polygon with a lot of sides so it looks like a circle.

1 Like

So lets pretend that I want 30 sides to my “circle”. I would need to have 30 attachment parts…

And when the circle gets smaller, I would constantly have to update 30 attachment parts’ positions…

Would this work? (as in performance wise

While the circle is shrinking loop →


local currentAngle = 0

for I = 1, 30 do
--find attachment[I]
--xPosition = radius * cos(currentAngle)

--yPosition = radius * sin(currentAngle)


--Position attachment CFrame according to the calculated position * origin CFrame

end


This is simply bad pseudocode that illustrates the idea^

Just try it out, it shouldn’t lag too much. Also using a part for each attachment is probably more expensive than just making it 30 Attachments inside of one part and changing their positions.

1 Like

For Strucid, I just use a lot of parts to create the illusion of a circle.

2 Likes

I honestly don’t know exactly how you made your circle ^

Edit**
I coded a circle attachment system that creates the illusion of a circle - given a radius… I guess this problem is solved. Thanks everyone who contributed (:slight_smile:

Aren’t beam shapes a cubic bezier? That’s the impression I got when I was playing with them

If you change the CurveSize0 or the CurveSize1, then it becomes a Bezier curve. However, I am using linear beams to make a circle… Basically, I have a circle of 30 attachments, and then I connect beams in-between all of the attachments.

(In this case, I am using 15 vertices for a lower quality circle^)

This is definitely the best method, as it’s drawn by Roblox and adaptive to different graphic settings.

I would even go as far as to drawing x amount of attachments for x quality level

1 Like

This tweet has the exact formula that you need. x.com

I am assuming that your method works - Even if that did work, using Beam Curves isn’t great for large scale models (like a battle royale circle) because it doesn’t render correctly or something.

Experiment:

Radius = 1000

If you test a beam curve circle w/ this radius, it will not look as expected.