http://www.haradirki.de

Kamera:

Beispielmap: "tutor64.map"
Ergebnissmap: "tutor65.map"

Nun, mit diesem Tutorial will ich dir zeigen, wie man eine Kamera in die Map einbinden kann. Manche mögen das noch aus den alten Q3-Zeiten kennen, da dort manche Teleporter Stellen gezeigt haben, an die man teleportiert wird. Nun wollen wir so eine Kamera bauen - natürlich kannst du dir auch eine ganz normale Kamera bauen, z.B. zur Überwachung einer taktisch wichtigen Stelle in deiner Map.

Fangen wir an, dieses Mal müssen wir wieder auf einige neue Texturen und einen Shader zurückgreifen, die du hier ein einer Zip-Datei finden kannst. Nun erstellst du im Textures-Verzeichnis einen neuen Ordner, den du "common" nennst. Nun brauchen wir noch einen zweiten Ordner, den du "tutcam" nennst und ebenfalls im Textures-Ordner erstellst.

Nun befinden sich in dieser Zip-Datei 6 Dateien - und diese müssen wir jetzt in unsere 2 Verzeichnisse kopieren. Dazu habe ich dir hier eine Tabelle erstellt, wo du sehen kannst, welche Datei wohin gehört:

Datei-Name: wird in folgenden Ordner kopiert:
camera.shader Main/scripts
camera.tga Main/textures/common
portal_ground.tga Main/textures/tutcam
portal_noise.tga Main/textures/tutcam
screenfx.jpg Main/textures/tutcam
scrollbar_portal.tga Main/textures/tutcam

Nun haben wir schon fast die ganze Vorarbeit geleistet - doch da wir auch einen Shader mit von der Partie haben, müssen wir diesen noch in die Shaderlist.txt eintragen. Die Datei befindet sich, wie du ja schon weisst, im Verzeichnis Main/scripts. Also öffnen wir nun diese Text-Datei und schreiben in die letzte Zeile "camera" (ohne die Anführungszeichen). Dann müsste es ungefähr so aussehen:

ACHTUNG: Die anderen Shader können bei dir abweichen, da zu z.B. aus anderen Tutors bereits Einträge in dieser Datei stehen hast.

Hier fügst du in die unterste Zeile das Wort camera ein

Nun können wir loslegen und starten den Radiant. Nun lädst du die Map "tutor64.map". Hier habe ich dir eine kleine Map gebaut, die ein kleines Kontroll-Terminal enthält. Hier soll man zum schluss sehen können, ob die MG42-Stellung besetzt ist oder ob es ungefährlich ist, den Gang zu passieren. Nun lädst du die Common-Texturen:

Hier sollte sich jetzt die Camera-Textur befinden

Hier siehst du nun die Camera-Textur. Wenn du alles richtig gemacht hast, hat sie einen weissen Rand, was bedeutet, dass es einen Shader gibt, der ihr weitere Eigenschaften gibt - in unserem Fall natürlich, eine Camera zu sein.

Nun bauen wir uns die Camera - ich setze sie in das Loch am Kontroll-Terminal ein - du kannst sie natürlich auch etwas anders gestalten. Du musst beachten, dass nur die Vorderseite mit der Camera-Textur belegt ist - die anderen Seiten belegst du am besten mit einer normalen Textur, z.B. wähle ich immer zuerst eine andere Textur und lege sie über den ganzen Brush:

der Brush, der später zu unserer Kamera wird

Und anschliessend belege ich die Vorderseite mit der Camera-Textur:

nur die Vorderseite wird mit der Camera-Textur belegt

Ich habe die beiden "Rahmen-Brushes" gehidet, so dass du besser sehen kannst, dass auch wirklich nur die Vorderseite mit der Camera-Textur belegt ist. Nun dürfte es bei dir so aussehen:

Das Kontroll-Terminal

Das hätten wir soweit - jetzt haben wir schonmal den Monitor, an dem das Bild ausgegeben wird - jedoch fehlt uns noch die Quelle, die uns das Bild liefert. Dazu brauchen wir 3 Entities. Zum einen ist das ein "misc_portal_surface", ein "misc_portal_camera" und ein "info_notnull":

die 3 Entities, die man für eine Camera braucht

Diese 3 Entities müssen wir jetzt nur noch verbinden und natürlich noch an die richtigen Stellen schieben. Dazu aber später. Nun drückst du die "ESC"-Taste. Dann markierst du zuerst das "misc_portal_surface" und dann das "misc_portal_camera" Entity. Nun drückst du "STRG" + "K". Nun müsste eine blaue Linie erscheinen.
Nun drückst du wieder "ESC" und markierst jetzt das "misc_portal_camera" und dann das "info_notnull" Entity. Nun drückst du auch wieder "STRG" + "K". Nun müssten die beiden Entities über eine grüne Linie verbunden sein:

die verbundenen Entiies müssen jetzt nur noch an ihren Platz kommen

So, nun müssen wir nur noch für die 3 Entities das passende Plätzchen suchen. Das "misc_portal_surface" setzen wir genau wie beim Spiegel genau vor den Brush mit der Camera-Textur, die beiden anderen Entities verschiebst du erstmal in den Raum, in der die MG42 steht. Um diese beiden Entities kümmern wir uns später. Nun sieht das ganze so aus:

das Entity misc_portal_surface vor dem Brush

Bis hierher dürfte dir das alles aus dem Spiegel-Thema bekannt vorkommen. Wie du in der Top-Ansicht gut erkennen kannst, sind die Entities immernoch untereinander verbunden, du kannst sie also frei verschieben, wie es dir gefällt. Nun wenden wir uns mal den beiden anderen Entities zu. Das misc_portal_camera ist quasi unser Auge, aus dem wir sehen - also possitionieren wir es überhalb der MG-Stellung. Das info_notnull steht für die Blickrichtung, also habe ich dieses Entity schräg nach unten und auf die MG-Stellung blickend gesetzt. Du kannst dir natürlich auch einen anderen Blickwinkel raussuchen. Bei mir sieht es jetzt so aus:

das Auge, durch das man später sehen kann

Nun haben wir noch eine kleine Einstellung zu tätigen. Wie beim menschlichen Auge auch funktioniert die Kamera nach dem Loch-Kamera-Prinzip. Das bedeutet, das Bild wird auf dem Kopf dargestellt, das müssen wir natürlich noch ändern. Dazu drückst du die "ESC"-Taste und klickst das "misc_portal_camera"-Entity an und drückst die Taste "N" um das Entity-Fenster aufzurufen. Hier gibst du folgendes ein:

  • Key: "roll"
    Value: "180"

Fertig sieht es dann so aus:

das Entity misc_portal_camera bekommt den Roll-Eintrag verpasst

Wenn du den Eintrag richtig gemacht hast, siehst du ihn in der Liste (ich habe dir den Eintrag blau markiert). Nun kannst du mal deine Map compilieren und dein Werk bewundern:

die Kamera im Level

So, nun muss ich aber noch sagen, dass solche Kameras natürlich ziemliche Performance-Killer sein können - je nachdem, wieviel man durch sie von der Map sehen kann und wieviel Detail zu sehen ist, sacken hier die FPS auch schonmal ganzschön ab.Dann solltest du vielleicht Stellen suchen, die nicht so sehr viel Detail enthalten oder auch sonst nicht allzuviel im Blickfeld zu sehen ist. Aber lass dich davon nicht abschrecken, diese Kameras sind tolle Elemente, um Taktiken besser zu planen.

 

zurück zur Hauptseite