[RESOLU] Tremblement GUI après changement de version de Unity

Questions à propos du GUI, y compris la partie script.
Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

[RESOLU] Tremblement GUI après changement de version de Unity

Message par Teutch » 22 Fév 2019 10:58

Bonjour,

résumé de mes mésaventures...

J'ai commencé il y a fort longtemps un petit jeu de memo avec Unity 5.2.5 (si je ne m'abuse), j'étais limité à cette version parce que j'étais sous XP et que je n'avais pas la possibilité d'en changer.
Depuis peu, j'ai un nouveau PC sous W10, et du coup j'ai voulu mettre à jour Unity. J'ai testé mon projet sur différents ordis avant de complètement basculer. Le projet avait un problème sur un des ordis, mais comme il s'est avéré que l'ordi lui-même était instable, je ne me suis pas inquiété. J'ai donc progressivement/prudemment basculé mon projet.
Malheureusement, plusieurs semaines plus tard, le même problème observé sur l'ordi incriminé s'est manifesté sur mes autres ordis...

Le problème est donc le suivant. Les vignettes/cartes de l'interface du jeu oscillent de plus en plus verticalement tant qu'on reste sur l'interface. Ce sont des boutons GUI générés aléatoirement et disposés dans un canvas automatiquement. Je n'ai absolu rien changé dans cette partie. J'ai beau vérifié la partie du code qui génère ces cartes, je ne vois rien qui cloche, surtout que ça fonctionnait avant.
J'utilise des GUI ailleurs, interface de lancement, préférences... et il n'y a pas de problème.

Ça vous dit quelque chose ce truc ?


Merci ! :hello:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5160
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Tremblement GUI après changement de version de Unity

Message par boubouk50 » 22 Fév 2019 11:07

Salut,
ça "tremble" comment?
Sur un pixel? Ce pourrait être un problème de pixel ratio. Ton élément est positionné entre 2 pixels et du coup des fois il est dessiné sur celui du dessus, des fois celui du dessous.
Quel système d'UI utilises-tu?
"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

Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

Re: Tremblement GUI après changement de version de Unity

Message par Teutch » 22 Fév 2019 11:38

En fait ça oscille verticalement, au début c'est imperceptible, et rapidement s'est de plusieurs dizaines de pixels.

J'ai plusieurs Canvas, un pour le fond et le score (pas de problème), un pour les cartes (qui oscillent), et un autre pour une carte affichée en grand (pas de problème).

Je me demande si ça ne pourrait pas venir de "Grid Layout Group", mais je ne sais pas trop pourquoi...

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5160
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Tremblement GUI après changement de version de Unity

Message par boubouk50 » 22 Fév 2019 11:47

C'est un comportement anormal pour Unity.
N'aurais-tu pas un script quelque part qui jouerait sur des tailles d'affichage, d'ancrage ou autre?
"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

Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

Re: Tremblement GUI après changement de version de Unity

Message par Teutch » 22 Fév 2019 12:00

Ben justement, je ne vois pas.

J'ai un script qui assigne aléatoirement des images à mes cartes qui sont par la suite placées dans le canvas et mis en forme avec le "Grid Layout group". J'ai également un script qui définit certain paramètres du "Grid Layout group" (padding, cellSize, spacing) selon le nombre de cartes (par rapport à la difficulté), les paramètres sont des entiers, je ne devrais pas avoir de problème...

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5160
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Tremblement GUI après changement de version de Unity

Message par boubouk50 » 22 Fév 2019 12:08

Est-il possible d'avoir le code du script qui modifie les paramètres stp?
Entiers ou pas, si le code est dans un Update () et pas précis, ça pourrait venir de là.
"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

Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

Re: Tremblement GUI après changement de version de Unity

Message par Teutch » 22 Fév 2019 12:15

Oui, voilà !
J'ai oublié de préciser, je suis débutant (depuis des années :oops: )

Code : Tout sélectionner

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class RepartitionGrille : MonoBehaviour {

	public static byte niveauDifficulte ;

	GridLayoutGroup grille ;

	// Use this for initialization
	void Start () {
		Transform canvas = GameObject.Find("Canvas_jeu").transform;
		grille = canvas.GetComponent<GridLayoutGroup> ();

		switch (niveauDifficulte) {
		case 0 : 
			grille.padding.left = 34 ;
			grille.cellSize = new Vector2(200,200);
			grille.spacing = new Vector2(10,10);
			break ;
		case 1 : 
			grille.padding.left = 20 ;
			grille.cellSize = new Vector2(142,142);
			grille.spacing = new Vector2(8,8);
			break ;
		case 2 : 
			grille.padding.left = 10 ;
			grille.cellSize = new Vector2(113,113);
			grille.spacing = new Vector2(4,4);
			break ;
		}
	}

}

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5160
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Tremblement GUI après changement de version de Unity

Message par boubouk50 » 22 Fév 2019 12:55

Ce ne doit pas être cela qui gêne. Les éléments sont dimensionnés uniquement au Start () et pas en cours de jeu.
"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

Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

Re: Tremblement GUI après changement de version de Unity

Message par Teutch » 22 Fév 2019 15:13

Bon, bon, bon !

Je vais poursuivre mes investigations, et probablement refaire cette partie là . :pleur4:

Merci tout de même ! :hello:

Teutch
Messages : 30
Inscription : 17 Nov 2014 22:58

Re: Tremblement GUI après changement de version de Unity

Message par Teutch » 10 Août 2019 00:34

Me revoilà avec toujours le même problème.
(oui cinq mois après...)

En fait, je ne m'en sors pas.
Je ne sais pas si ça pourrait permettre à un éventuel sauveur de trouver, mais dans mes tests, j'ai remarqué que si je désactivais le "Pixel Perfect" du canvas mes vignettes tombent.

Je n'ai rien de physique pourtant dessus, je ne vois vraiment pas. Et si je mets une vignette manuellement dans le canvas, elle ne réagit pas comme les autres.


Merci !

Répondre

Revenir vers « L'interface GUI »