|
katia Martinkovic
Registered User
Join date: 27 Jul 2006
Posts: 2
|
08-09-2006 15:48
Hi. can anyone tell me how to take dance moves and put them together to make a complete dance with out having to do each pose with a pause between? thank you anyone out there
|
|
Shroom Rich
Registered User
Join date: 19 Apr 2006
Posts: 12
|
Well..
08-09-2006 15:53
Im not positive, but i beleive the lil skip between (is Lag) This is my theory : I do beleive that when people make dancing Animations.. they do it all in 1, so there are no lag skips.. Other than that, im not sure ur problem is enabled to being fixed...=(
|
|
Hewee Zetkin
Registered User
Join date: 20 Jul 2006
Posts: 2,702
|
08-09-2006 16:19
So Gestures with multiple animations and waits pause inbetween? It may be possible to set up a small-period timer to test for when one animation finishes and immediately start the other. Or you could use one script to time the length of each animation and then explicitly configure each animation to start just a little before the previous one should end....
|
|
Eloise Pasteur
Curious Individual
Join date: 14 Jul 2004
Posts: 1,952
|
08-09-2006 16:38
Normally that little skip is whilst your client loads the animation data.
Try it with a small number of dances (say 3) in a loop in a quiet place, and you usually see that there's a skip the first time each loads, but the next time you go back around the dances load and play straight away. That's not the same as blending smoothly of course, depends on the dances.
If that appears to solve your problems there's not a "fix" sadly. You can try increasing your cache size, but a typical club has enough dances, textures etc. and a typical dance ball/bracelet etc. enough anims, that you'll probably have to reload it each time.
Unlike llPreloadSound there isn't a way to preload anims either.
|
|
katia Martinkovic
Registered User
Join date: 27 Jul 2006
Posts: 2
|
Eloise
08-09-2006 17:15
i understand what you are saying, i was wondering how to put themoves together into a loop, so i can click one thing and it does a few in a row
|
|
Norman Desmoulins
Grand Poohba
Join date: 10 Nov 2005
Posts: 194
|
08-09-2006 19:04
Here's something that I did one afternoon for giggles... there might be a minor amount of kruft in it, but you should be able to figure it out. vector position = <0.0, 0.0, 0.75>; string animation = "impatient"; string endAnim = "sit_ground";
list animations = ["express_afraid","impatient","stretch","impatient","angry_tantrum","angry_tantrum"]; integer current = 0; integer max;
integer ndGetAnimationState() { list ae = llGetAnimationList(llAvatarOnSitTarget()); return llGetListLength(ae); }
ndStartAnimation() { llStopAnimation("sit"); current = 0; ndPlayAnimation(); llSetTimerEvent(1.0); }
ndPlayAnimation() { animation = llList2String(animations,current); current++; if (current >= max) { ndStopAnimation(); animation = endAnim; llStartAnimation(animation); } else { llStartAnimation(animation); } }
ndStopAnimation() { llSetTimerEvent(0.0); llStopAnimation(animation); }
default { state_entry() { llSitTarget(position, ZERO_ROTATION); max = llGetListLength(animations); current = 0; } changed(integer change) { if (change & CHANGED_LINK) { if (llAvatarOnSitTarget() != NULL_KEY) { llRequestPermissions(llAvatarOnSitTarget(), PERMISSION_TRIGGER_ANIMATION); } else { integer perm = llGetPermissions(); if (perm & PERMISSION_TRIGGER_ANIMATION) ndStopAnimation(); } } } run_time_permissions(integer perm) { if (perm & PERMISSION_TRIGGER_ANIMATION) ndStartAnimation(); } timer() { if (ndGetAnimationState()==0) ndPlayAnimation(); } }
|