[RESOLU] Postition des clones de prefab selon tailles d'écrans

Questions à propos du GUI, y compris la partie script.
MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

[RESOLU] Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 04 Mars 2020 10:17

Bonjour,

Merci d'avance pour vos futures réponses.
Voici donc mon problème que je peine à résoudre. Il s'agit de rendre responsive des clones de prefab. Pour chaque clones, je défini leurs positions X et Y avec un new Vector. Sur un grand écran les clones se placent correctement mais quand il s'agit d'une autre résolution, les clones s'espace 2 fois plus en X. J'ai essayé de jouer avec les ancres, de remplacer le Vector par les positions du prefab mais rien ne change.

Des idées ?
Dernière édition par MD123 le 30 Mars 2020 09:10, édité 1 fois.

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: Postition des clones de prefab selon tailles d'écrans

Message par Aelhan » 04 Mars 2020 11:12

Bonjour,

tout d'abord, travailles-tu en 2D ou en 3D ? (a priori 2D si tu n'as que x et y)
Tes prefabs sont de quel type ? Des objets, des canvas, autres ?
A priori si tu as des ancres, c'est plutôt dans la catégorie "UI", et donc qu'il y a un canvas parent pas loin (je crois).
Si c'est le cas, dans ton canvas tu as un component "canvas scaler", si tu mets la scale mode en "scale with screen size" ça devrait corriger le problème (et éventuellement jouer sur le paramètre "screen match mode").
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

Re: Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 04 Mars 2020 13:12

Merci de ta réponse,

Je travail en 2D, mon prefab est un objet et effectivement il y a un canvas parent. Je viens de tester ta solution est ça ne marche pas. Je travail sur deux écrans, sur le grand, les clones sont bien séparé par l'intervalle en X que j'ai mis en code. Mais sur mon écran de pc les clones sont beaucoup plus séparé et la valeur de X entre chaque clones n'as pas bougé. Étrange !!!

MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

Re: Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 11 Mars 2020 18:09

Je me permet de relancer si d'autres ont des idées.
Merci d'avance :)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6185
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Postition des clones de prefab selon tailles d'écrans

Message par boubouk50 » 11 Mars 2020 18:24

Poste ton code, déjà ça nous permettrait de savoir ce que tu fais.

Ensuite, je suppose que la position est dépendante de la résolution, donc l'intervalle aussi. Mais il me faut connaître ton code et la configuration de ton Canvas.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: Postition des clones de prefab selon tailles d'écrans

Message par djulio74 » 11 Mars 2020 19:31

Alors je n'ai jamais expérimenté le 2D mais au vu de ton problème, la position que tu assigne via un Vector2 est elle comprise entre 0 et 1 pour x et y?
Il me semble que pour afficher à l'écran, comme les GUI par exemple, cela se passe en pixel et non en ratio.
en gros si tu affiche un élément en (500,500) sur un écran de 1000x1000 de résolution, ton élément sera au milieu, par contre si tu assigne toujours a (500,500) sur un écran de 500x500 de résolution, ton élément sera deux fois plus loin de l'origine, donc dans le coin inférieur droit.

par contre si tu assigne bien en ration donc valeur entre 0 et 1, là je ne voit pas et m'excuse d'avoir dérangé en passant. ^^ :lol:

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

Re: Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 16 Mars 2020 13:01

Voici mon code :

Code : Tout sélectionner

public void DisplayClones()
        {
            prefab.gameObject.SetActive(true);
            Transform store;

            for (int i = 0; i < storeFile.store_config.Length; i++)
            {
                x = i % 3 * 475 + prefab.position.x;
                y = i / 3 * -280 + prefab.position.y;
                store = Instantiate(prefab, new Vector2(x, y), Quaternion.identity, parent);
                store.GetChild(0).GetComponent<TextMeshProUGUI>().text = i.ToString();
                store.GetChild(1).GetComponent<TextMeshProUGUI>().text = stores[i];
                listStores.Add(store);
            }

            prefab.gameObject.SetActive(false);
        }
Du coup pour les valeurs du X et Y de mon Vector2 c'est bien en pixel.
Merci encore pour vos réponses !

MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

Re: Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 16 Mars 2020 13:03

Et voici la configuration de mon canvas :
Pièces jointes
2020-03-16_12h02_06.png
2020-03-16_12h02_06.png (33.82 Kio) Consulté 4195 fois

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: Postition des clones de prefab selon tailles d'écrans

Message par Aelhan » 16 Mars 2020 14:25

Normal que tu n'aies pas de Render Camera assignée ?
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

MD123
Messages : 7
Inscription : 03 Mars 2020 18:03

Re: Postition des clones de prefab selon tailles d'écrans

Message par MD123 » 28 Mars 2020 20:12

Je n'ai aucunes idées mais je ne pense pas que ce soit à l'origine de mon problème
Dernière édition par MD123 le 28 Mars 2020 20:16, édité 1 fois.

Répondre

Revenir vers « L'interface GUI »