Cinemachine für 2D: Tipps und Tricks

Sie arbeiten schon lange an einem Kamerasystem für Ihr 2D-Spiel und wünschen sich, es gäbe so etwas wie Cinemachine für 2D? Nicht viele Menschen wissen davon, aber es gibt sie bereits! In diesem Blog-Beitrag finden Sie einige Tipps, wie Sie das Beste aus Cinemachine herausholen können und wie dieses Tool die Entwicklung Ihres 2D-Spiels erheblich beschleunigen kann. Lesen Sie weiter und erfahren Sie mehr über Cinemachine Virtual Cameras, Confiner und mehr, speziell für den Einsatz in 2D-Spielen.
Sie können Cinemachine über unseren Paketmanager in Unity beziehen, wenn Sie eine Version größer als 2018.1.0b7 verwenden.
Gehen Sie dazu auf Fenster > Paketverwaltung > Alle und wählen Sie dann Cinemachine.

Mit Cinemachine ist es relativ einfach, ein eigenes Kamerasystem für eine 2D-Umgebung zu erstellen. Werfen wir einen Blick auf die Erstellung einer virtuellen Kamera für 2D.
1. Erstellen Sie eine virtuelle 2D-Kamera, indem Sie in der Menüleiste Cinemachine > 2D-Kamera erstellen wählen. Dadurch wird eine virtuelle Kamera für eine 2D-Umgebung eingerichtet. Wenn es Ihre erste virtuelle Kamera in der Szene ist, wird auch eine Cinemachine Brain Komponente zu Ihrer Hauptkamera hinzugefügt.

2. Ziehen Sie Ihren Player aus der Hierarchie auf das Ziel "Folgen".
3. Vergewissern Sie sich, dass sich nichts im LookAt Target befindet. Wenn sich dort etwas befindet, markieren Sie es und drücken Sie die Rücktaste oder die Löschtaste, um den Verweis zu entfernen.
4. Passen Sie die Einstellungen für die orthografische Größe und den Körper an Ihre Bedürfnisse an.
Der Hauptunterschied zwischen einer virtuellen 2D-Kamera und einer virtuellen 3D-Kamera ist die Tatsache, dass wir einen Framing Transposer verwenden. Dieser spezielle Transposer verfolgt ein Ziel in der X-Y-Ebene der Kamera und verhindert, dass sich die Kamera dreht. Damit der Framing Transposer korrekt funktioniert, muss sichergestellt werden, dass das "LookAt target" der virtuellen Kamera null ist. Ein weiterer Punkt ist, dass 2D-Spiele eine orthografische Ansicht verwenden. Wenn Sie Ihre virtuelle Kamera zum ersten Mal erstellen, müssen Sie die Projektion auf der Cinemachine Brain Camera Ihrer Szene auf orthografisch ändern.

Ein wichtiger Punkt ist, dass man bei der Cinemachine nicht versuchen sollte, eine Kamera für alles zu verwenden. Stattdessen können Sie verschiedene "virtuelle Kameras" um Ihre Szene herum aufstellen und mit Hilfe der Cinemachine Brain zwischen ihnen überblenden. Diese Überblendung kann auftreten, wenn der Spieler nur noch wenig Lebenspunkte hat, wenn der Spieler ein bestimmtes Gebiet betreten hat oder in jedem anderen Szenario, das Sie sich vorstellen können und das eine Änderung des Kamerabildes oder der Nachbearbeitung erfordert. Sie können die Überblendungseinstellungen auf der Cinemachine Brain anpassen, je nachdem, wie Sie das Bildmaterial haben möchten.
Sehen Sie sich das folgende Video an, um zu erfahren, wie Sie Ihre virtuelle Kamera im Spielmodus einstellen können.
Eine weitere coole Sache, die wir mit Cinemachine machen können, ist die Verwendung einer Boundary Box, um die virtuelle Kamera auf einen bestimmten Bereich zu beschränken. Diese Funktion ist im Bereich der Erweiterungen der Virtuellen Kamera verfügbar. Nachfolgend finden Sie die Schritte zur Erzeugung dieses Effekts.
1. Richten Sie einen Begrenzungskasten für unsere Ebene ein. Dies dient der Begrenzung des Niveaus. Dies geschieht durch:
- Erstellen Sie ein leeres 'GameObject'.
- Hinzufügen eines 'CompositeCollider2D' zum GameObject.
- Setzen Sie den Geometrietyp des 'CompositeCollider2D auf Polygone.
- Setzen Sie den 'Rigidbody' des GameObjects auf Static.
- Hinzufügen eines 'BoxCollider2D' zum GameObject.
- Passen Sie den 'BoxCollider2D' an Ihr Niveau an.
- Legen Sie für 'BoxCollider2D' den Wert "Von Composite verwendet" fest.

2. Fügen Sie die Confiner-Erweiterung zu Ihrer virtuellen Kamera hinzu.
3. Ziehen Sie den Begrenzungsrahmen, den wir zuvor erstellt haben, in die Bounding Shape 2D Box.
4. Legen Sie fest, ob die Kamera an den Bildschirmrändern ausgerichtet werden soll; dies lässt sich mit dem Kontrollkästchen "Bildschirmränder ausrichten" einstellen.
5. Schließlich können wir entscheiden, ob der Confiner eine Dämpfung haben soll. Dadurch kann sich die Kamera nahtlos mit dem Rand des begrenzenden Kolliders überlappen. Wenn Sie diesen Effekt nicht wünschen, setzen Sie die Dämpfungszeit auf 0.
Die Ergebnisse sind unten aufgeführt:
Video-Beispiel:
Eine weitere coole Funktion von Cinemachine, die wir in 2D nutzen können, ist die Gruppenkamera. Diese Kamera ermöglicht es uns, eine Zielgruppe zu erstellen, die von unserer Kamera erfasst wird. Eine Gruppenkamera ist nützlich, wenn Sie eine Cutscene machen, in der Sie etwas Wichtiges zeigen wollen, wenn Sie mehr als ein Objekt in jedem Frame behalten wollen oder wenn Sie ein lokales Multiplayer-Spiel in 2D erstellen wollen.
In Cinemachine können wir dies auf folgende Weise tun:
1. Erstellen Sie eine neue virtuelle 2D-Kamera
2. Erstellen Sie ein neues GameObject in der Szene

3. Komponente hinzufügen > Cinemachine > 'Cinemachine-Zielgruppe'
4. Fügen Sie die Spielobjekte, auf die Sie sich konzentrieren möchten, zur Zielgruppe hinzu
5. Ziehen Sie die Zielgruppe auf die Eigenschaft "Ziel verfolgen" der virtuellen Kameras im Inspektor.
6. Passen Sie die minimale und maximale orthografische Größe - die im Sinne der Kamera den "Zoom" der Kamera definiert - an Ihre bevorzugte Einstellung an.
7. Bestimmen Sie die Art des Gruppenrahmens, die Sie wünschen. Horizontal" berücksichtigt nur die horizontale Abmessung des Bildes, wenn Sie die Kamera einrahmen. Vertikal" berücksichtigt beim Einrahmen nur das vertikale Rahmenmaß. Der Typ "Horizontal und Vertikal" berücksichtigt beide Dimensionen.
Eine 'Target Group' ist eine Cinemachine-Komponente, die es Ihnen ermöglicht, mehrere Ziele auf derselben virtuellen Kamera anzuzeigen. Sie passt die Größe der Kamera an, um sicherzustellen, dass die Ziele je nach Gewicht sichtbar sind. Wenn zum Beispiel alle Ziele eine Gewichtung von 1 haben, sorgt die Zielgruppe dafür, dass alle Ziele sichtbar sind.
Hier ist ein Beispiel für eine Gruppenkamera, die sich auf den Spieler und eine Truhe konzentriert.

Mit Cinemachine V2.2 haben wir eine neue Impuls-Erweiterung eingebaut. Mit dieser Erweiterung können Nutzer Verwacklungseffekte erzeugen, ohne einen Code zu erstellen. Impulse Extension kann als Erweiterung zu Ihrer Virtuellen Kamera hinzugefügt werden. Ich werde Ihnen zeigen, wie Sie dies zu Ihrer Szene hinzufügen können:
- Erstellen Sie eine virtuelle 2D-Kamera über die Menüoption Cinemachine und richten Sie sie so ein, dass sie unser Ziel verfolgt.
- Klicken Sie auf Erweiterung hinzufügen > Cinemachine Impulse Listener.
- Stellen Sie sicher, dass im Impuls-Listener das Kontrollkästchen "2D-Abstand verwenden" aktiviert ist.
- Mit der Kanalmaske können Sie die Impulse filtern, die Sie hören möchten. In diesem Beispiel werden wir den Standardkanal verwenden.
- Wähle das GameObject aus, von dem der Impuls gesendet werden soll. In diesem Beispiel werden wir einen Ball verwenden, der abprallt. Jedes Mal, wenn er den Boden berührt, sendet er ein Impulssignal auf dem Standardkanal, das unser Impulsempfänger aufnimmt.
- Klicken Sie auf "Add Component" und suchen Sie nach "Cinemachine Collision Impulse Source".
- Unter der Überschrift "Signalform" wählen wir ein Signal für die Variable "Rohsignal" aus. Dies ist ein 'NoiseSettings'-Profil. Wir können entweder die Standardeinstellungen verwenden oder unsere eigenen erstellen.
- Erstellen Sie ein neues "NoiseSettings"-Profil, indem Sie auf das Zahnradsymbol klicken und "New Noise Setting" wählen. Speichern Sie dies in Ihrem Projekt.
- Sie können wählen, ob sich das Rauschen auf die Position und die Drehung oder nur auf eine der beiden auswirken soll. Da es sich um ein 2D-Spiel handelt, werden wir die X- und Y-Positionen und die Z-Drehung beeinflussen. Ein gutes Geräuschprofil ist unberechenbar. Beim Rauschen wollen wir nur etwas von der Zufälligkeit der Natur nachahmen. Wir können dies tun, indem wir mehrere Ebenen mit unterschiedlichen Details haben.
- Wenn wir wollten, könnten wir der Frequenz und der Amplitude, die das Rauschprofil anwendet, eine Verstärkung hinzufügen.
- Unter der Überschrift "Räumlicher Bereich" passen wir die Dissipationsdistanz an. Dies bestimmt, in welchem Bereich wir den Impuls nicht mehr spüren. Setzen Sie ihn vorerst auf 25.
Wenn wir wollten, könnten wir den Dissipationsmodus anpassen, um die Abklingart zu ändern. Es gibt noch andere Einstellungen, die wir anpassen können, aber im Moment ist das alles, was wir brauchen.
Das Ergebnis können Sie unten sehen:

Zusammenfassend lässt sich also sagen, dass wir jetzt wissen, wie man:
- Holen Sie sich Cinemachine mit dem Paketmanager
- Erstellen einer virtuellen 2D-Kamera
- Beschränken Sie eine virtuelle Kamera auf einen 2D-Raum
- Eine virtuelle Kamera zusammenstellen, um mehrere Ziele zu verfolgen
- Ein Impulsmodul zum Hinzufügen von Kameraverwacklungen einrichten
Ich hoffe, dieser Blog-Beitrag hat Ihnen gefallen und Sie fühlen sich jetzt bereit, Cinemachine in Ihrem nächsten 2D-Projekt einzusetzen! Wenn Sie über Cinemachine? auf dem Laufenden bleiben wollen Beteiligen Sie sich an der Diskussion in unserem Forum.
