PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Animation soll permanet abgespielt werden.



MichaDD
31.05.2009, 20:32
Folgendes Problem:
Ein NPC soll an einem Mob verschiedene Kampfanimationen ausführen.
Ich habe dazu einige der orginalen verwendet.
Der NPC führt die Animationen zwar korrekt aus, doch nur EINMAL und nicht PERMANENT.
Ich vermute mal stark das es mit den Einträgen in der HumanS.mds zu tun hat weil ich werder Ahnung von diesen "S_Ani_S1" oder "S_Ani_to_Stand" usw. noch von diesen 0.2 0.0 M oder 0.0 0.1 Ahnung habe.

Hier mal mein Eintrag in der Humans.mds:


// -------------------------------------------------------------------------------------------------------------------
// DUMMYTRAINING

ani ("T_DUMMYTRAINING_STAND_2_S0" 1 "S_DUMMYTRAINING_S0" 0.0 0.0 M. "Hum_1hAttackComboT0_A01.asc" F 1 40)
{
*eventTag (0 "DEF_HIT_LIMB" "ZS_RIGHTHAND")
*eventTag (0 "DEF_OPT_FRAME" "6 30")
*eventTag (0 "DEF_HIT_END" "21 39")
*eventTag (0 "DEF_WINDOW" "12 26")
// 37 50")35 40
*eventSFX (5 "WHOOSH" EMPTY_SLOT )
*eventSFX (13 "BACK" EMPTY_SLOT )
*eventSFX (29 "WHOOSH" EMPTY_SLOT )
}
ani ("S_DUMMYTRAINING_S0" 1 "S_DUMMYTRAINING_S0" 0.0 0.0 M. "Hum_1hAttackComboT0_A01.asc" F 40 40)
ani ("T_DUMMYTRAINING_S0_2_DUMMYTRAINING" 1 "" 0.0 0.0 M. "Hum_1hAttackT0_M01.asc" F 1 30)
{
*eventTag (0 "DEF_HIT_LIMB" "ZS_RIGHTHAND")
*eventTag (0 "DEF_OPT_FRAME" "5")
*eventTag (0 "DEF_HIT_END" "29")
*eventTag (0 "DEF_WINDOW" "15 29")
*eventSFX (5 "Whoosh" EMPTY_SLOT )
}
ani ("T_DUMMYTRAINING_S0_2_S1" 1 "S_DUMMYTRAINING_S1" 0.0 0.0 M. "Hum_1hAttackT0_M01.asc" F 31 60)
{
*eventTag (0 "DEF_HIT_LIMB" "ZS_RIGHTHAND")
*eventTag (0 "DEF_OPT_FRAME" "5")
*eventTag (0 "DEF_HIT_END" "29")
*eventTag (0 "DEF_WINDOW" "15 29")

*eventSFX (33 "Whoosh" EMPTY_SLOT )
}

ani ("T_DUMMYTRAINING_S1_2_S0" 1 "S_DUMMYTRAINING_S0" 0.0 0.0 M. "Hum_1hAttackComboT0_A01.asc" F 1 40)

ani ("S_DUMMYTRAINING_S1" 1 "T_DUMMYTRAINING_S0_2_DUMMYTRAINING" 0.0 0.0 M. "Hum_1hAttackComboT0_A01.asc" R 1 40)



Also wie müssten die korrekten Angaben sein, damit die Anis permanent abgespielt werden solange der NPC dieses Mob benutzt (wenn es überhaupt daran liegen sollte)?

Sektenspinner
31.05.2009, 20:57
Orientiere dich an bestehenden Mobs, zum Beispiel dem Herd, der hat auch eine (kurze) loopende Ani im S1 Zustand.

Es läuft darauf hinaus, dass S1 eine sein Eigener Nachfolger ist (wie eigentlich immer!) und zudem mehr als nur einen Frame beinhaltet.
Ersteres ist bei dir nicht der Fall, bei dir ist es irgendeine Animation, die aus dem Benennungsschema fällt und noch dazu selbst keinen Nachfolger angibt (bzw. "" = Stand).

Also:
In S1, also S_DUMMYTRAINING_S1 muss der Animationsblock sein, den du loopen willst und S_DUMMYTRAINING_S1 muss sich selbst als Nachfolger angeben.

MichaDD
31.05.2009, 21:14
Na das hilft mir schonmal bisschen weiter. Allerdings will ich ja nicht nur eine Ani loopen, sondern mehrere Schläge. Das Training ist ja aus Anis verschiedener .asc´s zusammengesetzt.
Wäre das überhaupt möglich, oder müßte ich dann die verschiedenen Anis in eine .asc zusammenwürfeln?

Sektenspinner
31.05.2009, 21:39
Naja, dann sollte die Kette zumindest nicht abreißen. Bei dir ist es so, dass S_DUMMYTRAINING_S1 als Nachfolger T_DUMMYTRAINING_S0_2_DUMMYTRAINING fordert und der wiederum "", was nichts anderes bedeutet, als dass nichts mehr folgt.

Wenn du statt dessen als Nachfolger von T_DUMMYTRAINING_S0_2_DUMMYTRAINING wieder S_DUMMYTRAINING_S1 forderst oder zwischendrin noch ein paar Animationen zwischenschaltest, bekommst du vielleicht einen größeren Loop.

MichaDD
31.05.2009, 21:51
Ah, ok! Nun verstehe ich langsam wies läuft.
Der NPC führt nun eine Permanet-Bewegung aus, leider aber nur monotone Links-Rechts-Schläge.
Ich wollte ja etwas Abwechslung hereinbringen. Du meinst also ich könnte da noch andere Anis "zwischenschalten"?

Zaphod Beeblebrox
01.06.2009, 17:20
So wie ich das verstanden habe willst du, das ein NPC an einem WP/FP seine Übungen macht.
Das würde ich nicht mit einem Mobsi machen. Das ist dafür meiner Meinung nach nicht geeignet.

Am einfachsten wäre es doch, wenn du ein neues ZS - Script schreibst.
Dazu würde ich das ZS_Dance.d Beispiel nehmen. Du musst da ja eigentlich nur andere Anis abspielen.

Da allerdings die Kampfanis loops sind, kann es sein das du uU entweder die Humans.mds ergänzt oder eine neue Overlay erstellts.
Der Grund ist, das die Kampfanis geloopt sind und dann kann es sein, das dieser dann eben immer nur diese abgespielt wird
Du willst aber verschiedene und nicht nur einen loop.
Das ist schwer zu erklären was da genau passiet, es gibt z.b. eine Ani die bis zum loop abgespielt wird. Dann eine Ani die abgespielt wird, wenn das Mobsi abgebrochen wird. Dann der eigentliche loop und am Schluss eine Ani vom loop zum Stand. Das eignet sich also auch nur für Mobsi Ani´s.

am einfachsten ergänzt du die Humans.mds
das hast du ja eigentlich schon gemacht :

ani ("T_DUMMYTRAINING_S1_2_S0" 1 "S_DUMMYTRAINING_S0" 0.0 0.0 M. "Hum_1hAttackComboT0_A01.asc" F 1 40)

ich würde die Ani schlichter benennen also nur T_DUMMYTRAINING_01 bis z.b. 09. Sobalt du S0/S1 im Namen einsetzt, geht das system davon aus, das es mehrere gibt und sucht nach der nächsten usw. Das willst du aber so auch nicht (glaube ich zu mindest)

in dem ZS Script musst du dann nur noch die Ani abspielen lassen.
z.b. AI_PlayAni(self, "T_DUMMYTRAINING_01");

MichaDD
01.06.2009, 19:43
Danke für die Antwort!
Ich habe noch ein bisschen rumprobiert und hab eine permanente Ani hingekriegt. Allerdings (wie du schon sagst) wird dann nur EINE Ani wiederholt abgespielt, also stumpfes Rechts/links-Schlagen auf den Mob.
Nach weiteren Versuchen werden nun tatsächlich verschiedene Anis abgespielt, allerdings gibts dabei 2 Probleme. Zum einen Bewegt sich der NPC vom Mob weg (liegt am "Schritt nach vorn" einer Teilani) und dann (wenn man ihn anspricht) hängt er vermutlich in irgendeinem ZS fest und geht nach Beendigung seines Gesprächs nicht ans Mob zurück um weiterzutrainieren. Erst nachdem er aus der Sichtglocke verschwindet beginnt er seine Mobanimation erneut.
Das hier (http://www.worldofgothic.de/modifikation/index.php?go=animationen) hat mir schon weitergeholfen um die ganzen Animationen besser zu verstehen.
Ich habe mich nun gefragt ob es möglich wäre mehrere Anis zu einer zusammenzufassen und diese nach dem üblichen Schema einzubauen.
Es ist auch geplant das der Spieler selbst (per Mobsi-Dialog) an diesem Mob zu schaffen macht.

Zaphod Beeblebrox
01.06.2009, 20:28
,
Ich habe mich nun gefragt ob es möglich wäre mehrere Anis zu einer zusammenzufassen und diese nach dem üblichen Schema einzubauen.
Es ist auch geplant das der Spieler selbst (per Mobsi-Dialog) an diesem Mob zu schaffen macht.

Innerhalb eines Mobsi´s wird das nicht gehen, da eben eine Ani geloopt wird und durch z.b. Waffe ziehen oder Mobsi abbrechen unterbrochen werden kann.

Die anderen Ani´s sind wie schon gesagt Überhangs Ani´s, also die Ani zum Mobsi gehen, und die Ani vom Ende-Loop zum Stand.

eine Animation aus mehreren einzelnen zu machen geht leider mit den reinen ASC Daten nicht, jedenfalls wüßte ich nicht wie.

Es liegt an dem Physique System. Damit kann man eigentlich nicht richtig sinnvoll animieren. Ich animiere daher mit sogenannten Biped´s. Da hat man alle Möglichkeiten Animationen über z.b. Layer zu verbinden.

MichaDD
01.06.2009, 20:34
Hm, schade, dann wirds wohl bei der plumpen Rechts-/Links-Schlagcombo bleiben müssen.
Naja, man kann ja nicht alles haben. ;)