Problems with instantiated objects in a circle formation
Hello world,
I'm having an issue that I can't quite solve. I have a working script that instantiates objects around another object in a circular formation.
 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class MoonSpawner : MonoBehaviour
 {
     public GameObject moonPrefab;
     public float orbitRadius;
     public int currentMoonNumber;
 
     private Vector3 center;
     private float rotationSpeed = 50;
 
     void Start()
     {
         center = this.transform.position;       
         {           
             SpawnMoons();
         }
     }
 
     public void Update()
     {
         transform.Rotate(new Vector3(0f, 0f, rotationSpeed) * Time.deltaTime);
     }
 
     public void SpawnMoons()
     {
         for (int i = 0; i < currentMoonNumber; i++)
         {
             GameObject moon= Instantiate(moonPrefab, center, Quaternion.identity) as GameObject;
             moon.transform.SetParent(this.transform, false);          
 
             float angle = i * Mathf.PI * orbitRadius / currentMoonNumber;
             Vector3 NewPosition = new Vector3(Mathf.Sin(angle) * orbitRadius, Mathf.Cos(angle) * orbitRadius, 0);
             moon.transform.localPosition = NewPosition;
         }            
     }
 }
Now, this script works fine with certain numbers and doesn't with others. The rotation in void update is a little wierd, with the moons wobbling a little bit (that needs to be fixed somehow) but my main problem is the following: certain moon numbers don't work.
When the currentMoonNumber is 1, 2, 4, 7 the script works, with every moon neatly in its place. When the currentMoonNumber is 3, 5, 6 the script spawns the moons but they're spawned overlapping each other so they look like 1 moon. (i checked and saw that the moons were instantiated, but overlapping in the same position.
i have no idea why this happens. I think it has to do with the math used to calculate the distance among the moons.
can anyone give me a hand with this?
thanks in advance!
Lajos
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                