Logic
You need to figure out how much to rotate each part in orbit, initially. Once they are placed you may continue to rotate each simultaneously.
A circle has 360º. The quotient of 360 and the number of parts is going to be the summand that will rotate each part in even relation to one another..
360/2 = 60
360/3 = 120
You may use a for loop to easily implement this into the step syntax;
for [variable] = [start],[finish],[step] do
--code
end
Code
Here is an example ;
01 | local reference = workspace.Part; |
05 | for i = 1 , 360 , 360 /ps do |
06 | local orig = reference.CFrame; |
07 | local rot = CFrame.Angles( 0 ,math.rad(i), 0 ); |
08 | local dist = CFrame.new( 0 , 0 ,-offset); |
09 | local p = Instance.new( "Part" ); |
10 | p.CFrame = orig*rot*dist; |
11 | p.Size = Vector 3. new( 1 , 1 , 1 ); |