Jump to content
Unity Insider Forum

Auflösungs-Problem


Recommended Posts

Hi Leute,

ich hoffe ihr könnt mir helfen. Ich habe folgendes Problem.

Mein Spiel ist ziemlich simpel und besteht praktisch nur aus GUIs. Wenn ich die Auflösung ändere verschiebt sich natürlich die ganze Oberfläche. Ich habe schon im Internet nach Lösungen gesucht, aber die haben mir nicht wirklich geholfen. Ich benutze ausschließlich Java-Scripts und das Spiel läuft auf Android.

 

Danke im Voraus :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi Gibby,

 

benutzt du das neue oder das alte UI System von Unity?

 

Benutzeroberflächen für Androidgeräte ist immer ein hiesiges Unterfangen. Ein Haufen von Geräten mit unterschiedlichen Auflösungen unf Seitenverhältnissen. Mehr oder weniger muss man sämtliche Fälle individuell abfangen. Ich kenne noch keine Lösung, bei der das ein Zuckerschlecken ist.

 

Mit dem neuen UI kann man wenigstens relative Skalierungen und Positionen verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich die Auflösung ändere verschiebt sich natürlich die ganze Oberfläche.

 

Ich hoffe du hast da noch nicht zu viel Zeit in die GUI investiert? Auflösungsunabhängigkeit ist nämlich etwas, was man möglichst früh im Entwicklungsprozess bedenken muss, wenn man sich nicht unnötig Arbeit machen mag.

 

Das neue Unity UI unterstützt ein paar Möglichkeiten, unter anderem physische Koordinaten (die unabhängig von der Display-Dichte immer für die gleiche "Größe" für GUI Elemente sorgen), oder auch Skalierungen anhand einer Referenz-Auflösung. Außerdem hilft hier in gewissem Rahmen, wenn man es korrekt einsetzt auch das neue Anchoring-System.

 

Das alles ersetzt aber nicht, dass Du Dir selbst überlegen musst, wie du mit verschiedenen Seitenverhältnissen umgehst. Eine extrem simple Lösung wäre beispielsweise, dass alle GUI-Elemente nur im inneren Quadrat des Bildschirms erscheinen. Das klappt immer - ist aber natürlich arg beschränkt. Du könntest deine GUI-Elemente auch nur links und rechts, oder oben und unten anordnen. Und dann kannst du diese beiden Ansätze geschickt mischen ... und dann gibt's noch eine ganze Menge anderer Möglichkeiten.

 

Die Komponente im neuen Unity UI (ehemals uGUI genannt), die die Skalierung übernimmt ist der CanvasScaler. Die ist inzwischen standardmäßig bei jedem Canvas dabei.

 

Und ja, ich würde auf jeden Fall auf Unity 4.6 updaten ;-)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die Antwort jashan,

leider habe ich schon relativ viel Zeit in das GUI investiert und hab dabei gar nicht an eine Auflösung gedacht. Das Problem ist das man je größer das Display ist die Knöpfe schlechter treffen kann, die Knöpfe müssten dem entsprechend mit der Auflösung wachsen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

leider habe ich schon relativ viel Zeit in das GUI investiert und hab dabei gar nicht an eine Auflösung gedacht. Das Problem ist das man je größer das Display ist die Knöpfe schlechter treffen kann, die Knöpfe müssten dem entsprechend mit der Auflösung wachsen...

 

Ganz ehrlich: Ich hab auch eine komplette ziemlich komplexe GUI mit UnityGUI für ein Spiel entwickelt und das hat recht lange gedauert, weil UnityGUI einfach nicht besonders komfortabel ist. Mit dem neuen Unity UI geht's höchstwahrscheinlich viel schneller, und wenn du dein altes GUI sauber aufgesetzt hast, ist auch das "Umhängen der Events" nicht so schwer. Eine der übelsten Sachen am alten UnityGUI ist, dass es unglaublich verführerisch war, Präsentation und Logik zu vermischen ... wenn du das nicht gemacht hast: Cool, dann ist die Umstellung easy ... und wenn du es so gemacht hast: Stell es besser um ;-)

 

Allerdings kann man natürlich mit UnityGUI auch einige recht witzige Sachen machen, die ansonsten eher schwieriger sind (ich denke dan an abgefahrene Animationen direkt aus dem Code heraus) ... aber ... wenn ich's mir so recht überlege: Auch das ist wahrscheinlich in praktisch allen Fällen in Unity UI besser.

 

Fazit: Für alles außer Editor-Scripting würde ich UnityGUI vergessen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...