[RESOLU] Déterminer le plus "petit" vertex d'un cube

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
ced_le_dingue
Messages : 70
Inscription : 29 Oct 2019 21:58

[RESOLU] Déterminer le plus "petit" vertex d'un cube

Message par ced_le_dingue » 20 Sep 2020 11:29

Salut les musclés,

Je souhaiterai récupérer les coordonnées d'un vertex d'un cube, qui a les coordonnée (-x,-y,-z)...
Or, quand je stock mes vertex:

Code : Tout sélectionner

Vector3[] vertices = GetComponent<MeshFilter>().mesh.vertices;
Et que je boucle ( avec un for) sur chaque vertex, ils sont donnés dans le "désordre":
Image

Et après avoir regardé, c'est mon vertex n°8 qui a les bonnes coordonnées que je veux (ie: -0.5,-0.5,-0.5)
Donc à moins de faire ça pour avoir sa coordonnée:

Code : Tout sélectionner

Debug.Log(vertices[7]);
Comment je fais pour toujours récupérer le bon sans faire une boucle et regarder dans mon debug pour savoir que c'est le 8ème?
Il existe pas un équivalent pour les vecteurs de ça?:

Code : Tout sélectionner

Debug.Log( -Mathf.Abs(4)); // Renvoi bien l'inverse de 4 = -4

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: Déterminer le plus "petit" vertex d'un cube

Message par Max » 20 Sep 2020 11:48

Bonjour,

ben tu donnes la réponse dans ta question je dirais. Tu parcours dans ta boucle les vertices et récupère l'index de celui qui correspond à la valeur souhaitée.
ced_le_dingue a écrit :
20 Sep 2020 11:29
Il existe pas un équivalent pour les vecteurs de ça?:

Code : Tout sélectionner

Debug.Log( -Mathf.Abs(4)); // Renvoi bien l'inverse de 4 = -4
pas sûr de comprendre, mais V = -V; ça marche aussi.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

ced_le_dingue
Messages : 70
Inscription : 29 Oct 2019 21:58

Re: Déterminer le plus "petit" vertex d'un cube

Message par ced_le_dingue » 20 Sep 2020 12:12

Salut Max,

Ah oui donc la seule solution c'est de faire un if en comparant mon vertex avec celui que je veux (-x,-y,-z)... J'y avais pas pensé en effet :shock:

J'ai fait ça du coup:

Code : Tout sélectionner

for (int i = 0; i <= vertices.Length; i++)
        {
            if (vertices[i].Equals(new Vector3(-0.5f, -0.5f, -0.5f)))
            {
                Debug.Log("Le bon vecteur est: " + i);
                break;
            }
        }
Trop fort, merci Max!!!! :super: :malin1:

Répondre

Revenir vers « Scripting »