Der visuelle Stil meines Entwicklungsspiels
LAUNDRY GAME (ja, das ist schamlose Werbung) basiert auf
großen, klaren Pixeln in 3D. Ich
liebe 3D mit niedriger Auflösung. Mir wurden viele Fragen dazu gestellt, also habe ich beschlossen, ein Tutorial zu schreiben.
Hinweis: Dies ist nur meine Entscheidung! Es gibt Methoden, die Shader, Blitting-Grafiken und andere Tricks verwenden, aber für mein kleines Solo-Projekt war eine solche Lösung völlig ausreichend.Anhang 1: Der schlaue Pete Brisburn hat hier ein Skript gesendet, falls Ihnen der Trick „Quad in the Sky“ nicht gefällt (Schritte 4-6)!Stufe 1: Vorbereitung der Quellenszene
Zuerst müssen Sie die Szene vorbereiten! Ich habe diesen kleinen Würfel mit meinem Vogelfreund
Oscar J. Ruffles erstellt . Er rennt um den Würfel herum und schreit ständig. (Dies sind nur der Charakter-Controller und der Animator, die miteinander verbunden sind.)
Aber sieh dir diese ekelhaften Glättungslinien an! Fu, lass sie uns loswerden.
Stufe 2: Entfernen Sie die MSAA-Kameras
Markieren Sie Hauptkamera und
deaktivieren Sie das
Kontrollkästchen MSAA zulassen . Wie Sie sehen können, sind Pixel viel schärfer. Aber es gibt noch keine Hochskalierung! Das heißt, alle Pixel sind klein. Es muss behoben werden.
Stufe 3: Rendern der Kamera in der Rendertextur
Ich
zoome mit
RenderTexture hinein (um riesige,
gestochen scharfe Pixel zu erhalten) und
rendere die Hauptkamera in diese Textur. Dadurch können wir diese RenderTexture wie jede normale Textur verwenden!
Hier sind die Optionen, die ich für meine
RenderTexture verwenden werde . Größe ist die Größe,
bei der wir zoomen. Je kleiner die Zahl, desto größer die Pixel. Für beide Werte verwende ich normalerweise Zahlen im Bereich
von 300 bis 600 (ausgezeichnetes
Celeste führt beispielsweise das Zoomen von 320 x 200 aus).
Der Filtermodus ist eine Möglichkeit zum Hoch- / Herunterskalieren. Der "Punkt" -Modus fügt kein Anti-Aliasing hinzu, dh er bewahrt die Schärfe der Pixel, die wir so sehr benötigen.
Aber was ist passiert?
Jetzt rendern wir die Kamera nicht auf dem Bildschirm, sondern in RenderTexture, sodass nichts auf dem Bildschirm gerendert wird!
Um dies zu beheben, müssen wir eine
andere Kamera einrichten, diesmal jedoch etwas anders.
Stufe 4: Erstellen Sie eine Zoomkamera + Quad
Beginnen wir mit der Erstellung einer neuen Kamera in der Szene (nennen wir sie
QuadCamera ) und fügen Sie als Kind ein
3D-Quad hinzu .
Stufe 5: Platziere es irgendwo in der Leere
Dann müssen wir die
QuadCamera nehmen und irgendwohin schieben. Egal wo, die Hauptsache ist, dass es niemals von der
Hauptkamera aus sichtbar sein sollte. Normalerweise hebe ich es hoch in den Himmel oder senke es tief nach unten.
Schritt 6: Bringen Sie die Render-Textur am Quad an und platzieren Sie sie vor der Kamera
Dann nehmen wir Quad. Ich habe
Sprites-Default dafür festgelegt (ein Standard-Unity-Material, das nicht von der Beleuchtung beeinflusst wird), damit es nicht durch zufällige Beleuchtung in der Szene beeinflusst wird. Ziehen Sie dann die
RenderTexture auf das Quad. Jetzt zeigt Quad unsere Szene! Dann bewegen wir das Quad so, dass es sich vor der
QuadCamera befindet (der Kamera, die jetzt den Zielbildschirm rendert).
Wie Sie sehen können, wurde der Rendering-Maßstab jetzt erhöht! Oscar kann ständig auf seinen Pixelschnabel klicken! Gleichzeitig kamen wir seinem Kopf viel näher.
Stufe 7: Stellen Sie die Kameras ein
Lassen Sie uns in der letzten Phase zu meiner
Hauptkamera zurückkehren und sie so einrichten, dass wir ungefähr das Gleiche vorher sehen. Hier können Sie die Größe der Rendertextur erhöhen, sodass die Pixel etwas kleiner werden, oder sie verkleinern, sodass nur 7 Pixel auf den Bildschirm passen. Es ist Zeit zum Experimentieren, finden Sie heraus, was zu Ihnen persönlich passt.
Bonus: Stellen Sie sicher, dass die Texturen nicht verschwommen sind
Wie wir gesehen haben, ist die Textur des Modells (Oskars großes Auge) die ganze Zeit verschwommen. Dies geschah, weil beim Importieren von Texturen in Unity Standardparameter zum Generieren von Mip-Texturen und für eine reibungslose Skalierung ausgewählt wurden. Das brauchen wir aber nicht. Daher müssen Sie beim Importieren von Texturen die
Option "Mip-Karten generieren" deaktivieren und den
Punktmodus für den Filtermodus auswählen.