Jump to content

Recommended Posts

heyas!

 

  so... yeah, i've been mostly inactive for a while, and while browsing the lsl wiki the other day, i discovered a "new" permission and command for overriding animations!  wow.   (that came out in 2013. :X) 

so i was wondering...  has anybody released and open source AO script using this new functionality?  you know, like franimation and zhao overriders of days long gone?  or do i have to do it myself?

 

also... i'm sensing...  that it can't do things the old overriders could, like have several stands that could randomly be cycled through.  and do i also understand that it doesn't play the built-in SL animations AT ALL?  (my TAO2 ao for tinies uses a blend where some limbs are unlocked to just use the standard anims.)

annnnnnd... i was reading that states like 'pre jump' and 'landing' etc can't be looped animations, or the avatar will get stuck in place.  buuuut, i was just doing an AO for a new avatar, and it only worked right if they WERE looped.  (of course the old-style ao uses llStopAnimation to change 'states.')  if they're not looped, do i have to get the exact timing down on how long those should last?  what if they're too short?

i'd love to play and experiment, but i'm working on a project i need to get done.  : /

 

thanks!

 

Share this post


Link to post
Share on other sites

There's no modern Zhao. Virtually all AOs distributed today use llSetAnimationOverride and the related functions, although plenty of people continue to use Zhao (or Zhao II -- not sure about Franimation, which I haven't thought about for many years). Most of the big animation merchants distribute their own versions of a modern AO, and there are countless simple freebie running around.  The Linden Lab avatars in your inventory's Library come with a basic one too, I believe.  In any case, it's quite easy to write your own.

The concept is straightforward. llSetAnimationOverride lets you assign a specific animation for any of your possible anim values, as shown in the table in the wiki:

e0b7cb089be8b6630776fa3dbda3b10a.png

If you don't assign your own anim to a specific value, the default in each case is the system internal anim. Once assigned, your new anim remains assigned unless you assign a new anim to that value, or you log out.  As always, you do need to request permission before assigning an anim, using the new PERMISSION_OVERRIDE_ANIMATIONS constant in llRequestPermissions.  It's much more flexible than you seem to have heard.  

Share this post


Link to post
Share on other sites
8 hours ago, Rolig Loon said:

Most of the big animation merchants distribute their own versions of a modern AO, ...

...which turn out to be a reskinned ZHAO engine quite often ;).

Ah I see Rolig, that makes llSetAnimationOverride pretty limited in the bento age... you can set one AO to overide your main body movements but the tail/wings/centaur body/bento head/whatever will need an extra animation script. I found out internal animations quite often freeze as soon as you equip a secondary old school AO... I wonder if llSetanimationsOverride can overcome that (didn't test it yet, but rather doubt it).

Edited by Fionalein

Share this post


Link to post
Share on other sites

However, the serverside ao has quite a few glitches during some transitions, for example between landing and standing back or during take-off stage before flying or when sitting on ground, blending with the default animations for a second before your custom animation takes control. The turns instead work better than the standard older AOs, which previously showed up regardless of animation priorities.

Share this post


Link to post
Share on other sites
8 hours ago, Fionalein said:

I found out internal animations quite often freeze as soon as you equip a secondary old school AO

True. I had to include the bento animations controls within my serverside AO in order to control this misbehavior you are reporting. But that's feasible only for a custom character, not for general purpose as you imply the secondary AO to be used

Share this post


Link to post
Share on other sites

well, i didn't find any free ones, so i made my own.

 

and, omg, who uses this?  it is TERRIBLE!  where are all my ease in/ease out?  every animation cuts off abruptly.   since the pre jump can't loop, it ends too soon and then stands there half a second, and doesn't mesh smoothly with the jumping animation...  i can't even tell if it is playing the landing animation or not.

 

i was going to try to make a hybrid new/old ao, but...  it looks like i'll just stick with oldschool.  which is a shame, because being able to do away with all the timer and control events would have been really great.  : /

 

Share this post


Link to post
Share on other sites
1 hour ago, Bloodsong Termagant said:

and, omg, who uses this?  it is TERRIBLE!  where are all my ease in/ease out?  every animation cuts off abruptly.   since the pre jump can't loop, it ends too soon and then stands there half a second, and doesn't mesh smoothly with the jumping animation...  i can't even tell if it is playing the landing animation or not

Yep. Indeed you eiher force the jump by applying the impulse vertically and force the state change, or you end up sliding in pre-jump for 2-3 seconds. Not ALL animations kick in abruptedly, however a few do, like the landing, which ends up blending to the default stand (although it should be overridden?!) unless you use a higher priority version of your custom stand. Other animations are fine, the old school AO has quite a lot of troubles with the turning animations regardless of the priority you set on your custom turns, while the serverside AO make them work well. I ended up mixing the serverside animation overrider with avatar state controls to override problematic animation transitions using the oldschool system llStartAnimation =\ quite meh, confusing and time consuming

 

Share this post


Link to post
Share on other sites
On 6/11/2018 at 9:28 AM, OptimoMaximo said:

Yep. Indeed you eiher force the jump by applying the impulse vertically and force the state change, or you end up sliding in pre-jump for 2-3 seconds. Not ALL animations kick in abruptedly, however a few do, like the landing, which ends up blending to the default stand (although it should be overridden?!) unless you use a higher priority version of your custom stand. Other animations are fine, the old school AO has quite a lot of troubles with the turning animations regardless of the priority you set on your custom turns, while the serverside AO make them work well. I ended up mixing the serverside animation overrider with avatar state controls to override problematic animation transitions using the oldschool system llStartAnimation =\ quite meh, confusing and time consuming

 

yeah, i was gonna see about creating a hybrid script, but...  it is not worth it.

i dunno, ALL my animations were cut off abruptly.  but i'm using a non-human avatar.  maybe it's not (as) noticeable on humanoids?
does using the AnimationOverride stuff let the client stop animations in the middle of a loop or something?  all my animations have a lead-in, loop, end-out, and they're all packed with easein/easeout settings, easing through all the same base position. llStartAnimation and llStopAnimation make them all blend together soooo smoooooothly.

 

i also haven't had trouble with turning left/right.  but in the instances i'm using it, 1: i actually use the default animation, overlain by my tiny lock animation  and 2: the avatar i'm currently working with aint got no legs.  ;D  so whatever the legs are doing, i do NOT care!

i'll keep that in mind, though, when i do finally make something with legs!

Share this post


Link to post
Share on other sites
2 hours ago, Bloodsong Termagant said:

but i'm using a non-human avatar.  maybe it's not (as) noticeable on humanoids?

I don't do any human stuff either, so i can hear you there. The turns are really unnatural as the hip location is totally stationary and only the legs and torso move. My latest avi is a quadruped dragon and the turns using the serverside animations work flawless, as opposed to using the llStartAnimation function which, regardless of my custom turn animation priority being set to 6, the default turn still kicks in for half a second, very irritating.Using the serverside function for those two animations completely solve the problem with a regular priority 3 as they should be. So when you will be making anything with legs, keep this in mind, maybe a hybrid solution is the best route to take, at some point.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×