[Résolu] Position et taille d'un GameObject en fonction de la résolution

Questions à propos du GUI, y compris la partie script.
Avatar de l’utilisateur
LeKraken
Messages : 9
Inscription : 25 Juin 2016 23:20

[Résolu] Position et taille d'un GameObject en fonction de la résolution

Message par LeKraken » 15 Oct 2016 19:42

Salut !

Alors voilà, j'ai un petit souci... En gros, je suis en train de faire une scène dans laquelle j'aimerai qu'un de mes GameObjects reste toujours à la même position à l'écran, quelle que soit la résolution. Dans mon cas actuel, si je passe de 16:9 à 4:3 par exemple, ce GameObject (qui est situé à gauche de l'écran) est coupé en deux, et on ne voit que la partie droite ! En gros, j'aimerais faire en sorte que la distance "bord de l'écran - GameObject" reste la même pour toutes les résolutions !
En cherchant un peu, j'ai trouvé ce bout de code sur un forum :

Code : Tout sélectionner

		Rect viewportRect = Camera.main.pixelRect; 

		Vector2 newPos = new Vector2(viewportRect.xMin + 200, Camera.main.pixelHeight - 200);

		transform.position = Camera.main.ScreenToWorldPoint(newPos);
Je comprends (enfin j'ai l'impression ^^) ce code, et pour moi ça devrait marcher. Le truc, c'est que quand je run, j'ai l'impression que ça marche bien dans l'onglet Scene, mais mon GameObject ne s'affiche plus du tout dans l'onglet Game, quelle que soit la résolution (alors que d'après l'onglet Scene, il est parfaitement à la bonne position, et dans le champs de la caméra...) !

Du coup, est-ce que quelqu'un aurait une idée sur la raison de ce souci, et / ou une autre solution me permettant d'adapter la position de mon GameObject à la résolution de l'écran ?

Dans le même registre, est-ce que quelqu'un aurait une méthode pour changer la taille de ce GameObject en fonction (encore) de la résolution ? Si l'écran est en 4:3, j'aimerais bien que le Game Object soit plus petit que s'il est en 16:9.

Voilà voilà, merci beaucoup pour votre temps et vos réponses !
Dernière édition par LeKraken le 20 Oct 2016 19:39, édité 1 fois.

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Position et taille d'un GameObject en fonction de la résolution

Message par Alesk » 16 Oct 2016 01:18

Il faudrait vérifier la position sur l'axe Z retournée par la fonction ScreenToWorldPoint()
Pour le changement de taille, il suffit de tester le rapport hauteur/largeur d'affichage et de se fier à ça pour moduler la taille de tes objets

Avatar de l’utilisateur
LeKraken
Messages : 9
Inscription : 25 Juin 2016 23:20

Re: Position et taille d'un GameObject en fonction de la résolution

Message par LeKraken » 16 Oct 2016 09:42

Ouais, pour ce qui est de la position z, j'y ai déjà pensé, j'avais fixé le z actuel de mon GameObject (z pour lequel il s'affiche bien), et même résultat : il ne s'affiche pas quand j'utilise cette méthode...

Avatar de l’utilisateur
Alesk
Messages : 2303
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Position et taille d'un GameObject en fonction de la résolution

Message par Alesk » 16 Oct 2016 22:37

Il ne s'affiche pas ... mais peux-tu le retrouver dans la scène depuis l'éditeur ?

Avatar de l’utilisateur
LeKraken
Messages : 9
Inscription : 25 Juin 2016 23:20

Re: Position et taille d'un GameObject en fonction de la résolution

Message par LeKraken » 17 Oct 2016 13:00

Oui c'est ça qui est dingue : il existe bien dans l'éditeur et il est à la bonne position dans la scène. C'est juste que pour un raison inconnue, il ne s'affiche plus quand je run...

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

Re: Position et taille d'un GameObject en fonction de la résolution

Message par boubouk50 » 17 Oct 2016 13:40

Ne serait-ce pas une question de near clipping plane? Ton GameObject est trop près de la caméra, il n'est pas rendu.
"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

Avatar de l’utilisateur
LeKraken
Messages : 9
Inscription : 25 Juin 2016 23:20

Re: Position et taille d'un GameObject en fonction de la résolution

Message par LeKraken » 20 Oct 2016 19:38

Ok, donc j'ai fini par comprendre le problème !
Pour une raison complètement inconnue (pour moi en tout cas), quelque soit la valeur z que je donne au vecteur newPos (changé en Vector3 pour l'occasion), mon GameObject était automatiquement placé en z = -89 et quelques... Ce qui explique que ma caméra ne le voyait pas (vue sa config) !
Donc j'ai résolu le truc en fixant le z à la valeur qui m'arrange, juste après ce bout de code !

Assez bizarre comme histoire, mais l'essentiel, c'est que maintenant ça marche x)
Merci de vos réponses !

(Je passe le sujet en Résolu)

Répondre

Revenir vers « L'interface GUI »