[RÉSOLU][DB-ALL] Générer un système solaire en

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
FriteCoca
Messages : 17
Inscription : 16 Mai 2018 13:39

[RÉSOLU][DB-ALL] Générer un système solaire en

Message par FriteCoca » 10 Déc 2018 23:02

Salut, je cherche à générer un système solaire en mais je ne trouve pas comment générer des planètes avec des cordonnées en valeur négative ( zone rouge, voir Screenshot )

Image

Voici le script :

Code : Tout sélectionner

for (int i = 0; i < _nbPlanet; i++)
                {


                    float tandom = Random.Range(2500, 100000);


                    if (i == 0)
                    {
                        Vector3 Planetpos = new Vector3(
                            this.transform.position.x + Random.Range(25000, 30000),
                            this.transform.position.y,
                            this.transform.position.z + Random.Range(25000, 30000));

                        GameObject Planet = Instantiate(planetModel, Planetpos, Quaternion.identity);
                        Planet.name = Planet + i.ToString();

                        planet.Add(Planet);

                        Planet.transform.parent = this.transform;

                    }
                    else if (_nbPlanet > 1 && i > 0)
                    {


                        Vector3 Planetpos = new Vector3(
                           planet[i-1].transform.position.x + tandom ,
                           this.transform.position.y,
                           planet[i-1].transform.position.z + tandom );


                        GameObject Planet2 = Instantiate(planetModel, Planetpos, Quaternion.identity);
                        Planet2.name = Planet2 + i.ToString();

                        planet.Add(Planet2);

                        Planet2.transform.parent = this.transform;


                    }
Dernière édition par FriteCoca le 11 Déc 2018 23:05, édité 1 fois.

Avatar de l’utilisateur
Sebela
Messages : 139
Inscription : 25 Juin 2014 21:39

Re: [DB-ALL] Générer un système solaire en

Message par Sebela » 11 Déc 2018 12:29

Hello,

Il faudrait en dire un peu plus sur le but final pour qu'on puisse comprendre ce que tu cherches à faire et t'aiguiller sur une solution :]

Normal que tu n'aies des nouvelles planètes instanciées que vers le haut à droite, puisque :
- tu prends une valeur aléatoire positive tandom (entre 2500 et 100000)
- Pour chaque nouvelle planète tu te bases sur la position de la précédente à laquelle tu incrémentes cette valeur positive sur l'axe X et Z.
Si par exemple tu veux que les planètes partent dans la zone rouge tu peux faire :

Code : Tout sélectionner

Vector3 Planetpos = new Vector3(
                           planet[i-1].transform.position.x - tandom ,
                           this.transform.position.y,
                           planet[i-1].transform.position.z - tandom );
Si tu veux qu'elles partent de chaque côté, tu peux faire par exemple :

Code : Tout sélectionner

int sens = 1;
boucle for {
Vector3 Planetpos = new Vector3(
                           planet[i-1].transform.position.x + tandom*sens ,
                           this.transform.position.y,
                           planet[i-1].transform.position.z + tandom*sens );
sens = -sens;
}
Mais il va falloir nous en dire plus ;)

FriteCoca
Messages : 17
Inscription : 16 Mai 2018 13:39

Re: [DB-ALL] Générer un système solaire en

Message par FriteCoca » 11 Déc 2018 23:04

Salut, j'ai finalement trouvé la solution, la voila :

Code : Tout sélectionner

			distance += Random.Range(15000, 100000);

                        float angle = Random.Range(0, 2 * Mathf.PI);

                        Vector3 Planetpos = new Vector3(
                            distance * Mathf.Cos(angle),
                            0,
                            distance * Mathf.Sin(angle));

Avatar de l’utilisateur
Sebela
Messages : 139
Inscription : 25 Juin 2014 21:39

Re: [RÉSOLU][DB-ALL] Générer un système solaire en

Message par Sebela » 12 Déc 2018 18:42

Effectivement, c'est aussi une solution :cote:
ça doit avoir le même effet que mon code juste au-dessus il me semble

Répondre

Revenir vers « (C#) CSharp »