Pixel to Unity – Wie man ein Unity Projekt für Pixel-Art erstellt
Spiele im Retro-Pixel-Look sind seit Jahren im Trend und werden es vermutlich immer bleiben. Wir zeigen, wie man ein Pixel-Projekt für Unity vorbereitet.
Ab Unity 2019.3 ist da gar nicht mehr sooo viel zu machen. Denn Unity liefert alles mit, was man für Spiele im 2D-Pixel-Style benötigt.
Aber der Reihe nach.
Pixel to Unity Reihe
Dieser Beitrag ist der erste Teil unserer Pixel to Unity Reihe.
Zum zweiten Teil – Wie man ein Pixel Sprite in Aseprite animiert und für den Export vorbereitet
Zum dritten Teil – Wie man aus einer Aseprite Pixel Animation einen Unity Animation Controller erstellt
Projekt erstellen
Als erstes erstellen wir ein neues Projekt. Dafür wählen wir das 2D-Template.
Packages installieren
Als nächstes benötigen wir das Paket „2D Pixel Perfect“. Dazu rufen wir den Package Manager auf und installieren das Paket.
Es beinhaltet u.a. die Pixel Perfect Camera, die wir später benötigen.
Versionshinweis:
Wenn ein Paket im Package Manager nicht angezeigt wird, liegt das meist daran, dass für die gewählte Unity-Installation nur eine Preview-Version des Pakets vorliegt.
Dann muss man in den Project Settings (Edit -> Project Settings -> Package Manager) angeben, dass man Preview-Packages verwenden möchte.
Das 2D Pixel Perfect Package hat ab Unity 2019.3 den Preview-Status verlassen.
Hier findet man eine Übersicht der Unity Pakete.
Pixel Perfect Camera
Nun können wir die Pixel Perfect Camera verwenden. Dazu fügen wir diese unserer Main Camera als Komponente hinzu.
An der Pixel Perfect Camera kann man nun eine Reference Resolution angeben. Das ist die Original-Auflösung, auf deren Grundlage alle Assets und Sprites erstellt wurden.
Möchte man z.B. ein Spiel in original SNES-Auflösung machen, so gibt man hier 256×224 ein. Unity wird dann dafür sorgen, dass je nach Bildschirmauflösung oder Fenstergröße korrekt skaliert wird.
Upscale Render Texture fügt eine temporäre Textur für unaliasierte und nicht gedrehte Pixel hinzu, Pixel Snapping verhindert die Bewegung von Subpixeln und lässt Sprites in pixelweisen Schritten erscheinen, Crop Frame fügt schwarze Balken horizontal oder vertikal hinzu, was sinnvoll ist, wenn man die üblichen Bildschirm-Auflösungen unterstützen möchte. Eine genauere Erklärung dazu findet man in der Anleitung des Packages.
Wichtig ist hier noch die Einstellung Assets Pixels Per Unit. Das ist die Anzahl der Pixel, die eine Einheit der Szene entsprechen. Diesen Wert sollte in den Import-Settings aller verwendeter Sprites gleich sein.
Sprites vorbereiten
Damit die Sprites korrekt mit der Pixel Perfect Camera zusammenarbeiten, sollten wir in den Import Settings folgende Einstellungen vornehmen:
- Unter Pixel Per Unit den gleichen Wert einstellen wie in der Pixel Perfect Camera
- Als Filter Mode „Point (no filter)“ wählen
- Compression ausschalten
Auflösungen und Build Settings
Zum Abschluss können wir noch eine Auflösung hinterlegen, welche der Pixel Perfect Camera Auflösung entspricht. Dadurch startet das Spiel während der Entwicklung stets mit der vorgesehenen Auflösung.
In anderen Auflösungen sehen wir dann entsprechend schwarze Balken (wenn Crop Frame aktiviert) und ggf. wird das Bild gestreckt (wenn zusätzlich Strech Fill aktiviert).
In den Build Settings können wir nun noch einstellen, wie das Spiel standardmäßig starten soll. Bewährt haben sich folgende Settings.
Feste Fenstergröße
Wir setzen den Fullscreen Mode auf „Windowed“ und setzen die Default Screen Width und Height entsprechend der an der Perfect Pixel Camera hinterlegten Auflösung.
Dann startet das Spiel in der vorgesehenen Auflösung im Fenster.
Fullscreen in nativer Auflösung
Wir setzen den Fullscreen Mode auf „Fullscreen Window“ und aktivieren Default Is Native Resolution.
Dadurch startet das Spiel in Vollbild und skaliert das Bild maximal und pixelgenau.
Ist Crop Frame aktiviert, sehen wir schwarze Balken an den Seiten, die nicht gefüllt werden können.
Fazit und Ausblick
Ok, die Vorbereitung des Projektes hätten wir. Das lässt sich bequem einrichten und funktioniert sehr gut.
Als nächstes schauen wir uns an, wie man ein animiertes Pixel-Sprite mittels Aseprite erstellt und für die Verwendung in Unity vorbereitet.
Bis dahin hoffe ich wie immer, diese erstbeste Anleitung war hilfreich.
Quellen:
- Unity 2d Pixel Perfect Package
- Unity Blog – 2D Pixel Perfect: How to set up your Unity project for retro 16-bit games
- Unity 2D Pixel Perfect Package Überblick
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen