je suis en train de créer un script qui me permettrait une fois fini d'instancier des gameobjects en cercle. Le problème est que je n'ai pas les connaissances mathématiques suffisantes pour finir ce script. J'ai déjà réussi à mettre les gameobject en cercle mais maintenant je veux qu'ils soient perpendiculaires au cercle (je sais ce n'est pas clair). Je vous mets des petites illustrations pour que vous comprenez mieux ma demande. De plus j'aimerai que le nombre de gameobject à instancier soit calculer automatique suivant le rayon du cercle voulu et la longueur du gameobject choisi (si à la fin je n'ai qu'une variable Vector3 à régler pour l'espacement entre les gameobject, ça serait parfait).
Voici également mon script :
Code : Tout sélectionner
public float radius = 1f;
public int amountToSpawn;
public GameObject go;
List<GameObject> gameObjects = new List<GameObject>();
public void SpawnObject()
{
for (int i = 0; i < gameObjects.Count; i++)
{
DestroyImmediate(gameObjects[i]);
}
gameObjects.Clear();
Vector3 targetPosition = gameObject.transform.position;
for(int i = 0; i < amountToSpawn; i++)
{
float theta = i * 2 * Mathf.PI / amountToSpawn;
float x = Mathf.Sin(theta) * radius;
float y = Mathf.Cos(theta) * radius;
GameObject ob = Instantiate(go);
ob.transform.parent = transform;
ob.transform.position = new Vector3(targetPosition.x + x, 0, targetPosition.y + y);
gameObjects.Add(ob);
}
}
Pouvez-vous m'aider ?
Par avance merci
Cordialement