Unity durchsuchen

Licht, Kamera, Action! Kameraeinrichtung mit Cinemachine

Last updated: November 2018

Cinemachine ist seit dem Unity 2017-Zyklus zum De-facto-Kamerasystem in Unity geworden. Unter der Oberfläche verbirgt sich ein raffiniertes System mit zahlreichen Optionen und Möglichkeiten. Lesen Sie weiter und erfahren Sie mehr über erweiterte Anwendungsfälle und Tipps zu Cinemachine von Ciro Continisio, einem technischen Experten bei Unity.

Mehrere Cinemachine-Brains

Manchmal ist bei einem Splitscreen-Multiplayer-Spiel mehr als eine Kamera in einer Szene erforderlich. Auch für einen Bild-in-Bild-Effekt (z. B. Überwachungskamera) können mehrere Kameras benötigt werden. Auch wenn Cinemachine dem Anschein nach mit der Brain-Komponente die Kontrolle über alle Ihre Kameras übernimmt, besteht die Möglichkeit, mehrere Brains in einer Szene zu haben, wobei sich jedes Brain um eine Reihe virtueller Kameras kümmert.

In dieser Situation sehen Sie eine Benutzeroberfläche mit einem Videofeed, indem Sie einfach nur eine sekundäre, auf die Gesichter der Charaktere gerichtete Kamera verwenden und in einer RenderTexture rendern. Zum Bereichern dieses Videofeeds können Sie Cinemachine verwenden, um die Gesichter der Charaktere immer im Bild zu behalten.

cinemachine-RenderTexture-MultipleBrains

Die Einrichtung ist hier wirklich einfach: Sie erstellen zwei Unity-Kameras und fügen jeder ein Cinemachine-Brain an. Sie können beliebig viele virtuelle Kameras erstellen.

Multiple-Cinemachine-Brains

Um dafür zu sorgen, dass ein Brain nur bestimmte virtuelle Kameras sieht, müssen Sie nur drei Dinge tun:

  1. Vergewissern Sie sich, dass die virtuellen Kameras, die Sie einer bestimmten Kamera zuordnen möchten, einem einzelnen Layer angehören (z. B. „Charaktere“).
  2. Richten Sie die Culling Mask dieser Kamera für das Rendering dieses Layers ein.
  3. Richten Sie die Culling Mask der anderen Kamera so ein, dass dieser Layer ausgeschlossen wird.

Beachten Sie, dass Sie das Rendering nicht ändern müssen, selbst wenn der Prozess die Culling Mask der Kamera verwendet. Es können 31 Layer verwendet werden, also können Sie einfach einen speziell für virtuelle Kameras erstellen.

Der gesamte Prozess wird auch in diesem Video zusammengefasst:

Eine andere „World Up“-Achse

Cinemachine geht davon aus, dass es eine nach oben zeigende Achse („World Up“-Achse) gibt, was standardmäßig Y-oben ist. Das wird als Referenz verwendet, um bestimmte Kamerabewegungen auszuschließen, z. B. das Zeigen gerade nach oben oder unten auf ein Objekt (echte Kameras tun das nicht!).

Im Fall von 2D-Kameras (als „orthografisch“ gekennzeichnete Kameras) verhält sich Cinemachine anders und beschränkt die Kamerabewegungen auf die Grundfläche, also die Fläche, die durch die beiden übrigen Achsen (hier X und Z) gebildet wird.

Manchmal ist es aber erforderlich, diese „World Up“-Achse und die entsprechende Ebene anders zu definieren. Dies kann beispielsweise der Fall sein, wenn Sie an einem Spiel arbeiten, für das Sie 2D-Physik verwenden, und demnach die XY-Ebene für Ihr Gameplay verwenden müssen. Vielleicht soll Ihre Kamera aber mit einem bestimmten Winkel auf diese Ebene zeigen, weshalb Ihre Ebene – wie im Bild unten – etwas geneigt ist:

world-up-override-cinemachine

Dies erreichen Sie ganz einfach, indem Sie der Eigenschaft „World Up Override“ im Cinemachine-Brain eine Transformation zuweisen. Sie können ein leeres GameObject zur Verwendung als Manipulator erstellen und Tests durchführen, indem Sie dieses Objekt drehen, um die richtige „World Up“ für Ihre Cinemachine-Einrichtung zu ermitteln.

Clevere Nutzung von Post-Processing

Cinemachine funktioniert mit Post-Processing-Stack v1 und v2. Version 2 ist aber die bessere Wahl, da aufgrund des volumenbasierten Systems ein paar tolle Tricks mit Cinemachine ermöglicht werden.

Bei kombinierter Verwendung empfiehlt es sich, die Effekte in zwei Kategorien aufzuteilen:

  1. Allgemeine Effekte für alle Aufnahmen
  2. Spezifische Effekte für eine einzige Aufnahme (oder wie bei Cinemachine genannt: eine virtuelle Kamera)

In der Regel gehören Effekte wie Umgebungsokklusion, Farbkorrekturen, Filmkornrauschen und andere stilbezogene Effekte zur ersten Gruppe, da der Stil im gesamten Spiel oder Film einheitlich sein soll. Effekte wie die Tiefenschärfe, Verzerrungen, chromatische Aberrationen und andere Effekte, mit denen die physischen Eigenschaften der Kamera simuliert werden, werden generell den virtuellen Kameras zugeordnet. Dies sind aber keine festen Regeln.

Im Beispiel unten wird z. B. unter Verwendung eines sehr lokalen Post-Processing-Volumens der Eindruck erweckt, dass man durch das Objektiv einer alten Sicherheitskamera sieht:

post-processing-intro

Hierfür benötigen Sie einfach nur ein Post-Processing-Volumen in der virtuellen Kamera selbst, die nicht als global markiert ist, und fügen einen Collider hinzu. In der Regel genügt ein sehr kleiner Kugel-Collider (mit einem Radius von vielleicht 0,05 Zoll). Vergewissern Sie sich, dass die Kamera während des Gameplays nicht versehentlich in dieses Volumen gelangt.

Hier jetzt also die virtuelle Kamera, das Post-Processing-Volumen und der Collider auf demselben Objekt:

smart-use-post-processing

Dann können Sie alle beliebigen Effekte hinzufügen und sogar einige im Hauptprofil überschreiben, indem Sie die entsprechenden Kästchen deaktivieren. Denken Sie daran, dass bei einem deaktivierten Kästchen der Basiswert für diese Eigenschaft verwendet wird, der in der Regel aus dem globalen Volumen stammt. Wenn Sie das Kästchen aktivieren, überschreiben Sie diesen Wert nur für dieses Volumen.

Erstellung eines Dolly-Zoom-Effekts

Abschließend noch ein kleiner Trick aus der Kinematografie. Haben Sie schon einmal den sogenannten „Dolly-Zoom“-Effekt gesehen? Erstmals aufgetaucht ist dieser Effekt im Jahr 1958 im Film „Vertigo“ von Alfred Hitchcock. Seitdem wurde er in verschiedenen Filmen verwendet.

Auf dem Bildschirm sieht es aus, als würde sich der Abstand zwischen der Figur und dem Hintergrund vergrößern oder verkleinern. Es handelt sich hier um eine wirklich tolle Technik, die sich mit Cinemachine ganz einfach reproduzieren lässt.

Sehen Sie sich das Beispiel unten an, das mitten im Gameplay ausgelöst wird:

Cinemachine-Dolly-Zoom

Zum Kreieren dieses Effekts können Sie mit zwei virtuellen Kameras mit denselben Einstellungen beginnen. Dann müssen Sie eine von ihnen nach hinten ziehen und ihren Sichtfeldwert verringern. Beim Übergang von der einen zur anderen mit Timeline oder unter Verwendung der Priorität wird ein Dolly-Zoom-Effekt erzeugt.

Denken Sie daran, dass dieser Effekt nur mit Perspektivenkameras und nicht mit orthografischen Kameras funktioniert.

Weitere Ressourcen

Wir wollen es wissen! Haben Ihnen diese Inhalte gefallen?

Ja, weiter so. Na ja. Könnte besser sein.