|
6 registered members (TipmyPip, AndrewAMD, Grant, USER0328, Martin_HH, Quad),
5,065
guests, and 2
spiders. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: time_step / fps_max / wait
[Re: jcl]
#372652
06/03/11 12:27
06/03/11 12:27
|
Joined: Mar 2007
Posts: 1,852
alpha_strike
OP
Serious User
|
OP
Serious User
Joined: Mar 2007
Posts: 1,852
|
Danke für get_pos. Das ist echt gut! Aber sorry, wenn ich mit meinen persönlichen Problemchen nerve… im Ergebnis habe ich so eine „Ungefähr Lösung“ erhalten, die nicht ganz hinhaut. Ich habe mal vor über 10 Jahren ein Flash-Movie gemacht http://www.newgrounds.com/portal/view/10092 für eine Punkband. Da konnte ich mit irgendeiner Einstellung den Flash-Film hundertprozentig an den Sound-File anpassen. So war es mir möglich, bildgenau mit dem Gesang eine Lippen-Synchronisation zu animieren. Jetzt habe ich ganz genau folgendes Problem.. Ich starte meinen Soundfile (ganz normal mit snd_play und einem Handle). Dieser File geht messerscharf genau 3.1 Sekunden. Und genau wenn mein Befehl snd_playing mir mitteilt, dass der Soundfile nicht mehr spielt – will ich meine Verschiebung punktgenau an einer ganz bestimmten Position beenden. Und genau an dieser Position soll mein Endbild sein. Und das funktioniert nicht mit der time_step/16- Berechnung. Nur eben so ungefähr. Wie kann man so etwas lösen. Haargenau nach 3.1 Sekunden soll die Zielposition erreicht werden. Von x=2000 auf x=0. Ich könnte im letzten Moment, wenn die Pos nicht erreicht ist => Rücken. Das sieht nicht toll aus… oder eben die Verschiebung beschleunigen… sieht auch nicht toll aus. Weil dann eben die Zielposition zu früh erreicht wurde. Was für eine Lösung gibt es dafür?
|
|
|
Re: time_step / fps_max / wait
[Re: Superku]
#372759
06/04/11 04:03
06/04/11 04:03
|
Joined: Mar 2002
Posts: 1,774 Magdeburg
FlorianP
Serious User
|
Serious User
Joined: Mar 2002
Posts: 1,774
Magdeburg
|
Softwareseitig lässt sich sowas nur sehr schwer synchronisieren. Je nach Codec, Treiber, Buffergröße und Soundkarte(vorallem onboard-mist) kann jeder Ton den du ausgibst locker mal mehrere 100ms delay haben. Totale Lippensynchronität erreicht man in der Regel nur auf hardwarenahem Level und mit Interploation...Flash hat bedingt durch den eigentlichen Verwendungszweck built-it Lösungen für sowas - gamestudio wirds da nicht so genau nehmen.
Für wirklich exakte Bewegungen eignen sich die time_... Geschichten eh nicht. Da var nur 10 Bit für den Nachkommabereich hat addierst du dir in den 3.1s bei 60fps 200 mal potenzielle Rundungsfehler drauf. Unanfälliger ist da z.B. = 2000 - 2000 * total_ticks / 49.6;
I <3 LINQ
|
|
|
Re: time_step / fps_max / wait
[Re: FlorianP]
#372763
06/04/11 06:07
06/04/11 06:07
|
Joined: Jan 2003
Posts: 4,615 Cambridge
Joey
Expert
|
Expert
Joined: Jan 2003
Posts: 4,615
Cambridge
|
lad dir mal meine terrain demo runter, die ich für den contest vor... ohje. sind das schon 8 jahre? gemacht hab. da ist die musik zum demo synchronisiert. edit: in der sequence.wdl stehen so wait-blöcke, die fürs beatgenaue timing geeignet sind. die verhindern auch rundungsfehler.
Last edited by Joey; 06/04/11 06:10.
|
|
|
|