====== Kamerafahrten Tutorial 1 ======
===== Grundsätzliches =====
Wozu benötigen wir eine Kamerafahrt?
Im Normalfalle, um dem Protagonisten Dinge zu zeigen wie bspw. Items, Npcs, Gefahrenherde, Änderungen von Spielsituationen, zum Bsp. das öffnen eines Tores, ausgelöst durch entfernten Schalter, das der Spieler von seiner momentanen Position nicht einsehen kann.
Und genau da setzen wir an. Du stellst dir vor, du bist in einem Tempel auf der 2ten Ebene, wo du in einem Raum einen Schalter entdeckt hast, aber leider hast du keine Info, was dieser Schalter bewegt oder auslöst.
Nach dem betätigen des Schalters, soll die Kamerafahrt starten und zeigt dir, wie sich auf der 1.Ebene ein Tor öffnet, das dir zuvor den Weg versperrt und ein Weiterkommen unmöglich gemacht hat. - Player Info -
Das ist die einfachste Form einer Kamerafahrt. Wir benötigen dazu nur:
- 1 - **Die Hauptkamera (die eigentlich gar keine Camera ist)**
Ja... wozu benötigen wir denn die Hauptcamera, wenn selbige doch gar keine Camera ist?
- Die Hauptcamera erscheint, wenn wir uns entschlossen haben eine Cam-Fahrt im Spacer zu setzen und das entsprechende Symbol betätigt und die Camerafahrt geinsertet haben.
- Die Hauptcamera ist bei jeder angelegten Cam-Fahrt das Parent, dem die Childs (Camerasplines und Targetsplines untergeordnet sind)
Diese Hauptkamera könnte sich auch 50m links neben dem zu filmenden Objekt befinden und in die entgegengesetzte Richtung zeigen, die Kamerafahrt würde trotzdem funktionieren.
- Verschieben wir die Hauptcamera im Spacer, so verschieben wir auch alle zugehörigen Camerasplines und Targetsplines
- __Bitte die **Hauptcamera nicht verdrehen**, selbst wenn die symbolisierte Linse in eine ganz andere Richtung zeigt, als auf das zu filmende Objekt, sie ist nur ein Symbol und das verdrehen kann zu Irritationen bei der Wiedergabe des Filmes führen.__
- 2 - **2 Stück Camerasplines (das sind Camera-Positionspunkte )**
- Die Camerasplines (die aussehen wie kleine Cams) legen die Stecke fest, entlang der, wärend der Cam-Fahrt gefilmt wird. Das ist in diesem Falle die Strecke zwischen Cameraspline 1 und Cameraspline 2. Die eigentliche Camera, die auf der Fahrt zwischen den Camsplines das Objekt filmt, ist imaginär, wird weder eingesetzt, noch ist sie im Spacer zu sehen.
- 3 - **1 Stück Targetspline (das ist der Punkt auf den die beiden Camerasplines ausgerichtet sind)
**
- Egal wie viele Camerasplines ihr gesetzt habt, man kann auch Fahrten mit vielen Camerasplines machen (dazu später mehr) ....alle filmen den selben Punkt, wenn man denen gemeinsam nur einen einzigen Targetspline zuweist.
===== Hauptcamera =====
- 1 - Wir starten den Spacer und öffnen die von uns zu wählende *zen. Eben diese *zen in der die Camerafahrt stattfinden soll. Es gibt ja auch Mod´s mit mehreren Leveln und somit auch mehreren *.zens
- 2 - Wir orientieren uns an der horizontal liegenden Buttonleiste
{{ :spacer:buttonleise_hor.jpg?300 |}}
- 3 - Wir klicken mit der Maus (linke Taste) auf den Camerabutton
{{ :spacer:cambutton.jpg?300 |}}
- 4 - Wir erhalten das Fenster Objectpages mit folgendem Inhalt
{{ :spacer:objektpage_window.jpg |}}
- 5.0 - Wir klicken mit der linken Maustaste im grossen Teilefenster des Object_**Pages**_Fensters auf "CAMERASTART". Der Eintrag "CAMERASTART" sollte sich daraufhin einfärben (im Bspiel schwarz), bei euch je nach euren Windows Farbeinstellungen und in der Mitte erscheint im Fenster "Name", der Eintrag "CAMERASTART"
- 5.1 - +++ **Bitte den Namen "CAMERASTART" beibehalten. Wir ändern den erst am Ende der Sitzung** +++
{{ :spacer:objektpage_window1.jpg |}}
- 6.0 - Wir klicken oben links im Object_**Pages**_Fenster auf den Button "Insert" (linke Maustaste) und jetzt sollte die Hauptcamera im Spacer erscheinen und dazu ein pulsierendes Koordinatenkreuz.
- 6.1 - Die Bezeichnung des Koordinatenkreuzes entspricht dem momentanen Namen unserer Camerafahrt. Wir werden den aber __erst später ändern__. Belassen sollte man den nicht, denn wenn man mehrere Cam-Fahrten hat, würden ja alle gleich heissen und dann gibt es Probleme beim Aufruf mit der Auslösung der Cam-Fahrt.
{{ :spacer:hauptcam_symbol.jpg?200 |}}
- 7.0 - Die Titelleiste des Object_**List**_Fensters hat sich verändert und dort ist jetzt - zCCSCamera -> "CAMERASTART" (zCCSCamera) - eingetragen
- 7.1 - Der Ordner "zCCSCamera" ist geöffnet
- 7.2 Ein Unterpunkt im Ordner "zCCSCamera" wurde erstellt (grün gefärbt), der die Bezeichnung "CAMERASTART (zCCSCamera)" trägt. Die grüne Färbung des Unterpunktes dient zum leichteren Auffinden des Objektes, an dem gerade gearbeitet wird. Nach dem Speichern der *.Zen wechselt die Farbe zu "rot". Oder im Umkehrdenken, alles was "grün" gefärbt ist, wurde noch nicht gespeichert.
{{ :spacer:objectlist_window0.jpg |}}
- 8.0 - Wir positionieren die Hauptcamera. Am besten rechts oder links von dem Tor, dessen Öffnungsvorgang wir mit der Camerafahrt zeigen wollen. Da ist die Hauptcam am wenigsten störend und beeinträchtigt (im Spacer) nicht das Blickfeld des Modders beim setzen von Splines. Als Höhe würde ich in etwa, etwas mehr als Körpergrösse des Hero wählen. Wenn ihr sie sonst wo hinsetzt ist das auch egal, da die Hauptcam ja keine Filmfunktion hat und später "ingame" sowieso nicht zu sehen ist.
{{ :spacer:hauptcam_01.jpg |}}
===== 2. Camerasplines =====
2.1.0 - Wir überprüfen ob im Objekt_**Pages**_Fenster der "cam spline" Button aktiviert ist. Das sollte der eigentlich standardmässig sein, wenn nicht, dann bitte mit der Maus (Linksklick) aktivieren. Er erscheint, wenn aktiviert, "weiss" unterlegt.
{{ :spacer:objektpage_window1.jpg |}}
2.2.0 - Um den ersten Camspline zu setzen, klicken wir mit der Maus (Rechtsklick) auf eine freie Stelle im Spacerfenster und schon öffnet sich das "VOB-Fenster" Darauf achten, dass man dabei kein VobMob... anklickt, denn sonst bringt ihr einen CamSpline als Child von einem Busch oder Truhe... oder sonst was ins Game.
{{ :spacer:vobfenster.jpg |}}
2.2.1 - Wir klicken auf die Zeile Insert (camera/keyframe) mit der linken Maustaste. Jetzt sollte der erste Camspline in eurer Welt erscheinen.
{{ :spacer:spline.jpg |}}
2.3.0 - Das Objekt_**List**_Fenster hat jetzt wieder seine Bezeichnung in der Titelleiste geändert. Dort ist jetzt eingetragen __zCVobLevelCompo (zCMesh) -> "LEVEL-VOB" (zCVobLevelCompo)__ und unser CamSpline ist dort im Ordner zCCSCamera als Child der Hauptcamera, die ebenfalls dort eingetragen ist "CAMERASTART"(zCCSCamera) untergeordnet. Die Hauptcamera ist das Parent.
{{ :spacer:objektpage_window2.jpg |}}
Die vormals grünen Punkte im Fenster, sind jetzt rot gefärbt, da man so ein Wiki nicht an einem Tage machen kann und ich die Spacer-Zen speichern musste. Siehe auch 1.7.2
2.4.0 - Leider lässt sich optisch der CamSpline von einem TargetSpline nicht unterscheiden und unsinnigerweise haben beide Elemente die selbe Bezeichnung. Alle Splines heissen "zCCCamTrj_Keyframe". Man kann auch den zweiten Camspline nicht vom ersten unterscheiden, was ja enorm wichtig ist, da ja die Filmcamera zwischen den beiden ihre Bewegung macht, und zwar von CamSpline 1 nach CamSpline 2.
Wenn ihr also eine Fahrt wollt von links nach rechts, muss CamSpline 1 links sitzen und CamSpline 2 rechts. Wenn ihr aber nicht wisst, welcher war der erste oder der zweite, dann habt ihr eben eine Fahrt von rechts nach links anstatt von links nach rechts, wenn das verwechselt wird. Singemäss wird dann auch eine geplante Fahrt von vorne nach hinten, zu einer Fahrt von hinten nach vorne.
Aus diesem Grunde geben wir dem ersten CamSpline den Vobnamen CM_SPLINE_01 und jedem weiteren denselben Namen mit aufsteigender Endzahl. CM_SPLINE_01, CM_SPLINE_02 und bei Fahrten mit noch mehr CamSplines eben sinngemaäss weiterführen..._03, ..._04....
Ich nenne ihn CM_SPLINE_01. Die Abkürzungen bedeutet CAMERA-SPLINE-Nr.1 So kann ich in den Fenstern sehen, welcher Spline, welche Nummer hat und muss nicht in der Welt abzählen, was besonders mühsam ist, wenn man zehn oder mehr Splines hat und kann im Fenster den ausgesuchten Spline direkt anwählen.
Wir wählen unseren Spline im Objekt_**List**_Fenster an.... und der Camspline ist farblich unterlegt.
{{ :spacer:objektlistpage_window0.jpg |}}
Im 2.ten grossen Spacerfenster, dem Objectfenster ist unser CamSpline jetzt aufgerufen....
{{ :spacer:objektpage_window3.jpg |}}
wir benennen ganz oben den "vobName" um in CM_SPLINE_01 und betätigen den Button "apply" und wieder ändert sich das Object_**List**_Fenster.
Unser Spline Kontrollname ist jetzt dort eingetragen.
{{ :spacer:objektlistpage_window1.jpg |}}
Auf die gleiche Art und Weise, incl. Namensumbenennung setzen wir unseren 2.ten CamSpline
2.4.1 - Sowie wir den 2.ten Camspline gesetzt haben bildet sich zwischen den beiden Camsplines eine "weisse" Linie. Das ist der Weg, der von der Spacerkamera in der Reihenfolge von 1 hochgezählt, in unserem Fall nach 2 zurückgelegt wird.
{{ :spacer:spline01.jpg |}}
Da der Spacer eine "Diva" ist, kommt es ab und zu vor, dass die "weisse" Linie nicht erscheint. Ich habe getestet dass das unabhängig von der Umbenennung der vobNames ist. Wenn das passiert, dann hilft nur, die Camsplines wieder zu löschen und neue zu setzen. Unter Umständen muss man das 2-3 mal wiederholen. Einen Grund dafür habe ich bis jetzt noch nicht gefunden. Wenn ihr eine Fahrt mit vielen Cam-Splines macht, dann gibt es keine Probleme mehr, wenn die weisse Lienie zwischen der ersten beiden Camsplines erzeugt wurde. Alle nachfolgenden werden in die Linie mit eingebunden. Wenn gar nichts geht, dann die Hauptcamera löschen und neu setzen!
2.4.2 - Die Camerasplines bitte ebenfalls nicht verdrehen. Das führt zu Chaos beim filmen, eventuell so, als würde die Camera von einem Betrunkenen gehalten, der um seine eigene Achse torkelt.
===== 3. Targetsplines =====
3.0.0 - Wir setzen einen Target-Spline. Für unser Modell benötigen wir nur einen einzigen Target-Spline, da wir ja lediglich einen einzigen Fixpunkt benötigen auf den die beiden Cameras gerichtet sind. Hätten wir mehr, als einen Target-Spline, solche Camerafahrten gibt es auch, so würden sich die Target-Splines mit einer "grünen Linie verbinden. Dazu benötigen wir als erstes, das Objekt_**Pages**_Fenster und aktivieren den Button "target spline" indem wir mit der Maus, (linke Taste) draufklicken.)
{{ :spacer:tg_objektpage.jpg |}}
Ansonsten ist es der gleiche Vorgang wie unter 2.2.0 (setzen eines Cam-Splines) beschriben, nur dass wir jetzt einen Target-Spline erhalten, der unglücklicherweise auch noch genau so benannt ist, wie normalerweise ein Cam-Spline. Aus diesem Grunde benenne ich den Target-Spline jetzt sofort um und weise ihm den "vobname" -TG_SPLINE_01" zu. Das sieht im Objektfenster dann so aus...
{{ :spacer:tg_umbenenn.jpg |}}
Der umbenannte Target-Spline....
{{ :spacer:tg_setz.jpg |}}
....und der dann automatisch übernommene Eintrag im Objekt_**List**-Fenster
{{ :spacer:tg_objeklist.jpg |}}
3.1.0 - Die Targetsplines bitte ebenfalls nicht verdrehen.
===== 4. Positionierung =====
4.0.0 __Zum positionieren von Splines benutzen wir nur die Tasten auf/ab[a/y], rechts/links[Pfeiltasten], und vorwärts/rückwärts[Pfeiltasten] - **nicht** die Tasten zum drehen "einfg, pos1, bild-auf, bild-ab, ende, entf." . egal wo die Objektive von Cameras oder Splines hinzeigen.
__
4.1.0 - Wir sollten zuerst überlegen, was für unsere Spielsituation wohl die beste Art und Weise der Camerafahrt ist. Meines Erachtens kommen für unsere angestrebte Camerafahrt....
* Hero steht entfernt vom zu öffnenden Tor bei einem Schalter
* hat keine Sicht auf das Tor
* Camerafahrt soll starten bei Schalterbetätigung
* Camerafahrt soll den Öffnungsvorgang zeigen
* Camerafahrt soll auch Umgebung um das Tor zeigen, damit der Player sich orientieren kann, wo sich das Tor befinden könnte
.... folgende Modelle in Betracht.
4.1.0.1 - __Diese Querfahrten filmen nicht gradlinig von rechts nach links, als würde man eine Camera auf Schienen bewegen, sondern im leichten Bogen um das Tor von a nach b
__
4.1.1 - QUERFAHRT VON RECHTS NACH LINKS
Camsplines nebeneinander positionieren,
* auf etwa 2/3 der Raumhöhe
* beide auf gleicher Höhe, (sonst vertikale Schrägfahrt),
* im gleichen Abstand zur Wand (sonst horizontale Schrägfahrt)
an der gegenüberliegenden Wand des Gittertores,** CM_SPLINE_****01 rechts vom Tor****,** **CM_SPLINE_02 links vom Tor**, von der gegenüberliegenden Seite des Tores gesehen
Targetspline
* **TG_SPLINE_01 direkt vor dem Tor etwa in 2/3 der Torhöhe**
4.1.2 - QUERFAHRT VON LINKS NACH RECHTS
Camsplines nebeneinander positionieren,
* auf etwa 2/3 der Raumhöhe
* beide auf gleicher Höhe, (sonst vertikale Schrägfahrt),
* im gleichen Abstand zur Wand (sonst horizontale Schrägfahrt)
an der gegenüberliegenden Wand des Gittertores, **CM_SPLINE_02 rechts vom Tor, CM_SPLINE_01 links**** vom Tor**, von der gegenüberliegenden Seite des Tores gesehen
Targetspline
* **TG_SPLINE_01 direkt vor dem Tor etwa in 2/3 der Torhöhe**
Beispielanordnung der Komponenten für Querfahrt/Leichter Bogen um das Tor (Camerabedingt)
{{ :spacer:quer.jpg |}}
4.2.0 - LÄNGSFAHRT VON VORNE NACH HINTEN (ZOOM)
Camsplines hintereinander positionieren,
* auf etwa 2/3 der Raumhöhe
* beide auf gleicher Höhe, (sonst vertikale Schrägfahrt),
* beide auf gleicher Linie (sonst horizontale Schrägfahrt)
an der gegenüberliegenden Wand des Gittertores,
* CM_SPLINE_01 mittig Tor - Höhe 2/3 Torhöhe
ca 2m vor dem Tor (nicht zu nahe drangehen, sonst filmt die Camera nicht das Tor, sondern den Raum dahinter)
* CM_SPLINE_02 mittig Tor - Höhe 2/3 Torhöhe
Targetspline positionieren,
* muss weiter entfernt sein von CM_SPLINE_01 (für unser Modell), als CM_SPLINE_02
* TG_SPLINE_01 1m vor dem Tor etwa in 2/3 der Torhöhe, (nicht zu nahe drangehen, sonst zoomt die Camera nicht das Tor, sondern den Raum dahinter)
* Bei korrekter Bauweise sollten jetzt CM_SPLINE_01 -> CM_SPLINE_02 -> TG_SPLINE_01 -> Tormitte in 2/3 Torhöhe hintereinander, in aufgezeigter Reihenfolge auf einer gedachten Geraden liegen. Ist das nicht der Fall, sondern eine Schlangenlinie, ergibt das eine mehr oder weniger auffällige Wackelfahrt
Beispielanordnung der Komponenten für Längsfahrt/Zoomfahrt
{{ :spacer:zoom.jpg |}}
===== 5. Test im Spacer =====
5.0.0 - Jetzt sind wir so weit, dass wir unsere Camera im Spacer Testen können. Unsere Beispielfahrt besteht ja aus 3 Hauptkomponenten:
* Der Mover, das Gatter, das den Durchgang freigibt
Wir klicken auf das Movergatter mit der linken Maustaste worauf die Boundingbox des Movers sichtbar wird und im Objekt_**Pages**_Fenster als selected Vob der Mover angezeigt wird, den ich GATTER benannt habe. Der Vobname des Movers muss in Grossbuchstaben geschrieben sein. Wenn ihr mit der linken Maustaste auf Trigger klickt, wird der Eintrag farblich unterlegt. Wenn ihr jetzt im Objekt_**Pages**_Fenster auf "Send" klickt (linke Maustaste), dann bewegt sich das Movergatter nach oben. Zählt bitte die Sekunden... 21.... 22... 23... usw. bis der Mover seine obere Stellung, (Durchgang geöffnet), erreicht hat. Wer das ganz genau will, so wie ich, der benutze eine Uhr mit Sekundenzeiger. Der Mover in unserem Camerbeispiel bewegt sich 5 sec. Danach den Mover wieder resetten, einfach im Objectfenster, wo der Mover momentan angezeigt wird den Button "Apply" drücken und er schnappt in seine Ausgangsstellung (Durchgang geschlossen).
{{ :spacer:test_gatter.jpg |}}
Wir klicken jetzt auf die Hauptcamera. Darauf erscheint im Objekt_**Pages**_Fenster wieder die Camera. Da unser Mover 5 sec läuft, geben wir noch 1 sec dazu. Das ändern wir im Objekt_**Pages**_Fenster, rechts unten, neben dem Button __"Stop"__, im Fensterchen, unterhalb von __"Duration in seconds"__ und tragen dort eine 6 ein. Alsdann klicken wir mit der linken Maustaste auf __"PLAY"__. Jetzt sollte die Camerafahrt starten und das Gatter, das sich noch nicht bewegt filmen. Wenn ihr mehr Sekunden gebt, wird die Camerafahrt langsamer, wenn ihr weniger SeKunden gebt wird sie schneller, da ja die Camera in der Zeit "X" den Weg "Y" zurücklegen muss. Wenn ihr den Abstand zwischen den Cam-Splines verkürzt, wird die Fahrt ebenfalls langsamer, da die zur verfügung stehende Zeit gleich geblieben ist, aber der Weg der Camera kürzer geworden. Wenn ihr die Strecke zwischen den Cam-Splines verlängert, bei gleichbleibender Zeit, so wird die Camerafahrt schneller, da ja jetzt die grössere Strecke in der selben, der eingestellten Zeit zurückgelegt werden muss. Aus diesem Zusammenspiel aus eingestellter Zeit und der Wegstrecke der Camera, müsst ihr die für eure Situation richtige Mischung ermitteln.
Wenn ihr einmal eine Probefahrt gemacht habt, ist danach der **Spacer blockiert**. Das könnt ihr wieder entsperren, indem ihr im Objektpagesfenster unten rechts auf __"STOP"__ klickt, oder ihr könnt gleich noch mal eine Fahrt machen und nochmals auf __"PLAY"__ klicken.
Die "STOP"-TASTE
{{ :spacer:test_cam.jpg |}}
Jetzt wäre es an der Zeit unsere Camera umzubenennen, von "CAMERASTART" nach "WIKI_CAM_01". Ihr könnt eure Camera nennen wie ihr wollt, aber es können nicht alle Cameras den selben Namen tragen, da sie sonst beim Aufruf alle miteinander aktiviert werden. Nehmt einen aussagekräftigen Namen, damit ihr später nicht in den Spacerfenstern herumsuchen müsst, bis ihr die von euch zur Bearbeitung ausgesuchte gefunden habt. CAMERA_01.... CAMERA_02... wenn ihr mehrere Fahrten habt hilft da nicht viel, obwohl das funktionieren würde. Besser wäre ein Name der Bezug zur Situation hat. Zum Beispiel CAMERA_WAFFENKAMMER.
* Wichtig ist, dass der Name der Kamera in GROSSBUCHSTABEN geschrieben ist.
Dazu überschreiben wir lediglich den vobName der Camera im Objektfenster des Spacers und klicken auf "Apply" und auch das Objekt_**List**_Fenster übernimmt den neuen Namen der Kamera.
{{:spacer:wikicam_01.jpg?300|}} {{:spacer:cam_ob_list.jpg|}}
Als nächstes machen wir einen Doppelklick auf den neuen Namen der Camera im Objekt_**List**_Fenster und schon übernimmt auch das Objekt_**Page**_Fenster den neuen Namen der Camera. Anstatt CAMERASTART steht dort jetzt WIKI_CAM_01.
{{:spacer:cam_ob_page.jpg|}}
* Der Schalter, der die Kamerafahrt auslöst
Den Schalter müssen wir lediglich im Spacer setzen. Entweder als MobInter oder als MobSwitch. (beides möglich) Wir geben auch dem Schalter einen aussagekräftigen Namen. Ich habe SW_WIKI_01 gewählt. SW = Switch!
Wenn man die Camera zum Beispiel CAMERA_WAFFENKAMMER benannt hat, dann sollte man den Schalter SWITCH_WAFFENKAMMER nennen oder SW_WAFFENKAMMER und schon hat man die optische Zugehörigkeit.
Wenn ihr den Schalter gesetzt und benannt habt, wiederum auf "Apply" klicken und schon ist der neue Name sichtbar im Objektfenster und im Objekt_**List**_Fenster, das auch jetzt wiederum seinen Titelleiste geändert hat nach oCMobInter.... Voreinstellung beim Schalter "rewind:TRUE" Sonst löst der nur bei jeder 2ten Betätigung aus.
{{:spacer:switch.jpg|}}
===== 6. Einstellungen =====
6.0.0 - Die Camera ist standardmässig so eingestellt, dass sie nach einer Camerafahrt das Game komplett blockiert und man nicht mehr weiterspielen kann. Warum das so ist, das sollte man die Programmierer fragen, deren Hobby es zu sein scheint, egal in welchem Programm, meistens das als Standard zu setzen, was man nicht, oder äusserst selten benötigt.
Wir benötigen die Einstellung, dass sich der Protagonist während der Camerafahrt nicht bewegen kann, und wenn die Camerafahrt beendet ist, die Camera zum Hero zurückkehrt und ihm seine Bewegungsfreiheit zurück gegeben wird. Ich sehe keinen Sinn darin, dass der Hero, den man ja in unserem Falle, während der Fahrt nicht sehen kann, blind gesteuert umherläuft, eventuell in eine Spalte fällt, oder über ein Skelett stolpert 8-).
6.1.0 - Wir klicken im Spacer auf unsere Camera welche sofort im Objektfenster erscheint.
* 5. Eintrag von unten "total time" Dort tragen wir jetzt die Zeit ein, die wir bei den Probefahrten im Spacer ermittelt haben.
* **totalTime:6**
* 3. Eintrag von unten ""autoCamPlayerMovable:" Hier wird eingestellt, ob sich der Player wärend der Camerafahrt bewegen können soll oder nicht. Für unser Modell besser nicht.
* **autoCamPlayerMovable:FALSE**
* 2. Eintrag von unten "autoCamUntriggerOnLastKey" Die Camera geht nach dem letzen KeyFrame zum Hero zurück und er kann sich wieder bewegen
* **autoCamUntriggerOnLastKey:TRUE**
* 1. Eintrag von unten "autoCamUntriggerOnLastKeyDelay" legt fest, wie viele Sekunden die Camera nach der Fahrt auf dem gefilmten Objekt noch verharren soll. Das steht standardmässig auf null, wir stellen das auf 1 oder 2
* **autoCamUntriggerOnLastKeyDelay:2**
* Mit der Maus auf "Apply" klicken
* Ansonsten die Einstellungen in Ruhe lassen. Weitere Möglichkeiten und deren Folgen, werden im Camera_ABC_2 für Fortgeschrittene behandelt.
* Das Objektfenster sollte jetzt so aussehen:
{{:spacer:einstell.jpg|}}
===== 7. Camera-Start =====
7.0.0 - Eine Camerafahrt wird, wenn sie per Script gestartet wird, grundsätzlich mit der Zeile
Wld_SendTrigger("NAME_MEINER_CAMERA_IN GROSSBUCHSTABEN");
gestartet.
7.0.1 - Für unsere Beispielfahrt, müsst ihr selbstverständlich den Mover ebenfalls starten
Wld_SendTrigger("NAME_MEINER_CAMERA_IN GROSSBUCHSTABEN");
Wld_SendTrigger("NAME_MEINES MOVERS_IN GROSSBUCHSTABEN");
7.0.2 - Wenn ihr das wie hier im Beispiel mit einem Schalter startet (Mobsi generell) müsst ihr im Scriptfunc Eintrag des Schalters/Mobsis in GROSSBUCHSTABEN (Beispiel) WIKI_CAM_01 (ohne den Zusatz _S1) eintragen, wohingegen im Script hinter den Aufruf noch ein _S1 gestellt wird
func foid wiki_cam_01_S1() // Beispiel_Name mit dem Zusatz _S1
{
Wld_SendTrigger("NAME_MEINER_CAMERA_IN GROSSBUCHSTABEN");
Wld_SendTrigger("NAME_MEINES MOVERS_IN GROSSBUCHSTABEN");
};
Im Aufruffalle (NICHT MOBSI), also alle anderen Möglichkeiten von Aufrufen, wie TriggerScript, Dialog, was immer ihr wollt, wird die Aufrufzeile im Script ohne den Zusatz _S1 geschrieben.
7.1.0 - **Wer nicht scripten will**, der kann im Spacer einen **Triggerlist** setzen. Das ist sozusagen eine Weiche,**1. Eingang**, das wäre der Aufruf Schalter -> Triggerlist, die in der Lage ist, den Eingangsimpuls in bis zu **6 Ausgangsimpulse** zu splitten.
* Ihr tragt den Namen des Triggerlist, im Scriptfunc des Schalters ein. **(im Spacer/Objektfenster des Schalters)** Damit ruft der Schalter bei Betätigung den Triggerlist auf.
* Dann holt ihr euch den Triggerlist ins Objektfenster und stellt den als erstes auf **listProcess:LP_ALL**. Das heisst, er ruft alle angeschlossenen Ojekte gleichzeitig auf.
* Das dort vorhandene Delay (Zeitverzögerung) für die einzelnen Ausgänge könnt ihr nicht benutzen, es funktioniert nicht.
* Ihr nutzt von den 6 TriggerTargets 0 -> 5, die 0 und die 1, tragt dort die Camera und den Mover ein und das wars. Ab jetzt funktioniert die Camerafahrt und das Gatteröffnen nach der Schalterbedienung.
7.1.1 - Besonderheiten: Leider geht die Camerafahrt etwas anders mit dem Schaltermobsi um, als wir das im Normalfalle gewohnt sind.
* Wenn ihr den Schalter **nicht** auf "rewind:True" stellt, dann müsstet ihr beim nächsten auslösen den Schalter bedienen und es tut sich nichts und dann den Schalter noch mal betätigen, um die Camerafahrt ein nächstes mal auszulösen.
* Wenn ihr den Schalter auf "rewind:True" stellt, dann wird der Vorgang des Schalterresets erst dann ausgeführt, wenn die Camera zum Player zurückkehrt, incl. Sound der Schalterbetätigung. Das sieht ein wenig merkwürdig aus.
* Deshalb ist es empfehlenswerter, die Camerafahrt mit einem Script auszulösen und auch nur einmal zuzulassen. Wenn ihr das Tor geoffnet habt, habt ihr ja meistens auch keinen Grund es wieder zu schliessen.
Bsp.
func void open_camgatter01_S1() //Scriptfunc des Schalters
{
var int open_gatter01; //variable setzen
if (open_gatter01 == 0) // variable abfragen
{
Wld_SendTrigger("NAME_MEINER_CAMERA_IN GROSSBUCHSTABEN");
Wld_SendTrigger("NAME_MEINES MOVERS_IN GROSSBUCHSTABEN");
open_gatter01 = 1; // sperrt die Betätigung nach dem ersten Auslösen
}
else
{
Print("Du hast die Waffenkammer bereits geöffnet");
};
};
===== Ingametest =====
{{youtube>oVHlSlCvkE0?medium}}
**+++ ENDE CAMERA_ABC_1. HIER WIRD EIN LINK STEHEN, WENN CAMERA_ABC_2 (FORTGESCHRITTENE) FERTIGGESTELLT IST +++
**
20160206dlz