|

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.

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:

  1. Unter Pixel Per Unit den gleichen Wert einstellen wie in der Pixel Perfect Camera
  2. Als Filter Mode „Point (no filter)“ wählen
  3. 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:

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert