Jump to content
Unity Insider Forum

GUI.matrix


Guest Tenshi2012
 Share

Recommended Posts

Guest Tenshi2012

Hey ich habe mal eine Frage bezüglich der Skalierung der GUI Elemente.

Nutze bisweilen immer eine Berechnung durch die Bildschirmbreite und - höhe (Screen.width, Screen.height)....

 

Bin durch das Forum hier und im Inet auf die Matrix4x4 GUI.matrix gestoßen und fand den Ansatz echt gut (hätte man auch selber drauf kommen können :D)

 

Wie dem auch sei, ich gebe also meine native Auflösung an, 1920 x 1080.

Paar Hintergrundinfos. Die Anwendung soll nur im Vollbildmodus sein und benutze ein Hintergrundbild und sonst Buttons, die aus 16x16 Grafiken hochskaliert werden.

 

Bei Auflösungen, die kleiner sind als 1920 x 1080, zB 1280 x 720 skaliert er mir das alles oben links in die Ecke. Es ergibt sich eine Ratio von 0.667. Der Rest ist Hintergrundfarbe. Wenn ich das Hintergrundbild vor der Matrixskalierung zeichnen lasse, passen die Buttonspositionen nicht mehr dazu. Wähle ich als native Auflösung 1280 x 720 so ist der Effekt gespiegelt. Ratio ist dann 1,667. Man sieht nicht mehr alles.

 

Codetechnisch sieht das ungefähr so aus (schematisch)

private OnGUI() {
this.scale.x = Screen.width / ORIGIN_WIDTH;
this.scale.y = Screen.height / ORIGIN_HEIGHT;
GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, this.scale);
//GUISTUFF zB Buttons und und und
}

 

Was kann ich da machen?

 

Edit: Muss ich die Größen über GUI.matrix.multiplyVector neu berechnen?

 

Edit2: Habe es nun gelöst, lag daran, dass ich meine Werte für die späteren GUIElemente vorher noch durch Screen.height und Screen.width bezogen habe und darauf wiederum die Matrixtransformation angewendet habe.

 

LG, Tenshi

  • Like 7
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...