Der Sprite Renderer wird ebenfalls für die Entwicklung von 2D-Projekten benötigt. Er definiert das Rendern von Sprites. Damit lässt sich beispielsweise bei 2D-Spielen die Illusion von Tiefe erzeugen.
Was ist ein Sprite Renderer?
Ein Sprite Renderer ist eine sehr wichtige Komponente, wenn es um das Entwickeln von 2D-Projekten geht, da er definiert, wie ein Sprite gerendert wird. Es ist eine wichtige Komponente des Tilemap-Systems, damit die Einstellungen gut funktionieren.
Den Sprite Renderer hinzufügen
Wenn du in einer 2D-Szene arbeitest, ist das Sprite Renderer sehr wichtig, da er dich Bilder als Sprite darstellen lässt. Dies ist auch bei 3D Projekten anwendbar.
Füge eine neue Spielekomponente bzw. ein GameObject mit Add Component hinzu. Gehe ins Komponenten-Menü und wähle Component –> Rendering –> Sprite Renderer
Du kannst genauso ein GameObject hinzufügen, dass bereits einen Sprite Renderer hat:
GameObject–>2D Object–> Sprite
Du fügst damit eine Komponente hinzu, die bereits beim GameObject angehaftet ist. Dies erlaubt dir, Einstellungen vorzunehmen, um zu kontrollieren, wie das GameObject gerendert wird.
Füge zwei weitere GameObjects in deine Sczene ein, und gehe auf Nummer sicher, dass beide einen Sprite Renderer besitzen.
Von hier aus, siehst du die zwei GameObjects, die beide einen Sprite Renderer besitzen. Wir nutzen den Sprite Renderer, um einzustellen, wie das Sprite und die beiden GameObjects reagieren. Deswegen gehen wir einmal die Möglichkeiten durch, die beim Sprite Renderer eingestellt werden können.
Die Einstellungen beim Sprite Renderer
Wähle ein Sprite GameObject aus, dass du siehst. Du wirst folgende Einstellungen zur Verfügung haben, um den Sprite Renderer zu verändern:
Sprite: Das Sprite, das gerendert wird: Sprite objects können von Texturen generiert werden, in dem Sprite Einstellungen beim Importieren vorgenommen werden oder indem diese mit dem Sprite Editor Tool erstellt werden. Du fügst hier das Sprite hinzu, das gerendert werden soll.
Color: Die Farben des gerenderten Netzes für das Sprite: Diese Einstellung ist nützlich, um die Farbe des Sprites anzupassen.
Suche die Sprite-Einstellungen und füge das Sprite über drag and drop hinzu, dass du beim Objekt nutzen willst:
Flip: Dadurch wird das Sprite in der x- oder y-Ebene gespiegelt und das Sprite effektiv gespiegelt
Hier wird an der X-Achse gespiegelt:
Hier spiegelst du an der Y-Achse:
Hier spiegelst du zugleich an X- und Y-Achse:
Material: dabei handelt es sich um das Material, das für das Sprite verwendest: Es ist nützlich wenn du spezielle Materialien hast, die mit dem Sprite gerendert werden sollen.
Draw Mode: diese Einstellung hat verschienene Möglichkeiten mit einem drop-down-Menü, das definiert, wie ein Sprite skalliert wird, wenn du seine Größe veränderst.
Sorting Layer: Dies ist die Ebene, die die Priorität der Sprites-Überlagerung beim Rendern definiert. Kurz: Steht ein Pinguin vor oder hinter dem Iglu? Du definierst die Ebenen für das Sprite.
Order in Layer: Die Überlagerungspriorität des Sprites innerhalb des eigenen Layer. Niedrigere Zahlen werden zuerst gerendert und nachfolgende Zahlen überlagern die unten Stehenden. Dies ist nützlich, wenn du ein bestimmtes Sprite hast, das sich hinter anderen Sprites auf derselben Ebene verstecken soll. Es hat somit eine ähnliche Funktion, wie die Sorting Layer.
Mask Interaction: Wenn das Sprite Masking genutzt wird, bestimmt dies, wie sich das Sprite mit der Sprite Mask verhält. Es gibt drei mögliche Optionen: None, Visible Inside Mask, Visible Outside Mask. Dies muss kontrolliert werden, wenn du Sprite Masks nutzt.
Klicke auf den Draw Mode vom Sprite Renderer, um weitere Einstellungen zu bekommen.
Simple: Diese Einstellung beeinflusst das Verhalten, wie das Bild in alle Richtungen skalliert wird, wenn seine Größe sich verändert.
Sliced: Nutze diese Option, wenn du ein 9-Slicing-Sprite (geteiltes Sprite) erstellst und diese Abschnitte vergrößern willst. In diesem Modus bleiben die Ecken in derselben Größe, während sich der obere und untere Teil des bereits horizontal vergrößert kann. Die Seiten des Sprites vergrößern sich vertikal und die Mitte des bereits verändert sich horizontal und vertikal, um sich an die Spritegröße anzupassen.
Tiled: Verwende diese Option, wenn du ein 9-Slicing-Sprite verwendest und sich die Abschnitte wiederholen sollen. In diesem Modus bleibt das Sprite in der gleichen Größe und wird nicht skalliert. Stattdessen wiederholen sich oberer und unterer Teil des Sprites horizontal und die Seite vertikal. Das Zentrum des Sprites wiederholt sich die Kachelform des Reiters, die der Größe des Sprites entspricht.
Wähle Tiled-Option von der Liste, um nur mehr Einstellungen zu bekommen.
Size: Nutze dies, um horizontale und vertikale Änderung des Sprites einzustellen. Du musst diese Einstellungen vornehmen, um die für Größe des Sprite zu verändern, wenn du ein 9-Sliced-Sprite (9-teilig gekacheltes Sprite) verwendest.
Tile Mode: Nutze diese Einstellung, um zu kontrollieren, wie sich die Abschnitte wiederholen, wenn sich die Dimensionen des Sprites verändern.
Erweiterte Einstellungen des Tile Mode:
Continuous: Diese Einstellungen ist wichtig, wenn es um die Größen Veränderung des Sprites geht, wenn sich dieses gleichmäßig verändern soll.
Adaptive: dieser Teil wiederholt sich nur, wenn die Dimension des Sprites den Stretch-Wert erreicht.
Stretch Value: dieser Wert bewegt sich zwischen 0 und 1. Eins repräsentiert das Bild, das zweimal so groß ist wie das Original. Wenn der Wert 1 beträgt, wiederholt sich der Abschnitt, wenn das Bild zweimal so groß ist wie das Original.
Sprite Renderer Materialien
Ein Sprite Renderer nutzt Texturen, in der Sprite Eigenschaften angegeben werden, aber es nutzt auch Shader und andere Materialien. Dies bedeutet, du kannst das gleiche Material zum Ändern verschiedener Sprites verwenden, ohne dir Sorgen zu machen, welche Textur, welchem Material zugeordnet ist. Das Sprite wird auf einem Netz gerendert, dass Position, Farbe und UV an jeder Stelle nutzt, aber keinen normalen Vektor. Wenn es normale Vektoren nutzen kann, kannst du dies mit dem vertex Shader erreichen. Es gibt zwei Shader, die für Sprites genutzt werden:
Sprites/Default: Ties ist ein simples alpha blended shader, das nicht mit dem Licht in der Szene interagiert.
Sprites/Diffuse: Dies ist ein simpler alpha blended Oberflächen Shader, der mit dem Licht in der Szene interagiert. Der Shader generiert einen nach vorn gerichteten normalen Vektor.
Sprites umdrehen:
1. Nehme ein zweites Sprite und ordne es dem Ersten unter.
2. Wähle das übergeordnete Sprite und ordne ihm eine -1 bei der Skallierung in der X-Richtung zu
3. Berücksichtige, dass es Nebeneffekte auf alle untergeordneten Sprites hat.
4. Setze die Skallierung zurück auf 1
5. Gehe auf Nummer sicher, dass du das übergeordnete Sprite ausgewählt hast und stelle die Flip-X-Option an. Diese Dreheinstellungen sind eine Leichtgewichtalternative, die keine anderen Komponenten des GameObject zu beeinflusst, die beim Sprite angehängt sind. Dies ermöglicht es, Sprites individuell zu drehen, unabhängig davon, ob es Eltern oder Kindern anderer GameObjects sind.
Ebenen mit Sprites sortieren
Werfe als nächstes einen Blick auf die Sorting Layers und sieh, was sie dir für Vorteile bringen können. Die Soring Layers helfen dir zu ordnen, wie die Sprites gerendert werden sollen. Wenn du ein Bild hast, dass eine niedrigere Sortierschicht hat, wird dieses zuerst gerendert, wie zum Beispiel ein Stein hinter dem Spieler, um Hintergrundobjekte zu simulieren. Wenn der Stein eine höhere Sortierschicht zugewiesen bekommt, überlagert er den Spieleravatar und wird zum Vordergrund-Objekt.
1. Kreiere 2 Sorting Layers und benenne die erste, die du erschaffen willst als Hintergrund und die zweite als Vordergrund.
2. Wähle das erste Sprite und füge es als Hintergrund Sorting Layer hinzu
3. Nimm ein zweites Sprite und füge es zum Vodergrund Sorting Layer hinzu
4. Verschiebe beide Sprites in die gleiche Position. Du wirst erkennen: Das Vordergrundschicht wird die Hintergrundschicht überlagern
5. Drehe das Sprites-Layer und du siehst, dass die Sprites sich umkehrt, welches Sprite das andere überlappt.
Im Gegensatz Satz zu 3D-Spielen, gibt es kein Konzept von Tiefe bei 2D-Spielen. Es ist wichtig, einen Weg zu haben, Prioritäten im Bild zu definieren, damit die Illusion von Tiefe erzeugt wird. Aus diesem Grund sind die Sorting Layers bzw. die Sortierschichten für zwei Teilprojekte sehr wichtig, da sie erlauben Sprites in Gruppen mit Prioritäten zu definieren. Weiterhin kannst du die Priorität der Überlappung einstellen, damit Sprites zum Beispiel auf der gleichen Schicht existieren, aber einander überlappen können. Wenn dem Sprite des Spielers eine höhere Wichtigkeit zugewiesen wird, als zum Beispiel einem Stein, so wird der Spieler in den Vordergrund geschoben. Dies sagt dem Renderer, dass der Spieler-Sprite Priorität hat.
Es ist wichtig zu verstehen, wie der Sprite-Renderer arbeitet, damit du ihn besser kontrollieren kannst. So kannst du in deinen 2D-Projekten einstellen, wie sich die Sprites verhalten, wenn sie sich im Bildschirm befinden. Je öfter du ihn nutzt, desto einfacher wird es, die Einstellungen vorzunehmen, die du benötigst.
Optimale Einstellungen des Sprite Renderers für ein 2D-Spiel
Bei der Konfiguration des Sprite Renderers für ein 2D-Spiel gibt es einige grundlegende Einstellungen, die du berücksichtigen solltest, um die bestmögliche Darstellung und Leistung zu erreichen. Hier sind die empfohlenen Einstellungen:
- Sprite: Wähle das Sprite aus, das dein GameObject repräsentieren soll. Achte darauf, dass es gut aufgelöst und für dein Spiel geeignet ist.
- Draw Mode: In den meisten Fällen ist „Simple“ ausreichend. Wenn dein Sprite sich über eine größere Fläche erstrecken soll, ohne verzerrt zu werden, könnten „Sliced“ oder „Tiled“ besser geeignet sein.
- Color: Standardmäßig auf Weiß eingestellt, was bedeutet, dass das Sprite in seinen Originalfarben gerendert wird. Du kannst diese Option nutzen, um Farbvariationen zu erstellen, ohne mehrere Sprites zu benötigen.
- Material: Verwende das Standardmaterial, es sei denn, du benötigst spezielle Effekte wie Leuchten oder Schatten.
- Sort Layer & Order in Layer: Diese Einstellungen sind essenziell für die korrekte Anordnung der Sprites. Stelle sicher, dass deine Hintergrundobjekte auf einer niedrigeren Ebene und deine Vordergrundobjekte auf einer höheren Ebene liegen.
- Flip: Nutze diese Einstellung, um dein Sprite zu spiegeln, wenn nötig, z.B. wenn ein Charakter sich nach links oder rechts dreht.
- Mask Interaction: Diese Einstellung ist nur relevant, wenn du mit Sprite Masken arbeitest. Ansonsten kannst du sie ignorieren.
- Additional Settings:
- Pixel Perfect: Aktiviere diese Option für eine schärfere, pixelgenaue Darstellung, besonders nützlich bei Pixel-Art-Spielen.
- Sprite Pivot: Setze den Dreh- und Angelpunkt entsprechend deiner Anforderungen. Bei Charakteren ist das oft am unteren Rand des Sprites, damit sie korrekt auf dem Boden stehen.
- Compression: Achte auf die Einstellung der Sprite-Kompression in den Importeinstellungen. Geringe Kompression kann die Bildqualität verbessern, führt aber zu größeren Dateigrößen.
- Filter Mode: Für Pixel-Art-Spiele ist „Point (no filter)“ oft die beste Wahl, um die klaren Pixelkanten zu bewahren. Für glattere Sprites kann „Bilinear“ oder „Trilinear“ geeigneter sein.
- Anti-Aliasing: Für Spiele mit vielen glatten Kurven und Übergängen kann Anti-Aliasing helfen, Kanten weicher zu machen.
Diese Einstellungen bieten einen guten Ausgangspunkt. Es ist jedoch wichtig, sie an die spezifischen Bedürfnisse und das visuelle Design deines Spiels anzupassen. Experimentieren und Testen sind Schlüssel, um die bestmögliche Darstellung und Leistung zu erreichen.
Weitere Infos findest du im Unity Manual
Originally posted 2020-02-04 16:04:04.