Jump to content
Unity Insider Forum

Android: verschiedene Auflösungen unterstützen


.x-tra

Recommended Posts

Wie funktioniert das Ganze?

Ich hab jetzt eine ganze masse Modelle und auch Sprites aka Texturen für ein Spiel gebastelt.

Alles nicht wirklich klein.

 

Problem ist dass ich es auf allen Android Devices lauffähigig haben möchte.

Also zumindest die aktuell verfügbaren.

 

Dazu benötige ich nun eure Hilfe

 

 

P.S. Oder wird das alles nur irgendwie skaliert?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 3 weeks later...

Du musst zunächst mal rausfinden, auf welchen Geräten das Spiel laufen soll. Dann suchst du dir die Spezifikation des schlechtesten Gerätes raus und findest herraus wie groß die Texturen maximal sein dürfen und wieviel GRam vorhanden ist. Passe dann die Export-Einstellungen der Texturen für Android dementsprechend an.

 

Die komplexere Aufgabe ist es eigentlich, die GUI auf allen Geräten ansprechend aussehen zu lassen und richtig zu skalieren.

 

Viel Erfolg weiterhin!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie funktioniert das Ganze?

 

Das hängt davon ab, wie du es implementieren möchtest. Es gibt verschiedene Möglichkeiten, die wiederum davon abhängen, wie dein Projekt aufgesetzt ist ...

 

P.S. Oder wird das alles nur irgendwie skaliert?

 

... das ist eine der Möglichkeiten, und auch gleichzeitig die Naheliegendste: Ich nehme mal an, dass es um ein 2D-Spiel und die Sprites dieses 2D-Spiels geht. Bei Unity 2D wirst du normalerweise eine orthogonale Kamera mit fest definierter Größe verwenden. Dann passiert das Skalieren automatisch anhand der Höhe. Falls du Größe der orthogonalen Kamera anpasst, um "pixel-perfect" zu erreichen, ist's natürlich deutlich komplizierter. Falls du eine perspektivische Kamera verwendest (bei 2D-Spielen eher unüblich, aber kann man schon machen), dann wird sicher automatisch "skaliert" (wieder anhand der Bildschirm-Höhe) ... zumindest kenne ich niemanden, der je nach Bildschirm-Höhe am FoV rumspielt.

 

Was die automatisch Skalierung dir nicht gibt sind Anpassungen an verschiedene Aspect-Ratios (also Bildschirmseitenverhältnisse). Besonders "krass" ist das bei Portrait vs. Landscape ... aber du kannst einfach "nur Landscape" oder "nur Portrait" unterstützen. Damit hast du das Problem schonmal von der Backe.

 

Bleiben immer noch die verschiedenen Seitenverhältnisse von 4:3 bis 16:10 (evtl. ist's noch eine größere Bandbreite - ich vermute da dürften die Links von Schlumpf helfen). Wenn's auf 4:3 funktioniert, funktioniert es auch auf 16:10 ... die Frage ist, ob dann Sachen ins Bild kommen, die du nicht im Bild haben möchtest. Oder - falls es dir doch um das Thema "GUI" gehen sollte - ob das Layout dann total schräg aussieht ... oder ob du den zur Verfügung stehenden Platz nicht besser ausnutzen möchtest.

 

Da wird's dann komplizierter - die Wahl liegt bei dir (na ja, ein wenig hängt's auch vom Spiel ab bzw. was du genau machen möchtest - wenn es in deinem konkreten Fall, wenn du nix machst so übel aussieht, dass das nicht akzeptabel ist, musst du dich um das Thema eingehender kümmern ;-) ).

 

Die verschiedenen Bildschirmauflösungen und Seitenverhältnisse kannst du direkt in Unity testen (da gibt's direkt beim GameView eine Einstellung, und da kannst du auch eigene Seitenverhältnisse / Höhen eintragen). Wenn du sehr dichte Displays unterstützen möchtest (bei iOS "Retina", bei Android gibt's aber auch tolle Displays mit hoher Pixeldichte) brauchst du dazu allerdings ggf. einen sehr großen Monitor (wenn du dich auf "Skalierung" verlässt natürlich nicht - auch dafür ist Skalierung also die einfachste Lösung).

 

Die Bedenken zwecks Speicher von @zkw sind natürlich auch wichtig (aber dazu hat er ja schon etwas geschrieben).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich größere Displays (bzw andere Aspect-Ratios) nicht anders nutzen will weil man da mehr Platz hat, verlasse ich mich ganz gern wie B.J auch noch auf das gute alte OnGUI-System. Allerdings geb ich da z.B. alle Größen in Prozentuelle werten an.

Beispiel Button:

Position: 5% vom linken Rand entfernt, 5% vom oberen Rand entfernt

Größe: 15% des Bildschirms breit, 10% des Bildschirms hoch

So ergibt sich auf jedem Gerät das gleiche Feeling.

Mit ein wenig Aufwand lässt sich das auch auf uGUI und Sprites übertragen denke ich

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...