[TUTORIAL] Erstellung einer einfachen Haupthalle

Modding Tutorials rund um FreeSpace SCP
Antworten
Benutzeravatar

Topic author
Novachen
Vice Admiral
Vice Admiral
Beiträge: 196
Registriert: 30. Mai 2018, 11:34
Geschlecht:
Kontaktdaten:
Status: Offline

11. Jun 2018, 18:47

Dieses Thema ist eine Übersetzung des Themas Basic Mainhall Tutorial von mjn.mixael auf Hard Light Productions. Die deutsche Übersetzung wurde mit freundlicher Genehmigung von diesem erstellt.
Die Haupthalle-Grundlagen
Haupthalle Ausbildungslager

Mit diesem Tutorial werde ich dich durch die Grundlagen der Einrichtung einer sehr einfach gehaltenen Haupthalle führen. Dies wird keine 3D- oder vollständige Hangarhaupthallen abdecken, aber die hier erlernten Prinzipien sind für diese genau die gleichen. Ich werde dich hier auch nicht durch den Erstellungsprozess führen. Ich gehe davon aus, dass du diese größtenteils fertiggestellt hast und jetzt versuchst sie innerhalb von FSO zum Laufen zu bekommen. Stelle sicher, dass du einen Hintergrund und sechs Schaltflächen oder anklickbare Bereiche hast. Stelle auch sicher, dass sich in den Quelldateien die Schaltflächen auch auf einer anderen Ebene als die Hintergrundgrafik befindet.

Das hier ist mein Entwurf:
Bild

Das erste, das du wissen solltest ist, dass du es mindestens auf der Auflösung von 1024x768 machst, was ich dir für den Anfang auch empfehlen würde. Allerdings unterstützt FSO mittlerweile auch Haupthallen mit 16:9, wie auch allgemein höheren Auflösungen. Wichtig ist aber, dass die Mindestauflösung 1024x768 beträgt. Gut, du könntest auch eine mit 640x480 machen, die muss dann aber auch absolut in 640x480 sein, aber über diese werde ich zu einem späteren Zeitpunkt schreiben.

Bringe dein Bild mit allen Schaltflächen und Grafiken auf eine Ebene und speicher es als .png ab. Dies wird eigentlich nur eine temporäre Datei sein, aber sie wird uns dabei helfen, die Dinge richtig einzurichten. Nun speicher jeden deiner Schaltflächen oder anklickbaren Bereiche mit einem transparenten Hintergrund ab. Diese müssen nicht unbedingt in 1024x768 sein. Eigentlich, je weniger transparenter Raum sichtbar ist, desto besser.

Das ist jetzt meine temporäre Datei:
Bild

und eine Beispieldatei einer Schaltfläche:
Bild

Die Maske
Wie die von Jim Carey?

Das nächste was wir erstellen müssen ist die Menümaske. Das ist ein Bild welches FSO mitteilt über welcher Schaltfläche sich deine Maus befindet. Das ist eigentlich ein ziemlich cleveres System. Lass mich erklären, wie es funktioniert. Die Maske muss eine indizierte Datei sein. Eine indizierte Bilddatei speichert Farbinformationen in Indexzahlen anstatt in Pixeln. Es wird dann jedem Pixel eine Indexzahl zugewiesen. Wenn das Bild auf dem Bildschirm wiedergegeben wird, erhält das Programm die Indexzahl des Pixels und zeigt dann diesem Index zugeordnete Farbe an. Es ist eine sehr gute Form der "Komprimierung" von Bildern, die nur sehr wenige Farben haben. Das so wird es von FSO allerdings nicht verwendet. FSO überwacht hingegen den Index des Pixels, über dem sich die Maus gerade befindet und ergreift dann die dazugehörige Maßnahme.

Also hier wird jetzt erklärt, was du wissen musst, um eine zu erstellen. FSO kümmert sich wirklich nur um die ersten sechs Indizes, dabei kannst du die RGB-Werte bis auf Weiteres ignorieren.
  • Beenden-Schaltfläche [255,255,255]
  • Kaserne-Schaltfläche [254,254,254]
  • Bereitschaftsraum-Schaltfläche [253,253,253]
  • Technikraum-Schaltfläche [252,252,252]
  • Optionen-Schaltfläche [251,251,251]
  • Kampagnen-Schaltfläche [250,250,250]
Diese sind fest im Spiel einprogrammiert und können nicht geändert werden. Was du also tun wirst ist, Indizes 1 bis 6 Farben zuzuweisen. Wie du das tust, unterscheidet sich von dem ausgewählten Bildbearbeitungsprogramm. Dieses Bild sollte genau die gleiche Größe haben, wie dein eigenes Bild, da es deinem Entwurf entsprechen muss. Du wirst dann mit der Farbe von Index 1 über den klickbaren Bereich und der Form der Beenden-Schaltfläche malen. Wiederhole diesen Schritt dann mit der Farbe von Index 2 für die Kaserne-Schaltfläche und wiederhole dies für alle sechs Schaltflächen. Ich folge hierbei dem Schema der Maske des ursprünglichen Spiels, weshalb ich mit einer schwarzen Grafik arbeite, wo ich mit verschiedenen Weißtönen herummale. In der obigen Liste habe ich die RGB-Werte der Schaltflächen hinzugefügt, die die Verkaufsversion von FreeSpace2 für die jeweiligen Schaltflächen verwendet.

Meine Maske sieht entsprechend so aus:
Bild

Du kannst auch die Maske aus dem unten stehenden Beispiel herunterladen und die RGB-Werte im Vergleich zu der indizierten Farbpalette untersuchen, um zu schauen, wie ich das gemacht habe.

Dateieinrichtung
Mit verwirrenden EFFs

So, wir haben jetzt eine temporäre Hintergrunddatei, sechs unterschiedliche Schaltflächen in Dateien und eine Maske. Damit sind wir schon fast fertig. FSO erwartet, dass die Schaltflächen animiert werden und darauf müssen wir entsprechend eingehen. Ich empfehle ein geordnetes Benennungsschema für deine Schaltflächen. In diesem Beispiel habe ich jeder Schaltfläche "But-REGION.png" genannt, wobei "REGION" mit Dingen wie "ReadyRoom" ersetzt wird, was für den Bereitschaftsraum steht. Aber wir müssen aufgrund der Animationsprogrammierung einen Schritt weiter gehen. Du musst ein "_0000" am Ende des Namens vor der Erweiterung hinzufügen. Damit habe ich jetzt "But-ReadyRoom_0000.png". Wiederhole das für alle sechs Schaltflächen. Nachdem du damit fertig bist, müssen wir eine .eff-Datei erstellen. Öffne einen Texteditor wie Editor und kopiere das folgende hinein:

Code: Alles auswählen

$Type: png
$Frames: 1
$FPS: 15
Dann speicher es als "DEINSCHALTFLÄCHENNAME.eff". In meinem Beispiel wäre dies entsprechend "But-ReadyRoom.eff". Beachte, dass ich hier die Nummern nicht berücksichtigt habe. Das liegt daran, wie EFFs arbeiten. EFFs sind mehr oder weniger Mini-Tables, welche FSO Informationen über Animationseinzelbilder mitteilen. Es erhält den Stammnamen der Animation aus dem Namen der EFF-Datei und fügt dann automatisch das "_####", beginnend mit 0000 dazu und endet mit dem letzten Einzelbild, welches in der Datei unter $Frames eingetragen wurde. Dazu erhält es das Dateiformat aus $Type und die Bilder-pro-Sekunde aus dem Eintrag bei $FPS. Der Dateityp sollte deinem Bild entsprechen, was PNG ist. Unsere Schaltfläche ist ohne Animation, weshalb wir nur ein Einzelbild haben. Tue das für alle deine sechs Schaltflächen. Du solltest jetzt insgesamt 14 Dateien haben, die bereit zur Benutzung sind. Erstelle jetzt ein Mod-Verzeichnis und erstelle in diesem dann data/interface und data/tables. Kopiere alle 14 Dateien in data/interface.

Die Table unter der digitalen Lupe
Definitiv kein Porno!

Jetzt brauchen wir eine mainhall.tbl und es wird einfacher sein, mit einer zu beginnen, die bereits existiert. So lass uns einfach diejenige aus der Verkaufsversion nehmen. Ich habe hier eine verlinkt, um es dir noch einfacher zu machen.

Öffne diese mit einem Texteditor und scrolle runter, bis du die Zeile ";; Main hall 1 (Vasudan)" findest. Lösche diese und alles folgende ausschließlich das "#end". Das wird uns die Table vereinfachen, indem nur noch eine Haupthalle eingetragen ist. Beachte, dass bei einem Eintrag jeweils eine Haupthalle für 640er Auflösungen und für 1024er-Auflösungen definiert ist. Wenn du möchtest, kannst du deine Haupthalle auch für 640er Auflösungen skalieren und neu erstellen, allerdings werden in der heutigen Zeit wohl nur noch sehr wenige Leute dieses zu Gesicht bekommen, weil sich einfach Auflösungen weit über 1024x768 etabliert haben. Ich bevorzuge, einfach das 640er Zeug der Aquitane zu belassen, damit FSO für die eine Person, die FreeSpace noch auf so einer niedrigen Auflösung spielt nicht abstürzt. Beachte allerdings, dass du die 640x480er Einstellungen nicht löschen kannst. Sie müssen vorhanden sein oder FSO schreit Zeter und Mordio. Von nun an, werde ich mich nur auf die 1024er-Sektion konzentrieren, welche mit ";; GR_1024" beginnt.

An dieser Stelle möchtest du vielleicht einen zusätzlichen Reiter öffnen, um die englischsprachige Wikiseite zur mainhall.tbl zu lesen, um über alle möglichen Funktionen und Einstellungen informiert zu sein. Allerdings werde ich die Änderungen, die mit 3.7 oder neuer markiert sind, in diesem Tutorial nicht behandeln, da diese zum Zeitpunkt dieses Tutorials noch nicht implementiert waren, wie auch die Tatsache, dass es auch noch keine modulare Table zur mainhall.tbl gab. Sicherlich ein Beweis dafür, wie alt dieser Text eigentlich ist, wie weit sich die Engine in der Zwischenzeit weiterentwickelt hat und warum es eigentlich auch mal eine neue Version dieses Tutorials geben sollte. Da es allerdings nach wie vor funktioniert, dient es trotzdem immer noch seinem Zweck Grundlagen zu vermitteln, aus denen du dann alles weitere selbst erlernen kannst.

Mache weiter und stelle sicher, dass deine Table in deinem Mod-Verzeichnis unter data/tables als "mainhall.tbl" gespeichert ist. Wie bereits geschrieben, werden wir nur mit der ";;GR_1024"-Sektion arbeiten.

Mache in dieser folgende Änderungen:

Code: Alles auswählen

+Bitmap:
Sollte auf deine temporäre Hintergrundbilddatei verweisen.

+Mask:
Sollte auf deine Maskendatei verweisen.

+Num Intercom Sounds:
Ersetze diese mit dem folgenden, da wir dies später behandeln werden.

Code: Alles auswählen

+Num Intercom Sounds:	1
+Intercom delay:	8000 15000
+Intercom sound:	1
+Intercom pan:		0.0

Code: Alles auswählen

+Num Misc Animations:
Sollte auf Null sein, da wir keine haben. Klammere die restlichen Zeilen bis +Num Door Animations: mit ;; aus oder lösche diese.
Unter +Num Door Animations: 6 solltest du sechs "+Door anims:"-Einträge sehen. Diese sind in folgender Reihenfolge mit den klickbaren Bereichen verknüpft: Beenden, Kaserne, Bereitschaftsraum, Technikraum, Optionen und Kampagne. Diese Reihenfolge kann nicht geändert werden. So ersetze dort alle Einträge mit den Namen der EFF-Dateien deiner Schaltflächen. Meine sieht entsprechend so aus:

Code: Alles auswählen

+Door anim:		But-Quit				;; door anim 1 exit
+Door anim:		But-Barracks				;; door anim 2 barracks
+Door anim:		But-ReadyRoom				;; door anim 3 ready room
+Door anim:		But-TechRoom				;; door anim 4 tech room
+Door anim:		But-Options				;; door anim 5 options
+Door anim:		But-Campaign				;; door anim 6 campaign
Wir werden im Moment nichts weiteres ändern. Wähle das Mod-Verzeichnis aus und starte FSO. Du solltest nun dein temporäres Hintergrundgrund und alle deine Schaltflächen sehen, allerdings werden diese über das gesamte Bild verteilt sein.

Bild

Wenn du dieser Anleitung bisher gefolgt bist, dann wird dein Hintergrundbild auch Bilder deiner Schaltflächen haben, weshalb du möglicherweise Duplikate siehst. Was in meinem Beispiel als Hintergrund verwendet wird, habe ich rot eingekreist. Die eigentlichen Schaltflächen sind mit Blau eingekreist.

Bild

Du kannst auch überprüfen, ob deine Maske funktioniert, indem du deine Maus dahin bewegst, wo deine Schaltflächen sein sollten. Du solltest sehen, wie ein Text am unteren Bildschirmrand erscheint, der dich darüber informiert, welche "Schaltfläche" du drücken würdest. Wenn das Spiel die Schaltflächen oder den Hintergrund nicht korrekt geladen hat, dann überprüfe die mainhall.tbl auf Rechtschreibfehler. Stelle auch sicher, ob du nicht irrtümlich auch Dateiendungen in die Table geschrieben hast. Wenn die Maske nicht ordnungsgemäß funktioniert, hast du vielleicht die Indizes falsch eingerichtet, weshalb du da mit deinem Bildbearbeitungsprogramm nachbessern solltest.

Hier kannst du sehen, ob deine Maske funktioniert:
Bild

Lass uns jetzt zu der Table zurückkehren, also beende FSO und kehre zu den "+Door anim"-Einträgen zurück. Ich brauche einen Moment, um zu erklären, wie die mainhall.tbl funktioniert. Denke daran, dass dies für alle Bereiche der mainhall.tbl anwendbar ist und nicht nur für die Türbereiche. Beachte, wie jeder Satz der +XXXXXXX-Kennzeichen sechs Versionen hat. Sie entsprechen jeweils dem Türeintrag von oben in der gleichen Reihenfolge. Deswegen arbeiten die ersten "+Door coords:" genauso mit der ersten "+Door anim:" zusammen, wie die fünfte "+Door pan:" mit dem fünften "+Door anim:"-Eintrag. Dies zu verstehen ist der Schlüssel, um den Aufbau der mainhall.tbl nachvollziehen zu können.

Mit diesem Wissen im Hintergrund müssen wir unsere Schaltflächen korrekt positionieren. Wie du vielleicht schon richtig erraten hast, erhalten diese ihre Position durch jeweiligen "+Door coords:"-Einträge. Es gibt hier vier Zahlengruppen. Die ersten beiden Zahlen sind die X- und Y-Koordinate der Schaltfläche gemessen von der linken oberen Bildschirmecke bis zur linken oberen Ecke des Schaltflächenbildes. Die zweiten beiden Zahlen sind die X- und Y-Koordinate für den Ort, wo der Mauszeiger platziert wird, wenn er die rechte Maustaste betätigt. Normalerweise sollten diese Koordinaten den Mittelpunkt der Schaltfläche entsprechen. Auch diese werden von der linken oberen Bildschirmecke aus gemessen.

Es gibt keinen wirklich einfachen Weg, die korrekte Position zu ermitteln. Du wirst ein paar gut begründete Schätzungen durchführen und FSO starten, um diese zu überprüfen. Nimm dann ein paar Anpassungen vor und überprüfe sie erneut. Du kannst aber natürlich auch Pixelberechnungen durchführen. Ich weiß, dass meine Schaltflächen 204 Pixel breit sind und das sich die Schaltfläche für den Bereitschaftsraum direkt in der Mitte befindet. So beträgt die X-Koordinate entsprechend 512 minus 102 Pixel, da 512 die Hälfte von 1024 ist und 102 die Hälfte der Breite des Schaltflächenbildes. Gleichzeitig wird die X-Position der Maustaste direkt die Bildschirmmitte sein oder schlicht 512. Die Y-Koordinate der "Bereitschaftsraum"-Schaltfläche habe ich nur geschätzt, sobald ich diese aber am richtigen Ort habe, weiß ich, dass alle anderen Schaltflächen, abgesehen von meiner "Beenden"-Schaltfläche die gleichen Y-Koordinaten für die Schaltflächen und dem Mauszeiger haben werden. So habe ich noch ein paar weitere begründete Schätzungen oder Berechnungen gemacht, um die Schaltflächen endlich alle aneinanderzureihen. Aus diesem Grund hast du auch das temporäre Hintergrundbild mit all den Schaltflächen erstellt. Mit dieser kannst du die richtigen Schaltflächen so aneinanderreihen, wie sie sein müssen und auch zu der Maske für die Haupthalle passen. Wenn du das abgeschlossen hast, kannst du deine temporäre Hintergrundgrafik mit der finalen Version ersetzen, die du ohne Schaltflächen darauf gespeichert hat. Hier ist meine:

Bild

Und hier sind wir in FSO mit allen Schaltflächen an ihrer richtigen Position:

Bild

Mach es noch genialer
Füge einfach MjnMixael hinzu!

Dies ist bereits eine perfekt nutzbare Haupthalle. Sie besitzt alle Grundlagen und funktioniert auch richtig. Aber lass sie uns etwas anpassen. Lass uns mit den Soundeffekten beginnen. Du hast vielleicht bemerkt, dass du beim fahren mit dem Mauszeiger über den Schaltflächen den klassichen "Tür öffnen"- und "Tür schließen"-Soundeffekt hörst. Lass uns das zum FS-Piepton ändern. Die Soundeffekte, die du hier verwendest, müssen in der Interface-Sektion der sounds.tbl eingetragen sein, über die du in der englischsprachigen FreeSpace Wiki lesen kannst. Ich weiß bereits, dass der Ton, den ich möchte Soundindex 0 ist und das der Soundindex 1 leer ist.

FSO spielt die Sounds für "Türen" ab, wenn die Maus auf die Schaltfläche kommt und wenn er sie wieder verlässt. Suche "+Door sounds:" und du siehst, dass sie alle zwei Nummern haben. Diese entsprechen den Soundindizes. Die erste ist für das drauffahren mit der Maus auf die Schaltfläche, der zweite, wenn die Maus die Schaltfläche wieder verlässt. Ich möchte den Piepton, wenn der Spieler auf die Schaltfläche kommt, aber keinen Sound, wenn er sie wieder verlässt, weshalb ich die Indizes zu 0 und 1 ändere. Du kannst das auch in der mainhall.tbl sehen, die ich dem unten stehenden Download beigefügt habe.

Wenn du es jetzt versuchst, wirst du den Piepton erhalten, allerdings wird dieser jeweils im Stereo links oder rechts verschoben abgespielt. Zurück in der Table gibt es "+Door pan:" wo -1.0 ganz links, 0.0 mittig und 1.0 ganz rechts ist. Ich habe die Einträge für jede Schaltfläche so geändert, dass sie mit der Position auf dem Bildschirm übereinstimmen. Du kannst das gleiche machen oder sie einfach alle auf 0.0 und damit mittig ausrichten.

Ich hoffe, dass du die Quelldateien für deine sechs Schaltflächen gespeichert hast, weil wir jetzt eine einfache Animation hinzufügen, die du mit jedem Bildbearbeitungsprogramm erstellen kannst. Öffne deine Schaltfläche und mache etwas, wie den Text hervorzuheben oder der gesamten Schaltfläche eine hellere Farbe zu geben.

Ich veränderte diese Schaltfläche von:
Bild

zu dieser:
Bild

Speichere diese zu dem Namen deiner Schaltfläche, allerdings mit "_0001" anstatt "_0000". Verändere deine EFF-Datei so, dass du zwei Einzelbilder hast, also editiere die Zeile $Frames. Ich habe zusätzlich auch die $FPS auf 120 geändert, damit die Schaltflächen etwas schneller reagieren. Das erste Einzelbild deiner Zwei-Bilder-Animation ist das, was standardmäßig angezeigt wird. FSO wird die Animation abspielen und beim letzten Einzelbild anhalten, wenn die Maus auf der Schaltfläche verbleibt. Da wir hier nur zwei Einzelbilder haben, ist es ein einfacher An- und Ausschalter. Ich habe das für alle sechs Schaltflächen wiederholt.

HINWEIS: Wenn du .ani anstatt .eff verwendest, benötigst du den ANIBuilder, um ANIs, wie für die Haupthalle, zu erstellen und auch um richtige Schlüsselbilder auszuwählen. Du kannst dafür meine MixaelANITools verwenden. Für mehr Informationen zu ANIs und über EFFs, kannst du in das, ebenfalls auf deutsch übersetzte, Tutorial zur Erstellung von Animationen reinlesen.

Lass uns außerdem auch die Musik wechseln. Scrolle nach oben, um den Musikeintrag zu finden. Gegenwärtig steht dieser auf "Aquitane". Dies verweist auf einen Musikeintrag in der music.tbl, über die du in der englischsprachigen Freespace Wiki mehr erfahren kannst. Du kannst deine music.tbl ändern, wenn du es wünscht. Um es jetzt aber einfach zu halten, habe ich meine Musik einfach als Aquitane.wav/.ogg abgespeichert, um dies nicht zu tun und habe sie entsprechend in den data/music-Ordner platziert.

Sonstige Animationen
Ich habe nichts.

Das sieht an diesem Punkt doch bisher ganz nett aus. Aber ich werde jetzt etwas weiter gehen und noch eine sonstige Animation hinzufügen. Sonstige Animationen sind Animationen, welche ständig abgespielt werden. Durch diese bewegten sich die Kräne in der FS1 Haupthalle der GTD Bastion oder wurden Schweißfunken in der FS1 Haupthalle der GTD Galatea erzeugt. In den meisten Fällen kannst du solche Animationen nicht ohne ein für Animation zuständiges Programm wie After Effects erstellen. Ich werde diesen nächsten Abschnitt etwas schneller durchgehen. Vergiss nicht, die englischsprachige Wikiseite zur mainhall.tbl durchzugehen, um jeden Eintrag der Haupthalle vollständig verstehen zu können.
Dies betrifft natürlich vor allem die Neuerungen und Ergänzungen, die über dieses Tutorial hinaus gehen, die es dir ermöglichen noch bessere Haupthallen zu erzeugen.

Ich habe zufällig ein animiniertes SOC-Logo, welches ich verwenden werde. Ich habe es, wie zuvor, als .EFF gespeichert. Ich habe die "+Num Misc Animations:" auf 1 geändert und habe den Dateinamen zur "+Misc anim:" ergänzt. Ich habe dessen "+Misc Anim Delay:" auf -1 0 0 geändert, so dass diese auch direkt mit dem Laden der Haupthalle abgespielt wird. "+Misc anim coords:" funktioniert genau so wie "+Door coords:", so dass ich sie entsprechend auf die richtige Position platziere. Darüber hinaus setze ich dessen "+Misc anim mode:" auf 0, was für Schleife steht. Da ich auch keinerlei Soundeffekte dabei haben möchte setze ich die Sounds und Trigger auf 0. Ich habe zusätzlich auch mein Hintergrundbild neu gespeichert, so dass es kein SOC-Logo mehr hat. Jetzt besteht dieses Bild also nur noch aus den Sternen und dem grünen Nebel.

Also so:
Bild

Die Animation ist an die 110 Einzelbilder lang, was ungefähr knapp über sieben Sekunden bei 15 FPS entspricht. Sie wiederholt sich ständig und wirkt damit ziemlich unruhig und beschäftigt, weshalb ich sie zu einer Zeitgesteuerten Animation verändere.

In der mainhall.tbl stelle ich dafür die "+Misc anim mode:" auf 2 um, was entsprechend die Animation zu einer Zeitgesteuerten macht. Dabei setze ich ihre Verzögerung, also ihren "+Misc anim delay:", auf -1 8000 10000, wobei die niedrigste Verzögerung acht und die höchste Verzögerung zehn Sekunden ist. Als ich jetzt die Haupthalle geladen habe, fiel mir als erstes auf, dass das Logo fehlte. Nach ungefähr acht Sekunden tauchte es auf dem Bildschirm auf, machte seine Animation und verschwand wieder. Das ist eine gute Lektion. Sonstige Animationen funktionieren nicht so wie die Türanimationen, abgesehen von einer Ausnahme, auf die ich gleich eingehen werde. Sie werden NUR während der Wiedergabe auf dem Bildschirm angezeigt. Da eine Animation mit einer Schleife immer abgespielt wird, ist das bei diesen kein Problem, Zeitgesteuerte Animationen sind allerdings anders. Um das Problem zu beheben, habe ich das SOC-Logo wieder meinem Hintergrund hinzugefügt und dabei auch sichergestellt, dass die Position der sonstigen Animation mit dem Bild übereinstimmt, genauso wie wir es mit den Schaltflächen gemacht haben.

Die eben genannte Ausnahme ist es, wenn "+Misc anim mode:" auf 1 gesetzt wird. Modus 1 bedeutet warten, was im Grunde bedeutet, dass die Animation unbegrenzt lange ihr letztes Bild aufrecht hält. Die Aquitane-Haupthalle von FreeSpace2 verwendet dies für den Mann, welcher den Fahrstuhl runterfährt.

Also dieser Typ:
Bild

Allerdings ist meine Logo-Animation immer noch ziemlich eintönig. Es ist die gleiche Animation, welche alle paar Sekunden abgespielt wird. Allerdings hat Goober5000 mal eine super tolle Funktion hinzufügt, die meine 3D-Haupthallen ausgiebig nutzen. Im Grunde ist es mit dieser Funktion möglich, mehrere Varianten einer Animation zu erstellen, wobei nur eine von denen gleichzeitig abgespielt wird!

Momentan hat meine sonstige Animation ein Leuchten, welches sich von rechts nach links und dann von links nach rechts über das Logo bewegt. Um Zeit zu sparen, schneide ich es einfach in zwei Hälften und mache daraus drei unterschiedliche sonstige Animationen. Eine, in der sich das Leuchten von rechts nach links und zurück bewegt, eine wo es nur von rechts nach links bewegt und die letzte, wo es sich von links nach rechts bewegt.

Ich habe sie alle der mainhall.tbl hinzufügt, wie ich es auch mit der ersten sonstigen Animation gemacht habe. Sie befinden sich alle in einem zeitgesteuerten Modus und haben auch eine entsprechende Verzögerung. Als nächstes werden wir "+Misc anim group:" direkt unter "+Misc anim:" für alle drei Einträge hinzufügen. Schaue dir die beigefügte mainhall.tbl aus dem Download für ein Beispiel an. Mit diesem zusätzlichen Eintrag könnten sonstige Animationen entsprechend gruppiert werden, wobei mit -1 keine Gruppierung stattfindet. Ich habe alle drei die Gruppennummer 1 gegeben, womit sie sich alle in der gleichen Gruppe befinden. Wenn du jetzt FSO startest und für eine Weile zuschaust, wirst du sehen, dass alle acht bis zehn Sekunden eine der drei Animationen zufällig abgespielt wird. Das ist eine ziemlich starke und flexible Funktion!

Die sonstigen Animationen in der gleichen Gruppe benötigen nicht die gleiche Verzögerung, Koordinaten oder Soundeffekte. Sie müssen allerdings alle auf Modus 2, also auf zeitgesteuert, stehen. Ich überlasse es deinem kreativen Gehirn, um über die ganzen Möglichkeiten nachzudenken.

Lautsprechergeräusche
Kündige eine Ankündigung an!

Die Lautsprecher- beziehungsweise in der Datei die Intercom-Sektion sollte jetzt ziemlich einfach sein, nachdem du jetzt bereits mehr über die mainhall.tbl weißt. Lautsprechergeräusche sind Geräusche, welche zufällig im Hintergrund abgespielt werden. Sie haben eigentlich viel mit den sonstigen Animationen gemeinsam, außer dass sie auf was visuelles verzichten. Du kannst genauso mehrere Lautsprechergeräusche haben, wie du auch mehrere sonstige Animationen haben kannst. Das Aussehen ihrer Einträge ist genau der gleiche. Schlage einfach auf der mainhall.tbl-Seite der englischsprachigen FreeSpace Wiki nach um mehr Informationen über jeden Eintrag in dieser Sektion zu erhalten.

Andere Hinweise
Die musikalische Art... nicht so wirklich.

Die Haupthalle arbeitet im wesentlichen in Ebenen. Der Hintergrund ist immer auf der untersten und die Türen sind immer auf der höchsten Ebene. Sonstige Animationen sind dazwischen. Animationen, die zuerst in der mainhall.tbl aufgelistet sind, haben immer eine höhere Ebene als die Animation die in der Datei folgt.

Mittlerweile gibt es auch Modulare Haupthallen, die mit xxx-hall.tbm hinzugefügt werden, wobei xxx entsprechend dein gewählter Dateiname ist. Wenn du unsere erstellte mainhall.tbl stattdessen in SOC-hall.tbm umbenennst und dabei auch direkt zu Beginn unter $Main Hall eine "+Name:" Zeile hinzufügst und ihr einen Namen gibst, kannst du diese zusätzlich zu den Haupthallen aus FreeSpace 2 nutzen. Zusätzlich brauchst du auch keine Indizes-Nummern für Soundeffekte mehr angeben, sondern kannst mittlerweile auch direkt den Dateinamen verwenden, welcher allerdings weiterhin in der sounds.tbl vorhanden sein muss.

Du kannst diese Haupthalle auch Kampagnen zuweisen, indem du in der Kampagnendatei unter $Mission und $Flags den Punkt "+Substitute Main Hall:" hinzufügst und dort entsprechend den Namen deiner Haupthalle einträgst.

Das Ende
Mit einem Download.

So, jetzt haben wir eine vollständige Haupthalle mit sechs funktionierenden Schaltflächen und einem animierten Logo. Dieses Tutorial funktioniert natürlich auch für Haupthallen, die vollständig in 3D gehalten sind, aber für diese musst du natürlich etwas mehr Arbeit aufwenden, damit sie wie gewünscht funktioniert.

Abschließend, kannst du die hier im Tutorial erstellte Haupthalle auch runterladen:
Download der Haupthalle aus dem Beispiel
Antworten