Jump to content
Unity Insider Forum

Anfänger mit verschwommenen Sprites


Maltrix

Recommended Posts

Hallo,

Ich bin absoluter Beginner mit Unity und habe auch noch wenig Erfahrung mit Programmierung. Zur Zeit versuche ich mich mit Hilfe eines Lehrbuches (Einstieg in Unity) mit der Engine vertraut zu machen und habe heute mein erstes Asset eingefügt. 
Das Asset, dass ich benutze ist ein von mir über Gimp selbst erstelltes. Das Bild ist ein .png und hat die Maße 16x32px, da dies (laut diversen Turtorials) eine übliche Größe zu sein scheint.
Das Einfügen hat ohne Probleme geklappt nur ist das Bild sehr Verschwommen und so unbrauchbar. Was kann ich besser machen? Muss es Größer sein? Wenn ja wie viel größer (Ich weiß nicht, wann es bei vielen Sprites, Animationen und Tiles an der Performance kratzt) oder sollte ich den Datentypen ändern?
Danke schon mal im Voraus.

Falls es hilft, Mein Projekt soll so eine Art Zeldaclone werden und ja, ich weiß, was ich mir da vorgenommen habe...

Danke schonmal im Vorraus. 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Willkommen. :)

Am wichtigsten sind die Importeinstellungen bei so kleinen Sprites.
Wenn du das Sprite mal im Inspector anschaust, dann siehst du dort diverse Einstellungsmöglichkeiten.
Der Filter Mode sollte auf Point sein, wenn du ganz scharfe Pixel willst.
Ja und unten beim Grafikformat/Größe musst du den Haken setzen. Jetzt kannst du selber einen Kompressor auswählen oder aber sagen mit welcher Bittiefe du es importieren willst. Meist reicht 16Bit aus. Ich würde aber immer auf 24Bit gehen.
Spiel mal damit rum, drück danach immer auf Apply und du wirst sofort sehen, was sich da tut. :)
Deine Originalgrafik wird dadurch übrigens nicht verändert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ah Danke.

Werde ich gleich mal ausprobieren. Aber bei dem Thema "Größe" habe ich noch eine Frage. Ich will auf lange Sicht mit Lichteffekten arbeiten. Kann ich noch sanfte Lichteffekte erzeugen, wenn der Rest so klein und dadurch pixelig ist? Kann Unity das aus einander rechnen oder so? Ansonsten würde es ja Sinn machen, die Sprites größer zu gestalten.

PS.: Hat funktioniert, Danke!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Größe der Sprites ist ja nicht unbedingt Pixelabhängig. Du hast ja auch eine Importeinstellung für die Pixel Per Unit. Die steht zu Beginn auf 100.
Das bedeutet, dass 100 Pixel in einen Meter rein passen. Die Angabe ist zwar erstmal nur wichtig für die Physik, falls du in deinem Game 2D Collider und 2D Rigidbodies nutzen willst, aber sie gibt dir ja auch eine Größe wieder, die du z.B. bei deinen Beleuchtungsradien einer Lampe hast.

Es lassen sich auch wenig Pixel beleuchten!

Es ist einfach eine Frage des Spieldesigns. Willst du ein 8Bit Game mit pixeligen Sprites und einer kleinen Farbpalette machen oder eher ein 16Bit Game, bei dem die Sprites viel feiner aufgelost (also mehr Pixel haben) und farbenfroher sind?
Es sagt ja niemand, dass ein Pixel auch wirklich nur so groß wie ein Bildpunkt deines Monitors ist. Das Kannst du ja z.B. mit der Nähe der Kamera einstellen wie du willst oder du skalierst deine Sprites von 1,1,1 auf z.b. 3,3,3. 

Siehe Bild:lichtSprite.JPG.c344e67112368017639006ce90666746.JPG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja von der Grafik her solls eher nach 16 Bit aussehen (wobei ich beim Designen meiner Sprites und Tiles die volle Farbpalette benutze sprich: keine reine 16Bit palette) und weil der Stil schon etwas Moderner aussehen soll wollte ich eben noch weiche Lichteffekte einfügen (irgendwann viel viel später) aber dein Beispielbild kommt dem schon ziemlich nahe.

Also wenn ich dich richtig verstehe, kann ich ruhig bei meinen Bisherigen Abmaßen bleiben (Ein Tile wird demnach 16x16 px) und trotzdem so weiche Lichteffekte wie in deinem Beispiel haben ja? Meine Bedenken sind halt, dass meine Sprites beim Hochrechnen "verzerrt" werden. Also dass eine Fläche innerhalb eines Sprites die normalerweise ein Quadrat sein soll, plötzlich eine L form oder so hat, weils der Engine so besser passt. Sorry, wenn die Frage doof klingt aber ich stehe echt noch weit am Anfang und weiß nocht nicht, wie die Engine funktioniert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie die Engine genau arbeitet weiß eh keiner.
Jedenfalls wird die Spritegrafik ganz einfach auf eine plane Fläche gemapt. Diese Fläche ist immer noch ein 3D Objekt und deswegen kann man es auch weich beleuchten. Wieviele Pixel da nun drauf gemapt sind, ist der Engine egal. Die Spritefläche hat eben so viele Pixel Per Unit wie du eingestellt hast. Und falls du das Sprite selber skalierst, wird einfach alles um diesen Faktor vergrößert. Trotzdem bleibt alles scharf, wenn du die Grafik unkomprimiert importierst und den Filter Mode auf Point setzt.

Wenn dir die Pixelinfo eines 16x16 Textur ausreicht, dann bleib bei der Größe. Es spricht nichts dagegen. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...