Schritt 5: Das animieren der Räder
mittels tik-datei und mapscript
Wir öffnen erneut die
Datei euer_mercedes.tik und fügen zwischen setup und animations einen neuen
Abschnitt „init“ ein.
init
{
server
{
surface
tread_r +nodraw
surface
hub_r +nodraw
}
}
Mit dem Kommando "+nodraw" (bedeutet wohl soviel wie "und nichtdarstellen" - das Gegenteil ist übrigens "-nodraw" "nicht nichtdarstellen,
also darstellen")
sind wir in der Lage
einzelne Materialgruppen des Models auszublenden bzw. diese nicht darstellenzulassen.
In unserem Fall stören ja
noch die drehenden Räder, da wir bislang nur ein Standmodel haben.
Es wird mit "surface tread_r +nodraw" die rollende Lauffläche ausgeblendet. gleiches
gilt für "hub_r" entsprechend.
Der Befehlssatz an dieser
Stelle teilt später dem Game mit, dass das Model beim
spawnen diese Materialgruppen „nicht“ darstellen
soll.
Schnell gespeichert und
erneut das Game gestartet. Der Mercedes sollte nun im
Bereich der Räder ruhiger wirken.
Beenden wir das Game und gehen wieder in die tik-datei.
Damit unser Mercedes auch
ein flotter Renner wird müssen wir ihm einen Motor einbauen. Nehmen wir ihn mal
aus dem Jeep.
Wir öffnen die Datei jeep.tik welche wir in main/models/vehicles finden und
kopieren den gesamten Abschnitt init zwischen den
Klammern für server und fügen dieses in unseren init-Bereich oberhalb der nodraw-Kommandos
ein.
Ob der Abschnitt client nötig ist weiß ich nicht. Da aber nix drin steht
können wir ihn stehen lassen.
Die Zeilen spawnturret und AnimationSet bitte
mittles zweier slashs
"//" auf ignorieren stellen, genauso wie in den mapscripts
üblich.
Nach getaner Arbeit
speichern nicht vergessen und mal hiermit vergleichen.

An dieser Stelle sei
erwähnt, dass es hiermit möglich ist, selbst ein Tisch fahren zu lassen.
Auf den Eintrag SoundSet
"jeep_" will ich erst im nächsten Schritt
etwas genauer eingehen.
Die nicht benötigten
Kommentarzeilen der Soundeinstellung habe ich aus Platzgründen mal entfernt
So, den Motor haben wir
schon mal........... zwar noch nicht getestet, aber dazu kommen wir später.
Jetzt müßen wir uns darum kümmern, dass auch die
Räder so funktionieren wie wir wollen.
Nun kommen wir zum
ursprünglichen abschnitt 2 animations.
Bislang noch ein wenig
kümmerlich.......
animations
{
idle euer_mercedes.skc
}
Wir fügen nach der Zeile idle........eine neue Zeile ein. Dies wird unsere erste animation. Beginnen wir diese mit einem aussagekräftigen
Namen wie drive_on gefolgt von eurer erstellten euer_mercedes.skc.
Hier ist im Normalfall
die Animations-datei zu benennen. Da das Plugin aber solche meines Wissens nicht mitexportieren
kann, nehmen wir einfach unsere nicht animierte.
Das „drive_on“
wird später vom map-Script angesprochen und alle hier
eingetragen Befehle werden sofort ausgeführt, wenn wir im map-script
den Animationsbefehl $euer_model anim
drive_on ausführen.
Als nächstes zwei
Klammern um einen Unterabschnitt zu kennzeichnen.
Dazwischen den Ausdruck server gefolgt von einem weitern Klammernpaar. Innerhalb dieses
zweiten Pärchens tragen wir nun unsere nodraw-Kommandos
ein.
Wichtig! der Befehl entry (= Eingang) muss vor jeder nun eingetragen Zeile voranstehen. Damit weiß dann das Game,
dass es etwas mit den Materialgruppen machen soll.
Etwa so sollte das aussehen,
was ich gerade eben versucht habe zu beschreiben
animations
{
idle euer_mercedes.skc
drive_on euer_mercedes.skc
{
server
{
entry
surface tread_r -nodraw
entry
surface hub_r -nodraw
entry
surface tread +nodraw
entry surface hub +nodraw
}
}
}
Wir erinnern uns daran,
das ja mit "+nodraw" Elemente ausgeblendet,
mit "-nodraw" Elemente eingeblendet werden.
Unsere Modeldatei beinhaltet ja beides, stehende und drehende
Räder/Laufflächen.
Im Abschnitt init haben wir bereits die drehenden ausgeblendet.
Nun blenden wir die
bewegten, jene mit "_r" mit "-nodraw"
wieder ein, die statischen ohne "_r" blenden wir mit "+nodraw" aus.
Endlich sind wir also in
der Lage, Räder drehen zu lassen, wenngleich wir das dann erst im mapscript realisieren können.
Fehlt uns nur noch das
Rückstellen auf stehende Räder.
Wir wiederholen das eben
getane, benennen nun diese Animation drive_off und
schalten die Materialgruppen/surfaces mit + bzw. -nodraw zurück.
animations
{
idle euer_mercedes.skc
drive_on euer_mercedes.skc
{
server
{
entry
surface tread_r -nodraw
entry
surface hub_r -nodraw
entry
surface tread +nodraw
entry
surface hub +nodraw
}
}
drive_off euer_mercedes.skc
{
server
{
entry
surface tread_r +nodraw
entry surface hub_r +nodraw
entry
surface tread -nodraw
entry surface hub -nodraw
}
}
}
So endlich fertig mit dem
Abschnitt animation erstellen. Speichern nicht
vergessen.
Kommen wir zum letzten
Abschnitt der tik-datei - dem ursprünglichen Abschnitt
3. quaked
/*QUAKED milkshape_euer_mercedes (0.5 0.0 0.5) (-16 -16 0) (16 16 32)
*/
Hier werden für den
Radianten wichtige Informationen gesetzt. z.b.
"milkshape_euer_mercedes"
sagt dem Radiant und auch uns, wo in der Menü-Baum-Strucktur des entity-Auswahlmenüs
unser Model zu finden ist.
Jeder Unterstrich
"_" eröffnet eine neue Ebene. Wer es zu gut meint und hier mein_erstes_mercedes_in_schwarz_model_mit_drehenden_rädern reintipselt,
muss sich dann schon im klaren sein, dass sein Menübaum dann 9 Ebenen hat und erst
dann findet er selbst sein Model. Also nicht übertreiben.
Schon schlimm genug bei Original-entitys, die in 6. Ebene stecken (siehe SH
"addon_animate_natural_fallingtrees_tree06_omnifalling").
Belassen wir es also bei
der Vorgabe des Exportmoduls.
Die nachfolgenden
Zahlengruppen sind in Reihenfolge angaben für Farbe, Lage und Größe der im
Radianten verwendeten bounding_box des Models.
Die Werte der box-Farbe entsprechen jenen, die auch für die Darstellung
von farbigen Schriften in Menüs des Games verwendet
werden.
Die wichtigsten
Zahlenwerte für einige Grundfarben hatte ich schon mal in einem tut für Bunte
Menüschriften zusammengestellt. Zu finden unserer Tutorialecke
unter MohAA-Tuts
Und bevor da wieder so
komische Anfragen kommen, gleich eins vorweg.
Wer unbedingt als Farbe
"Fasanenbraun" haben will, ich kenne diese Kombination nicht und will
sie auch nicht kennen. basta!
Zurück zur tik-datei. die Zahlengruppen können wir getrost so lassen
wie sie sind.
So, wir fügen bitte mal vor
dem abschließenden */ eine neue Zeile ein. Den Text den wir nun hier
hineinschreiben, können wir Entitymenü des Models im
Kommentarbereich nachlesen. Somit können wir bei Weitergabe unseres Models
anderen erklären, was dieses Model kann.
Tippseln wir also mal hinein:
/*QUAKED milkshape_euer_mercedes (0.5 0.0 0.5) (-16 -16 0) (16 16 32)
model erstellt von <dein name>
animationsmöglichkeit im mapscript mit
drive_on drehende
räder
drive_off stehende
räder
*/
Ein letztes mal speichern wir unsere Arbeit kommen nun zum 6.
Schritt, dem neuem „SoundSet“
Einleitung
Schritt
1: Milkshape
Schritt
2: tik-Datei - Anpassen der Pfade und Namen
Schritt
3: shader-Datei - Anpassen der Pfade und Namen
Schritt
4: Testmap - Radiant und Game
Schritt
5: Animationsvorbereitung - tik-Datei und map-Script
Schritt
6: Modifikation soundset
Schritt
7: Testmap mit Vehicle-path
Schritt
8: Das map-Script für die Animationen
Nachwort
/ Bemerkung
© Das bbmd-Team
/ cubus 2005
überarbeitet 01/2006