RETOUR AU SITE UNITY3D-FRANCE Forum Unity3D-France • Afficher le sujet - Resize des textes du GUI selon une résolution

Resize des textes du GUI selon une résolution

Resize des textes du GUI selon une résolution

Messagepar MrSlher » 02 Mar 2012, 15:48

Bonjour à tous.

Je suis entrain de faire un GUI qui se resize automatiquement en fonction de la résolution.
Pour l'instant j'ai fait les boutons, jusque la pas de soucis, seulement quand j'applique ce code de resize à des
labels rien ne ce passe. Voici un bout de mon code :

Code: Tout sélectionner
//Contrôle du bouton Run (Rect(Screen.width - 75,70,55,55)

GUI.Button(Rect(Screen.width*0.92f,Screen.height*0.13f,Screen.width/17.455f,Screen.height/9.82f),runSprit);

//Label du bouton Run   (Rect(Screen.width - 148,80,55,55)

GUI.Label(Rect(Screen.width*0.845f,Screen.height/6.75f,Screen.width/17.455f,Screen.height/9.82f),"RUN");



Pareil pour les GUI.Box, elles se resizent, mais les textes qu'elles contiennent non.

Est-ce qu'il y aurait quelque chose à cocher dans la font que j'utilise?

Si personne ne comprend ce dont je parle je peux aussi faire de jolis screens :)
Web // www.aheckmann.com
Skype // antoine.heckmann
Avatar de l’utilisateur
MrSlher
 
Messages: 18
Inscription: 30 Jan 2012, 23:06

Re: Resize des textes du GUI selon une résolution

Messagepar Freelax » 02 Mar 2012, 17:31

x et x et x post sur le sujet ...
Unity un jour, Unity toujours.
Sujet à la conscience collective ...
http://www.denis-provost.fr/
Ma chaine Youyou
Zikpot Me
Unitplay
Avatar de l’utilisateur
Freelax
 
Messages: 1472
Inscription: 30 Déc 2009, 23:02
Localisation: Niort

Re: Resize des textes du GUI selon une résolution

Messagepar cayou66 » 02 Mar 2012, 19:02

Freelax a écrit:x et x et x post sur le sujet ...

+1 :roll:

http://www.unity3d-france.com/unity/phpBB3/viewtopic.php?f=7&t=1710
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4659
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Resize des textes du GUI selon une résolution

Messagepar MrSlher » 03 Mar 2012, 15:08

Désolé si la question a déjà été posée à plusieurs reprises !

Je creuserai un peu plus profondément la prochaine fois ! ;)

Merci pour le lien cayou!

Pour ceux que ça intéresse j'ai trouvé ce code aussi sur Unity answers :

Code: Tout sélectionner
var native_width : float = 1920;
var native_height : float = 1080;

function OnGUI () {

   //set up scaling

    var rx : float = Screen.width / native_width;
    var ry : float = Screen.height / native_height;
    GUI.matrix = Matrix4x4.TRS (Vector3(0, 0, 0), Quaternion.identity, Vector3 (rx, ry, 1));


Il n'est pas aussi élaboré que royalskunk, mais il fonctionne :)
Web // www.aheckmann.com
Skype // antoine.heckmann
Avatar de l’utilisateur
MrSlher
 
Messages: 18
Inscription: 30 Jan 2012, 23:06

Re: Resize des textes du GUI selon une résolution

Messagepar cayou66 » 03 Mar 2012, 17:57

L'essentiel est d'utiliser la méthode "GUI.matrix = Matrix4x4.TRS" qui va redimensionner tout ton GUI à la résolution souhaité par rapport à celle "native".
Le seul gros inconvénient de cette méthode est la perte de qualité, non négligeable.
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4659
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Resize des textes du GUI selon une résolution

Messagepar mers60 » 26 Avr 2012, 12:44

Moi en quelques ligne...

Je prend ma calculette je décide que sur une réso de 1440 par exemple je veux un font max a 15.

je divise 15 par 1440, j’obtiens environ 0.018 (J'ai pas fait le calcul)

donc pour appliquer le redimensionnement, je fais ceci

float decimateur = 0.018;

font size = decimateur * par la résolution;

je le met sur une boucle GUI ou vous pouvez l'appeler évidement ; )
mers60
 
Messages: 32
Inscription: 17 Juin 2011, 22:50

Re: Resize des textes du GUI selon une résolution

Messagepar cayou66 » 26 Avr 2012, 16:58

Ne marche pas sur mobile, et attention aux perfs des fonts dynamics.
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4659
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal

Re: Resize des textes du GUI selon une résolution

Messagepar mers60 » 26 Avr 2012, 17:40

je ne travail pas sur mobile,

appeler cette methode si reso == 1440 par exemple ne genere aucune perte de performance, j'ai un menu full dynamic
mers60
 
Messages: 32
Inscription: 17 Juin 2011, 22:50

Re: Resize des textes du GUI selon une résolution

Messagepar yoyoyaya » 03 Mai 2012, 17:33

de même que mers60, j'ai tout à la mano.

Ma gui fais disons 100 px de large et 50 de haut sur une reso de 1920/1080.
Soit 100/1920 = 0.052 et 50/1080 = 0.046
Ma gui fera la largeur de l'affichage x 0.052 par la hauteur x 0.046.
Pour la position dans l'affichage, c'est le même système.

Après, si il y a plus simple, je veux bien voir :D
Avatar de l’utilisateur
yoyoyaya
 
Messages: 982
Inscription: 30 Mai 2011, 13:14
Localisation: PAAAAARTOUUUU

Re: Resize des textes du GUI selon une résolution

Messagepar cayou66 » 03 Mai 2012, 17:51

C'est juste que les fonts dynamic sont pas dispo sur mobile, pour tout le reste c'est pas plus mal de faire comme tu fais. En fait ça dépend, parfois placer un élément docké dans un coin peut être mieux car tu garde la qualité en conservant l'ergonomie, tant que l'utilisateur n'a pas un écran de fourmi...
-===Creative lifestyle===-
Visitez mon site ! http://www.cayou-prod.com
Tutoriels GUI d'Unity (entre autres): http://cayou-prod.com/?cat=8&lang=fr
GMT-05 (Canada/USA Est)
N-G-U-I
Avatar de l’utilisateur
cayou66
 
Messages: 4659
Inscription: 30 Juin 2011, 14:45
Localisation: Montréal


Retourner vers L'interface GUI

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité