TRForge Adventskalender

Alles, was ich über Flyby-Cameras weiß

von DJ Full

» Switch to English

Antworten auf Fragen, die nie gestellt wurden.

In diesem Tutorial werde ich mich oftmals auf die folgenden 3 englischsprachigen Tutorials beziehen, die ihr vorher gelesen haben solltet:
Flyby Cameras - the Basics von Uvavoo
Flyby Cameras - Advanced von GMac
Title flyby cameras von EssGee

 

Berechnung der Flyby-Geschwindigkeit (komische Wissenschaft)

Laut FRAPS braucht eine gewöhnliche Flyby-Sequenz, die aus 2 Kameras besteht, genau 100 Frames, um von der einen Kamera zur anderen zu gelangen. Setzt man den Speed der ersten Kamera auf 2 und lässt bei der zweiten Kamera die 1, so reduziert es sich auf 72 Frames. Umgekehrt (Speed der ersten Kamera auf 1 und Speed der zweiten Kamera auf 2) sind es sogar nur 68 Frames (Flybys bremsen also weniger stark, als sie beschleunigen). Stellt man den Speed aber bei beiden Kameras auf 2, dauert der "Sprung" wirklich nur noch die Hälfte vom Beginn, also 50 Frames. Dies lässt sich, auch auf andere Werte bei "Speed" übertragen. Trägt man bei beiden Kameras die 4 ein, so dauert der Sprung halb so lang, wie bei 2, also 25 Frames und auch alle weiteren doppelten Werte, also 8, 16 und 32 bewirken auch die jeweils doppelte Geschwindigkeit. Auch eine Änderung von 3 auf 6 verdoppelt die Geschwindigkeit, genauso wie von 5 auf 10 oder von 23 auf 46. "Speed" - oder Geschwindigkeit - ist also immer die Zeitspanne die man erhält, wenn 100 Frames durch den Wert, den man im Feld einträgt, teilt.

Die kleinstmögliche Geschwindigkeit ist die mit dem Wert 1. Man kann auch den Wert 0 eintragen, aber dann bewegt sich die Kamera vermutlich nie. Ganz sicher sagen kann ich, dass sie zumindest 15 Minuten still steht... Die größtmögliche Geschwindigkeit ist 50 (alles darüber lässt das Spiel abstürzen). Es bedeutet, dass der Sprung von der einen Kamera zur nächsten nur 2 Frames dauert... und das ist unfassbar schnell.

Setzt man beispielsweise den Speed von 3 Kameras entlang einer Strecke von 12 Squares auf den größtmöglichen Wert, so bewegt sich die Sequenz mit 648 km/h (oder 402 mph). Mir fällt kein Nutzen für eine so große Geschwindigkeit ein, außer vielleicht man will die letzten Momente von Laras Widersachern aus Sicht der Kugeln zeigen... und Essgee könnte damit ein Remake seines Podrace-Levels erstellen.

Dies lässt sich natürlich noch weiterspinnen: Hat man die eine Kamera an der tiefstmöglichen Stelle einer der Ecken der Map und die andere an der höchstmöglichen Stelle der gegenüberliegenden Ecke und stellt bei beiden den Speedwert auf 50, so bewegt sich die Flyby mit einer Geschwindigkeit von 4,66 km/s, was in etwa das 13,5-Fache der Schallgeschwindigkeit ist. Eine Reise rund um die Welt wäre damit in nur 2 Stunden und 23 Minuten möglich!

 

Heavy trigger

Heavy-Trigger funktionieren sowohl im Zentrum als auch an den Enden eines Squares und auch die Beschaffenheit ändert nichts daran - egal ob schräg, flach oder geknickt. Ja, es könnte sogar jede Ecke des Squares eine andere Höhe besitzen und der Heavy-Trigger würde trotzdem noch funktionieren. Einzig No-Collision-Squares (z. B. Wasser) ignoriert er. Bei Squares, die in ein festes und in ein No-Collision-Dreieck geteilt sind, muss die Kamera oberhalb des festen Teils platziert sein. Andernfalls, also wenn sie über dem No-Collision-Dreieck ist, sucht sie auf dem nächsten festen Boden direkt darunter nach Triggern. Heavy-Trigger funktionieren nicht, wenn bei Kameras der Knopf [7] (Cut-Cam) aktiviert ist und auch Kameras, die gleich nach einem Cut kommen, ignorieren etwaige Heavy-Trigger unter ihnen. Unter der ersten Kamera einer Sequenz funktionieren sie allerdings.

Folgende Knöpfe haben keinen Einfluss auf die Funktionsfähigkeit eines Heavy Triggers:
- [11] (Lara lässt sich bewegen)
- [10] (Lara lässt sich nicht mehr bewegen)
- [8] (Kamera stoppt für eine gewisse Zeit. Der Heavy-Trigger wird am ENDE dieser Zeitspanne aktiv)

Benutzt man die Taste für's Umsehen und bricht damit eine Flyby-Sequenz ab, so werden auch alle Heavy-Trigger ignoriert, die danach noch gekommen wären.

 

Schnitte (cutcams)

Um die volle Kontrolle über sie zu haben, sollte man die Kameras in der Sequenz beginnend mit 0 nummerieren. Beginnt man mit 1, kommt es nämlich vor, dass eine Camera mit dem Knopf [7] nicht zur gewünschten Kamera springt, sondern zu einer, deren ID um 1 größer ist, als die im Timer vorgegebene. Innerhalb einer Sequenz kann man 5 funktionierende Cutcams haben. Es könnte sein, dass auch mehr möglich sind, aber zwei Einschränkungen stellen sich uns in den Weg:
- die Cutcam [7] funktioniert nur bei jeder dritten Kamera (dazwischen braucht es nämlich immer eine Dummy-Kamera und eben eine Kamera die nach dem Schnitt kommt)
- die letzte Cutcam [7] braucht eine ID, die kleiner oder gleich 13 (bzw. 14 wenn man mit 1 startet) ist, was nicht einmal die Hälfte der erlaubten 32 Kameras pro Sequenz ist
Daher ist es am geeignetsten (aber nicht zwingenderweise am besten), wenn man zu Beginn mehrere schnelle Schnitte hat und die Sequenz mit einer letzten langen Schnitt abschließt. Ein Beispiel für eine solche Kamerafahrt ist der Rätsel-Hinweis in eTux' "The Black Lodge".

Dieses Setup funktioniert für mich:

5.0 start [0][6][9][10]
5.1 kein bit
5.2 Cutcam [7] timer 4
5.3 kein bit
------------
5.4 kein bit
5.5 Cutcam [7] timer 7
5.6 kein bit
------------
5.7 kein bit
5.8 kein bit
5.9 Cutcam [7] timer 11
5.10 kein bit
------------
5.11 kein bit
5.12 Cutcam [7] timer 14
5.13 kein bit <=14. in Folge
------------
5.14 kein bit
5.15 kein bit
5.16 kein bit
5.17 kein bit
5.18 kein bit
5.19 kein bit
5.20 kein bit

Und eins das nicht funktioniert:

3.0 start [0][6][9][10]
3.1 heavy [14]
3.2 kein bit
3.3 kein bit
3.4 kein bit
3.5 Cutcam [7] timer
3.6 kein bit
------------
3.7 kein bit
3.8 Cutcam [7] timer 10
3.9 kein bit
------------
3.10 kein bit
3.11 Cutcam [7] timer 13
3.12 kein bit
------------
3.13 kein bit <=14. in Folge
3.14 kein bit
3.15 kein bit
3.16 Cutcam [7] timer 18
3.17 kein bit
------------
3.18 kein bit
3.19 kein bit

Die zweite Einteilung hat den vierten Schnitt bei 0.16, aber die Kamera wird einfach wieder zu 0.2 zurückkehren. Je weiter man sich von der Grenze des letzten Schnitts entfernt, desto weiter entfernt vom Anfang wird sie zurück springen. So ein fehlgeschlagener Schnitt wird sich unendlich lang wiederholen, selbst wenn man den Trigger auf one-shot setzt.

 

Timer-Feld

Kameras, die mit dem Knopf [8] festgehalten werden, werden NICHT von dem Wert im Speed-Feld beeinflusst. Wenn man beispielsweise Speed auf 4 setzt, wird eine 40 Sekunden Pause NICHT auf 10 Sekunden reduziert. Der maximale Wert, den man im Timer Feld angeben kann, ist 65535. 65536 wird wieder als 0 gelesen. Also wenn man beispielsweise das codebit [8] aktiviert und angibt, dass die Kamera für 68036 Einheiten stehen bleiben soll (was 136 Sekunden sein sollten), wird der Wert auf 2500 zurückspringen und die Kamera für 5 Sekunden stehen bleiben. Das ganze gilt nicht nur für codebit [8], sondern auch für codebit [7]. Wenn man einstellt, dass zur Kamera "65545" gesprungen werden soll, wird zur Kamera 9 gesprungen.

 

Titel-Flyby

Verschiedene Einstellungen sind möglich, aber die wesentlichen sind sehr wenig:
- das einzige Objekt, das man im Titel braucht, ist LARA. Alles andere ist nur wichtig für spielbare Level.
- man braucht keine TRIGGER für die Kamera. Es wird nur die Sequenz benötigt
- die ID zum Beginnen der Titel Sequenz ist 1 (0, 2, 3 und 4 verursachen, dass Kameras eine falsche Position einnehmen oder lassen das Spiel bei Laras Tod abstürzen)
- genau wie in spielbaren Levels sollte man bei 1.0 anfangen, anstatt 1.1, damit Kameras, mit dem Knopf [7], richtig umherspringen.

 

Grenzen (wieder komische Wissenschaft)

Der klassische Editor erlaubt 8 flyby Sequenzen pro Level. Jede Sequenz kann 32 Kameras haben. Das sollte eine Anzahl von 256 Kameras pro Level bereitstellen, aber die höchste Anzahl, die ich benutzen konnte, war 132. Über dieser Anzahl hat der ng_tom2pc behauptet, ich habe so -2500 AI meshes in meinem Level. Ein oder zwei Einheiter darüber, hat das Spiel ein NOPE, in der Form eines fatalen Absturzes, zurückgegeben. Wenn diese Zone wirklich für die AI reserviert ist, ist das das wirkliche Ende.

Das wär alles für's Erste. Wenn ich mehr herausfinde, werde ich es euch wissen lassen. Frohe Weihnachten an alle - es ist ja bald.