Wählen Sie die Auflösung Ihrer 2D-Assets

CIRO CONTINISIO / UNITY TECHNOLOGIESContributor
Nov 19, 2018|14 Min.
Wählen Sie die Auflösung Ihrer 2D-Assets
Diese Website wurde aus praktischen Gründen für Sie maschinell übersetzt. Die Richtigkeit und Zuverlässigkeit des übersetzten Inhalts kann von uns nicht gewährleistet werden. Sollten Sie Zweifel an der Richtigkeit des übersetzten Inhalts haben, schauen Sie sich bitte die offizielle englische Version der Website an.

Auf Spieleveranstaltungen und im Internet wird mir diese Frage oft gestellt: "Ich entwickle ein 2D-Spiel in Unity für PC und Handy: Welche Auflösung sollten meine Assets haben?" Auf diese Frage gibt es keine einfache Antwort, die für alle Fälle gilt. Lesen Sie diesen Blogbeitrag, um eine bessere Vorstellung davon zu bekommen, was die beste Vorgehensweise für Ihr Projekt ist. In den letzten Jahren haben wir an vielen Funktionen gearbeitet, die Ihnen helfen, 2D-Spiele in Unity zu erstellen: Sprite-Atlas, 2D-Physik, eine Tilemap-Funktion für rechteckige, sechseckige oder isometrische Welten, die splinebasierte Sprite-Form, 2D-Animation und mehr.

Unity drückt die Größe eines Objekts nicht in Pixeln aus und das kann Künstler verwirren, die Assets für 2D-Spiele erstellen. "Wie groß müssen sie sein?" Wie bei der Spieleentwicklung üblich, lautet die Antwort auf diese Frage "es kommt darauf an", aber lassen Sie uns ein paar Konzepte durchgehen, die die Entscheidung erleichtern werden.

Anmerkung: Für die Bilder in diesem Blogpost wurden die wunderschönen 2D-Assets aus dem Asset Store verwendet, in diesem Blog verwenden wir die Kunst des Künstlers Mikael Gustafsson.

Mie Erstellung eines 2D-Spiels in Unity

Grüne 2D-Welt im Editor geöffnet
Pixel Art-Assets

Wenn Sie ein Pixelkünstler sind, ein Wort der Warnung: Die meisten Tipps in diesem Beitrag treffen nicht vollständig auf Ihre Situation zu. Bei Pixelgrafiken hat man etwas, das eine extrem niedrige Auflösung hat, und man möchte es auf das 2-, 4-, 8-fache oder vielleicht sogar noch mehr seiner ursprünglichen Auflösung vergrößern. Das bedeutet, dass ein Pixel Ihrer Originalgrafik jetzt ein Quadrat aus 2x2, 4x4 oder 8x8 echten Pixeln auf dem Bildschirm ist. Bei der Pixelkunst muss man sich also im Allgemeinen nicht allzu sehr um die Bildschirmauflösung kümmern, sondern man geht von seiner Kunst und dem Gefühl aus, das man vermitteln will (Old-School, NES-Ära, 16-Bit-Ära, "moderne" Pixelkunst mit höherer Auflösung usw.) und skaliert sie ein paar Mal hoch. Unity hat jetzt eine Pixel Perfect Lösung in Form eines eigenständigen Pakets, wenn Sie den Built-in RP verwenden, und im Universal RP und dem 2D Renderer enthalten. Es wird mit einer einfachen Komponente geliefert, die auf die Kamera aufgesetzt wird und die harte Arbeit für Sie erledigt und sicherstellt, dass die Grafik scharf und an das Raster der echten, kleinen Pixel auf jedem Bildschirm angepasst ist. Weitere Informationen zum Pixel Perfect finden Sie in der Dokumentation.

Nach unten skalieren, nicht nach oben

Bevor wir uns mit der Wahl der Auflösung befassen, sollten Sie daran denken, dass es beim Authoring Ihrer Assets sinnvoll ist, eine höhere Auflösung zu wählen, auch wenn Sie diese für die Grafiken im Spiel eigentlich nicht benötigen. Man kann Kunst immer verkleinern, aber man kann sie nicht vergrößern, ohne an Qualität zu verlieren.

Stellen Sie sich folgende Szenarien vor: Sie müssen einen Teil des Bildmaterials für Ihr Spiel ausdrucken, oder Sie möchten ein Element auf einem Bildschirm vergrößern, oder Sie möchten eine "HD-Version" Ihres Spiels für spätere 4K-Monitore erstellen.

Aus diesen Gründen sollten Sie bei der Arbeit an den Grafiken Arbeitsdateien verwenden, die die doppelte oder mehr als die tatsächlich benötigte Auflösung haben, und sie dann verkleinern, bevor Sie sie in Unity einbringen, oder die Importeinstellungen verwenden, um ihre Größe zu reduzieren, wenn sie in die Engine importiert werden.

Das Bild zeigt ein Dropdown-Menü des Editors. 523 ist hervorgehoben und 2048 ist mit einem Häkchen markiert.
In den Importeinstellungen für jedes Bild-Asset können Sie die maximale Auflösung auf eine Potenz von 2 setzen.

In den Importeinstellungen können Sie auch eine Maximalgröße und andere Komprimierungseinstellungen pro Plattform festlegen, so dass Sie beispielsweise einige Assets in einer bestimmten Auflösung auf dem PC und nur die Hälfte davon auf mobilen Geräten haben können, bei denen der Platz auf der Festplatte entscheidend ist.

Tipp: Unity bietet eine Möglichkeit, mehrere Sprites in einem Sprite-Atlas zusammenzufassen. Neben der Möglichkeit, Texturplatz zu sparen, bieten Atlanten auch eine einheitliche Möglichkeit, die maximale Größe zu steuern, anstatt sie für jedes einzelne Sprite in Ihrem Projekt einzeln festlegen zu müssen.

Festlegung der Auflösung Ihrer Plattform(en)

Bei der Festlegung der Assetgröße ist es wichtig, die Plattform oder die Geräte zu berücksichtigen, auf denen das Spiel veröffentlicht werden soll. Die Menschen haben sehr unterschiedliche Geräte und Bildschirme und werden Ihr Spiel in einer Vielzahl von Auflösungen und Seitenverhältnissen sehen .

Zum Zeitpunkt des Verfassens dieses Beitrags haben Sie es bei der Veröffentlichung auf dem PC mit einer großen Mehrheit von Nutzern zu tun, die zwei Auflösungen verwenden: meist "Full-HD" (1920x1080 Pixel, oft als 1080p bezeichnet) und zu einem großen Teil 1280x720 (oft als 720p bezeichnet). Ein kleiner Prozentsatz der Nutzer hat auch 4K-Monitore (3840 x 2160) oder Retina-Monitore auf Macs (ein modernes 15-Zoll-MacBook Pro hat eine maximale Auflösung von 3360 × 2100). Das sind eine Menge Pixel, die abgedeckt werden müssen!

Bei Handys ist die Auswahl riesig. Einige alte Geräte können vertikal auf weniger als 720 Pixel heruntergehen, aber einige moderne Geräte können bis zu 4K darstellen.

Tipp: Unity stellt einige dieser Statistiken im Operate Dashboard Ihrer Unity-ID zur Verfügung. Wählen Sie ein Projekt aus, für das Analytics aktiviert ist, und Sie können unter Analytics > Market Insights die aggregierten Statistiken einsehen. Auch Steam bietet auf dieser Seite einen ähnlichen Service an.

Bei Retina-Bildschirmen (ein Markenzeichen von Apple) und anderen modernen Bildschirmen mit hohem DPI-Wert ist die tatsächliche Hardware-Auflösung zwar sehr hoch (z. B. 4K), aber sie können mit einer simulierten niedrigeren Auflösung (in der Regel die Hälfte, z. B. Full-HD anstelle von 4K) arbeiten und Bilder und Text mit der doppelten Anzahl von Pixeln rendern, so dass sie sehr scharf erscheinen .

Anmerkung: DPI (dots-per-inch) oder PPI (points-per-inch, oder pixels-per-inch) sind unterschiedliche Bezeichnungen, die von verschiedenen Herstellern austauschbar verwendet werden, aber letztendlich bedeuten sie dasselbe: wie viele Pixel in einen linearen Zoll auf dem Bildschirm gepresst werden. Traditionell hatten Bildschirme 72 DPI. Heutige High-DPI-Bildschirme haben in der Regel 144 DPI, aber es gibt auch Handys mit bis zu 400 DPI oder mehr, da sie viele Pixel auf relativ kleine Bildschirme packen. Hier einige Beispiele.

Für diese Bildschirme haben Sie zwei Möglichkeiten. Eine davon ist, ein Erlebnis zu bieten, das die 4K-Auflösung voll ausschöpft. Der Nachteil ist, dass die Produktion von 4K-kompatiblen Assets viel zusätzliche Arbeit erfordert. Stellen Sie in diesem Fall sicher, dass Sie dies in Ihrem Marketingmaterial hervorheben!! ("A Beautiful 4K Experience"... usw.). Besitzer von Konsolen wie PS4 Pro und Xbox One X, die mit 4K kompatibel sind, werden es lieben, dass Ihr Spiel die Hardware voll ausnutzt.

Sie können Ihr Spiel aber auch "nur" so gestalten, dass es Full-HD abdeckt. In diesem zweiten Fall profitieren Benutzer mit Monitoren mit höherem DPI-Wert nicht von der höheren Auflösung ihres Bildschirms, sondern sehen das Spiel nur in Full-HD. Das ist zwar nicht ideal, aber vielleicht in Ordnung, wenn Sie auch versuchen, die Größe des Gebäudes unter Kontrolle zu halten.

Die Quintessenz ist also: Sie müssen eine maximale Auflösung wählen, die Sie anstreben (basierend auf den aktuellen Marktanteilen, siehe oben), und diese als Ziel für das gesamte Projekt festlegen. Jeder im Team wird dann in der Lage sein, Entscheidungen in diesem Wissen zu treffen.

Messungen in einer Unity-Szene

Wie bereits erwähnt, misst Unity Abstände und Größen in einer Einheit, nicht in Pixeln. Im Allgemeinen ist es eine gute Praxis, 1 Unity-Einheit auf 1 Meter abzustimmen . Zum Beispiel liegt das durchschnittliche humanoide Modell in diesem Szenario zwischen 1,7 und 1,8 Einheiten. Dies ist nicht zwingend erforderlich, aber es stellt sicher, dass sich Spiele mit Physik (sowohl 3D als auch 2D) korrekt verhalten, da die Physik in Unity darauf abgestimmt ist, 1 Einheit für einen Meter zu verwenden. Das Gleiche gilt für die 3D-Beleuchtung, bei der die Lichtparameter der Realität entsprechen sollen.

In 2D ist dieser Maßstab weniger wichtig, aber es ist immer noch eine gute Praxis, ihn zu beachten, wenn Sie in Ihrem Projekt Physik verwenden. Wenn Sie eine Tilemap verwenden, könnte es der Einfachheit halber sinnvoll sein, einen Maßstab von 1 Kachel = 1 Einheit beizubehalten.

Nachdem wir uns nun mit den Einheiten beschäftigt haben, kommen wir nun zur Kamera. Die 2D-Kameras von Unity (Orthographic) haben einen Parameter namens Size, der - wenn er verdoppelt wird - angibt, wie viele Einheiten die Kamera auf der vertikalen Achse rahmt.

Screenshot eines Editor-Dropdowns. Orthografisch wird mit einer Größe von 5 gewählt
Der Parameter Größe im Inspektor einer orthografischen Kamera

Mit einer Größe von 5 haben wir ein Ansichtsfenster, das 10 Unity-Einheiten in der Vertikalen misst. Die horizontale Achse ist nur eine Folge davon, da wir nicht wissen, welches Seitenverhältnis der Bildschirm des Nutzers haben wird. Aber es ist einfach zu berechnen: Auf einem durchschnittlichen PC oder Android-Handy mit einem Seitenverhältnis von 16:9 reicht das aus:

10 (Vertikale Größe) x 16 / 9 = 17,7 (Horizontale Größe)

Wir wissen also, dass wir mit diesen Einstellungen einen Bereich von etwa 17,7 mal 10 Einheiten einrahmen. Auf Macs (die in der Regel ein Format von 16:10 haben) wird es 16 mal 10 sein (also weniger Sichtbarkeit in der Horizontalen). Auf einem 16:9-Handy, das vertikal gehalten wird (so dass es 9:16 wird), zeigt dieselbe Kamera nur einen Bereich von 5,6 x 10 Einheiten.

Anmerkung: Wir werden in diesem Blog-Beitrag nicht näher darauf eingehen, wie man mit den Seitenverhältnissen umgeht, denn wenn man ein Spiel für verschiedene Seitenverhältnisse entwickeln will, muss man nicht nur an die Grafik denken, sondern generell eine Menge Gameplay-Anpassungen vornehmen, um sicherzustellen, dass das Spiel auf Geräten mit unterschiedlichen Verhältnissen nicht anders spielt. So profitiert zum Beispiel jedes Spiel, das horizontal scrollt, von einem schmalen horizontalen Seitenverhältnis, da der Spieler mehr von den kommenden Gefahren sehen kann. Manchmal ist es unmöglich, ein Spiel zu entwickeln, das bei sehr unterschiedlichen Seitenverhältnissen gut funktioniert, und die Leute verwenden Frames oder schwarze Balken, um den negativen Raum zu füllen, den sie nicht mit Gameplay füllen können.

Bildpunkte pro Einheit eingeben

Wenn Sie Grafiken als Sprites importieren, zeigt Unity einen Parameter namens Pixels per Unit (PPU) an. Jetzt, wo wir alles über Einheiten wissen, sollte dies sehr klar sein. Es drückt aus, wie viele Pixel deines Sprites in eine Einheit in der Unity-Szene passen, wenn das GameObject 1,1,1 skaliert wird.

Angenommen, ich habe das Sprite eines Felsens, der 218 mal 175 Pixel groß ist, und ich setze die Pixel pro Einheit auf 100. Sobald ich das Sprite in die Szene ziehe, wird mein GameObject standardmäßig 2,18 mal 1,75 Einheiten groß sein und ungefähr ein Fünftel der 10 Einheiten auf der vertikalen Achse einnehmen.

Ein Bild eines Bolders im Editor vor einem grünen 2d-Hintergrund
Mit diesen Einstellungen können wir mehr als fünf Felsen auf der Vertikalen des Ansichtsfensters unterbringen

Nehmen wir also einen Full-HD-Bildschirm als Testauflösung. Die Vertikale beträgt 1080 Pixel, und der Felsen nimmt weniger als ein Fünftel des Bildschirms ein (Sie können sehen, wie die verblassten Felsen mehr als fünfmal in das Bild oben passen). Das bedeutet, dass wir 175 Pixel der Quellgrafik verwenden, um mehr als 200 Pixel darzustellen. Das bedeutet, dass wir einen leicht verschwommenen Felsen haben werden.

Um dies zu beheben, gibt es mehrere Möglichkeiten: Wir können den Felsen auf etwa die Hälfte der Größe verkleinern, den Kamerarahmen auf 10,8 vergrößern (was zu einem Herauszoomen führt), oder wir können den PPU-Wert des Sprites auf 108 ändern (was den gleichen Effekt hat, den Felsen auf dem Bildschirm zu verkleinern). In allen drei Fällen muss der Stein kleiner sein, wenn er knackig sein soll.

Woher stammen die Kameragröße und der PPU-Wert? Vorsicht! Wenn wir unsere Grafiken mit 100 PPU importieren, benötigen wir eine 10,8-Kamera, da 10,8 x 100 gleich 1080 ist. So können wir die gesamte Höhe des Bildschirms abdecken. Um umgekehrt eine korrekte PPU zu berechnen, bei der die Kameragröße auf 5 bleibt, wenn wir hoffen, einen Full-HD-Bildschirm mit 10 Unity-Einheiten vertikal abzudecken, dann haben wir 1080/10 = 108. Dies ist die Anzahl der Pixel, die wir in eine Einheit packen sollten, wenn wir die Größe der Kamera nicht ändern.

Mach die Regel, brich die Regel

Denken Sie daran, dass es bei der Arbeit an Ihrem Spiel gefährlich ist, diese Workflows nach und nach zu vermischen: Sie könnten in eine Situation geraten, in der einige Grafiken, die in der falschen Szene verwendet werden, eine zu niedrige Auflösung haben und Sie es nicht einmal bemerkt haben. Es ist sinnvoll, Richtlinien festzulegen: eine PPU für die meisten Assets in Ihrem Projekt und eine typische Kameragröße.

Dann können Sie die Regeln später brechen. Vielleicht gibt es eine Zwischensequenz, in der die Kamera ein- und ausgezoomt wird und sich die Größe vorübergehend ändert. Oder vielleicht sind Ihre Hintergrundelemente so groß, dass Sie es sich nicht leisten können, dieselbe PPU beizubehalten, weil Sie dann mit riesigen Texturen enden würden. In diesem Fall ist es in Ordnung, die PPU für diese Elemente zu reduzieren und kleinere Sprites zu importieren, die aber dennoch einen großen Bereich des Bildschirms abdecken.

Vorschau auf Ihr Spiel

Wenn Sie in Unity arbeiten, fragen Sie sich vielleicht, welche Auflösung Sie in der Spielansicht sehen und ob dies eine genaue Vorschau Ihrer Grafik auf der Zielplattform ist. Die meisten Optionen, die Sie benötigen, finden Sie in dem Dropdown-Menü oben und dem Schieberegler daneben.

Editor-Bildschirm mit einer Dropdown-Liste. Niedrig aufgelöste Seitenverhältnisse werden ebenso geprüft wie freie Seitenverhältnisse.
Beachten Sie, dass die Skalierung bei aktivierten niedrig aufgelösten Seitenverhältnissen standardmäßig auf 2 eingestellt ist. Der Grund dafür ist, dass Pixel dupliziert werden müssen, um einen niedrigen DPI-Wert auf einem Bildschirm mit hohem DPI-Wert zu simulieren.

Seitenverhältnisse erzwingen lediglich ein bestimmtes Verhältnis zwischen Horizontale und Vertikale, aber sie nutzen die aktuelle Auflösung des Game View Viewports, die wiederum von Ihrem Bildschirm abhängt. Sie sind also gut geeignet, um die Benutzeroberfläche und Objekte auf einem Bildschirm einzurichten, aber nicht wirklich zum Testen von Kunst. Wenn Sie sich in einem Seitenverhältnis befinden, ist das Kontrollkästchen Niedrige Auflösungs-Seitenverhältnisse aktiv, wenn Sie sich auf einem Bildschirm mit hohem DPI befinden. Wenn Sie diese Option aktivieren, wird eine Standard-DPI-Bildschirmauflösung simuliert. Feste Auflösungen hingegen zwingen Unity dazu, ein Fenster in genau dieser Größe zu rendern. An diesem Punkt müssen Sie möglicherweise die Spielansicht erweitern oder maximieren, um die gesamte Vorschau zu sehen. In diesem Zusammenhang kann der Schieberegler "Skalieren" dafür sorgen, dass hohe Auflösungen in das Fenster "Spielansicht" passen, aber wenn Sie unter das 1fache der Skalierung gehen, dann sehen Sie nicht die tatsächliche Auflösung, sondern ein Resampling davon. Und vergessen Sie nicht, dass Sie der Dropdown-Liste Ihre eigenen festen Auflösungen und Seitenverhältnisse hinzufügen können:

Gif zum Hinzufügen des Etiketts "superwide" Seitenverhältnis

Tipp: Vergessen Sie nicht, dass Sie Ihr Urteil nicht nur auf den Redakteur stützen sollten. Erstellen Sie ab und zu eine Version des Spiels (oder nur der Grafik!) und sehen Sie sie sich auf Ihrem Zielgerät oder -bildschirm an.

Einige abschließende Anmerkungen

Wie Sie sehen, hängen die Auflösung Ihres Bildes, die Größe der Kamera und der Bildschirm, für den Sie sich entscheiden, alle miteinander zusammen, und es gibt nicht die eine Pixelgröße oder PPU, die für alle Fälle passt. Studieren Sie Ihre Zielplattformen, entscheiden Sie sich für eine Lösung und informieren Sie das gesamte Team, indem Sie Leitlinien erstellen. Dann produzieren Sie trotzdem hochauflösende Bilder, die später nützlich sein könnten! Passen Sie schließlich die Größe an die gewünschte Auflösung an und importieren Sie sie in Unity. Und noch eine letzte Anregung. Auch wenn ich zuvor die Begriffe "leicht verschwommen" so verwendet habe, als wäre das das Ende der Welt und etwas, das wir unbedingt beheben MÜSSEN, ist dies keine harte Regel. Es könnte sein, dass in Ihrem Spiel einige Objekte - manchmal - unter der Auflösung liegen. Vor allem, wenn viele winzige Details auf dem Bildschirm zu sehen sind, vielleicht Folien, die sich überlagern, mit etwas Nebel, Regen oder Nachbearbeitung obendrauf. Spielen Sie das Spiel mit normaler Geschwindigkeit. Ist Ihnen eigentlich aufgefallen, dass sie neu abgetastet werden? Wenn Sie wirklich keinen Unterschied feststellen können, dann sind die zusätzliche Arbeit, der Speicherplatz und die Verarbeitung, die für das Rendern eines höher aufgelösten Sprites erforderlich sind , es vielleicht nicht wert. Denken Sie daran: Gute Spiele erfordern große Kompromisse!

Zusätzliche Ressourcen

Wir haben eine Leseliste mit 2D-Tipps und Anleitungen in unserem Blog, die Sie nicht verpassen sollten. Wenn Sie sich auch einen Überblick darüber verschaffen wollen, was Unity für 2D zu bieten hat, können Sie hier beginnen.

Entdecken Sie die Unity 2D-Demo, Dragon Crashers in diesem Blog

#Unity2DChallenge (Abgeschlossen)

Haben Sie erstaunliche 2D-Kunstwerke in Arbeit? Sind Sie neugierig auf unsere neuen 2D-Tools? Erstelle etwas Großartiges mit unseren neuen 2D-Animationswerkzeugen, Tilemaps, SpriteShape, dem Pixel Perfect-Paket oder dem SVG-Importer, und nimm an der Unity 2D Challenge teil! Ich bin einer der Jurymitglieder und kann es kaum erwarten, all eure brillanten Ideen zu sehen.