Archiv verlassen und diese Seite im Standarddesign anzeigen : Synchronität von animiertem Charset...
Arlownay
21.07.2007, 16:13
Hi!
Hab ein Problem mit einem animierten Charset-Lichteffekt, der die Umgebung etwas verschöner soll. ;) Und zwar handelt es sich um eine Lampe, die man anzünden können soll und die dann einen animierten Lichtschein abgeben soll.
Die Lampe besteht aus 2 Events. Wenn ich eines davon anklicke, stellt sich ein Switch auf on und aktiviert bei beiden Events die 2.Eventseite, was dann die animierte, leuchtende Lampe anzeigt. Anscheinend wird aber der Switch bei dem Event, das ich anklicke schneller on gestellt als beim anderen -> die Animation ist nicht synchron... :(
Was kann man da machen?
LG, Arlownay
Engel der Furcht
21.07.2007, 17:00
stell mal bei "Animationsgeschwindigkeit" die gleiche ein!
Arlownay
21.07.2007, 17:02
Da steht natürlich die gleiche Animationszeit. ;) Das ist ja das Problem... Die beiden Events sind haargenau gleich. Nur das eine hinkt ganz wenig hinterher.
EDIT: Hab eine Lösung gefunden. Obs die beste ist, weiss ich nicht. Also wenn jemand weiss, wie man das Problem sonst hätte lösen können, bitte sagts mir!
Ich habe jetzt einfach statt dem Switch auf on zu stellen, ein Bewegungbefehl gemacht, der die Grafik in beiden Lampenevents auf die animierte Lampe ändert. Wenn man hintereinander 2 Bewegungesbefehle gibt, machen die das zum Glück synchron. So klappts. :-)
LG, Arlownay
real Troll
21.07.2007, 22:59
Vielleicht liegt es an folgendem: Die Lampenanimationen sind in der zugrundeliegenden Charsetgrafik nicht symmetrisch angeordnet. Jede Charsetfolie besteht in der Regel aus 4x4 Großfeldern für insgesamt 16 Figuren.
Und jedes dieser Großfelder teilt sich nochmals in 4x3 Felder für die Bewegungsanimation. Nummerieren wir die Felder der Einfachtheit halber, damit Du gleich weißt, was ich meine. Oben links ist Feld 1, dann Feld 2, dann Feld 3 , Feld 4 usw., wobei Feld 4 schon die Nachobenguck-Animation der zweiten Charsetfigur bildet. Klar? Gut.
Also: Deine Lampenanimation besteht aus zwei Teilen. Falls Teil 1 in den Feldern 1-3 abgebildet wird (also den Nachobenguck-Animationen der Figur 1), dann sollte Animationsteil 2 auch in den Nachobenuck-Animationsfeldern angesiedelt werden, damit beide synchron laufen - zum Beispiel in den Feldern 4-6.
Solltest Du Teil 2 hingegen unter Teil 1 positioniert haben (also auf den Feldern 13-15), blickt Teil 2 der Animation zur Seite, statt nach oben, was eine winzige Zögerlichkeit nach sich zieht, d.h. die Animation schleppt hinterher.
Am besten stelltst Du Dir also bei jeder animierten Grafik, ob Lampe, Fenstervorhang oder Wasserfall, immer einen Menschen mit Blickrichtung vor. Und wenn Du mit zusammengesetzten animierten Grafiken arbeitest, stimme einfach die Blickrichtungen der Objekte aufeinander ab. Dann müsste alles klappen.
Ich hoffe, das war jetzt ausführlich genug erklärt. Aber ich höre mich einfach so gerne tippen.
Arlownay
21.07.2007, 23:40
Hi!
Das ist ja sicher nett gemeint von dir, aber soo doof bin ich dann auch wieder nicht. Ich weiss schon, wie Charsets funktionieren. ;)
Die Charsets sind ebenfalls völlig in Ordnung. Wenn ich die Animation nämlich einfach nur so teste (also ohne Schalter, der die Animation startet), funktioniert das einwandfrei und synchron. Ich nehme an, dass wenn ein Switch mehrere Events betrifft, dass er die nacheinander behandelt und dies zu einer minimalen Zeitverzögerung führt. Anders kann ich mirs nicht erklären.
Jetzt funktionierts jedenfalls auch super mit dem Bewegungsbefehl.
LG, Arlownay
@real Troll
Jede Charsetfolie besteht in der Regel aus 4x4 Großfeldern für insgesamt 16 Figuren.
Das sind aber nur 4x2 Felder mit insgesamt 8 Figuren. http://upload.npcfighter.de/files/36/361Schlaubi2.png
Ich hatte so ein Problem auch schon mal und wußte nicht, wie es sich lösen lässt. Anscheinend passiert diese Verzögerung aber nicht immer. Seltsam.
real Troll
22.07.2007, 09:58
@ Arlownay
Ein Bild sagt manchmal mehr als tausend Worte. Ich versuche es nochmal so:
http://img513.imageshack.us/img513/8449/beispielsv8.th.png (http://img513.imageshack.us/my.php?image=beispielsv8.png)
Wenn Du Deine Animation in diese Felder packst, sind sie auch nach dem Schalter synchron. Ich hatte diese Probleme auch und seit ich das so löse (also bei geteilten Animationen immer gleiche Blickrichtung), treten sie nicht mehr auf.
@ Kelven
:eek: Aaaargh! Oh mein Gott! Du hast Recht!
Ich kenne das Problem auch sehr gut. Mit direkten Bewegungsbefehlen lässt es sich sicherlich abstellen, aber wenn du das Problem mal mit mehr Events hast, wird das ganz schön viel Arbeit.
Dann würde ich dazu raten, eine Variable festzulegen, die beispielsweise immer von 1 bis 4 zählt. In den animierten Events werden dann auf verschiedenen Ereignisseiten (die Registerseiten oben) die einzelnen Animationsschritte mit 'Animation Type: Fixed Graphic' festgelegt und dann bei den Event Conditions die Variable von vorhin runterzählen lassen (also auf Seite 1 - Variable above 4, auf Seite 2 - Variable above 3 usw. - da der Maker diese ja Rückwärts durchgeht).
Schließlich werden mit der durchzählenden Variable alle Events gleichzeitig weitergeschaltet. Dann kann man noch schön damit rumspielen. Beispielsweise die Zeit, mit der die Variable sich ändert anpassen, oder die Variable höher zählen lassen und dann manche Events bei verschiedenen Werten schalten lassen (wenn nicht alles ganz synchron sein soll).
Damit hab ich im Intro von Sternenkind Saga ohne Probleme... aber das ist eine andere Geschichte! :D
Arlownay
22.07.2007, 20:24
@real Troll: Danke für das Bild. Aber wie ich schon sagte: Die Animation ist ok. Daran liegt es nicht.
@Savage: Ok, das wäre auch eine gute Lösung, danke! Vor allem, wenn man wie du gesagt hast, mehrere Events steuern will. Das werd ich mir für ein nächstes Mal merken! :) (In meinem Fall ist es so, dass ich mehrere Lampen unabhängig voneinander einschalten kann. Dann bräuchte ich für jede Lampe eine Variabel und einen parallelen Prozess, der die Variabel durchzählt, wenn ichs richtig verstanden habe...)
LG, Arlownay
Du kannst beiden Lampen über die gleiche Variable und den gleichen Prozess laufen lassen. Ich mache es immer so, dass ich einen PP als Common Event habe, der verschieden lange Variablen durchzählt, für unterschiedlich lange Animationen. Auf diese Weise kann man dann auch mal schnell eine Animation mit sieben Stufen aus dem Hut zaubern.
(also auf Seite 1 - Variable above 4, auf Seite 2 - Variable above 3 usw. - da der Maker diese ja Rückwärts durchgeht).
Das kann so eigentlich nicht stimmen. Der Maker bevorzugt immer die höheren Event-Seiten. Bei deinem Beispiel also Seite 2. Da ein Variablenwert von 4 ebenfalls "above 3" ist, würde er Seite 1 ("Above 4") einfach ignorieren.
Arlownay
23.07.2007, 08:54
@Grandy: Ich habe auf einer Map 5 Lampen (die je aus 2 Lampen-Events bestehen, weil die Lampen-Grafik nicht in einem Event platz hat.). Jede der 5 Lampen soll aber unabhängig von den anderen eingeschaltet werden können. Müsste ich dann nicht für jede Lampe ein PP-CE machen? Und jeweils für jede eine eigene Variabel? Weil sonst wenn das CE mal läuft würden ja alle Lampen gleichzeitig animiert werden. Oder hab ich da etwas grundlegend falsch verstanden?
Wenn ich das mit den Variabeln richtig verstanden habe, müsste ich also auf der 1.Seite: Variabel=1, 2.Seite: Variabel=2 etc. einstellen, damit immer nur eine Eventseite auf einmal berücksichtigt wird und immer die richtige Animation angezeigt, oder?
LG, Arlownay
Das kann so eigentlich nicht stimmen. Der Maker bevorzugt immer die höheren Event-Seiten. Bei deinem Beispiel also Seite 2. Da ein Variablenwert von 4 ebenfalls "above 3" ist, würde er Seite 1 ("Above 4") einfach ignorieren.
Ups... Ja, da hab ich mich verhauen. Natürlich ist es so, wie du es schreibst richtig. :D Und danke für den Tipp mit dem Common Event das verschiedene Variablen durchzählt. Sowas kann man sicherlich mal brauchen. ;)
Jede der 5 Lampen soll aber unabhängig von den anderen eingeschaltet werden können. Müsste ich dann nicht für jede Lampe ein PP-CE machen? Und jeweils für jede eine eigene Variabel? Weil sonst wenn das CE mal läuft würden ja alle Lampen gleichzeitig animiert werden.
Nicht ganz. Du kannst alle fünf Lampen über die selbe Variable laufen lassen. Sie werden halt dann auch gleichzeitig animiert. Zusätzlich könntest du für jede Lampe einen Switch als Startbedingung für die Animation hinzufügen. Du brauchst halt dann noch 5 Switches...
Vielleicht geht es auch anders, aber mir fällt momentan nichts besseres ein.
Arlownay
24.07.2007, 17:13
Ach so, ja klar... Danke!
Joa, der switch als Startbedingung ist ohnehin notwendig. Wenn du darüber hinaus unterschiedliche Animationen haben willst, kannst du die einzelnen Events ja etwas variieren.
Beispiel: Dus hast zwei Lampen und vier verschiedene Animationsphasen - jedes Event hat vier Seiten, die über die gleiche Variable (Wert 1-4) angesprochen werden. Jetzt packst du in die einzelnen Seiten der Events einfach unterschiedliche Animationen rein.
Event 1: 1-2-3-4
Event 2: 2-3-4-1
(Ich hoffe, ich konnte mich halbwegs verständlich ausdrücken ;) )
In dem dem rm2k-London-Gothic-Intro-Grafik-Ausschlacht-Dings, das ich letztes Weihnachten zur Verfügung gestellt habe, konnte man das Ganze ganz gut in Aktion sehen:
>> Link << (http://www.ingmar-hahnemann.de/stuff/ressourcen-paket.exe)
Ich habe das Ding leider selbst gerade nicht vorliegen: Der Variablenzähler befindet sich irgendwo bei den Common Events (sollte eindeutig bennant sein). Für die Möglichkeiten, wie man das ganze einsetzen kann, schau am besten nach einer Map, bei der sich am unteren Rand eine Kaimauer befindet. Auf dieser Map sollte sich ein Boot befinden, sowie ein Typ, der an einer Laterne lehnt und eine Zigarette raucht. Beide sind über den Variablenzähler animiert.
Arlownay
25.07.2007, 10:07
Danke! Ja es war verständlich! :) Da hätte ich auch selbst drauf kommen können, nur bin ich manchmal etwas langsam...
Oh super! Ich mag London Gothic! ^.^ Gut dass du mir den Link gibst, das hab ich ja gar nicht mitgekriegt, da ich lange nicht im Forum war! Ich würd ja jetzt gern auf der Stelle "ausschlachten" gehen (neneee, aber abgucken!), aber muss leider arbeiten und heute Nachmittag gehts direkt ab in unsere schönen Schweizer Berge (wos kein Strom gibt...) Aber wenn ich zurück bin, sehe ich mir das an! :)
LG, Arlownay
vieleicht geht es auch wenn man bei dem langsameren event die reaktionszeit verkuerzt dann wuerde das nich mehr langsamer sein hab ich zwar nich probiert aber das is doch logisch oder?
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.