Jump to content

Why Do So Many Animations Use Bone Location Keyframes?


Recommended Posts

first up, straight, out, using location keyframes for bones is a Bad Thing.  Every time you use a Location Keyframe, an avatar dies.

using location keyframes for bones creates a deformer.  as soon as you move a bone, your animation becomes incompatible with any and every avatar the doesn't have that bone in a very near location to where your rig has it.  need i explain exploding face syndrome?

 

 

i'm sorry, i didn't mean this to be an accusatory diatribe.

i'm just wondering WHY this is so prevalent.  when it shouldn't be?

 

are animations from a specific program exporting location keyframes by default?  maya?  (i doubt qavimator, that should know better.)

blender, maybe?  maybe unity (and/or other professional scope) uses loc/rot/scale keyframes by default.

maybe it's a mistake with avastar for blender?  i know i used to think that if i moved to COG and IK controls, that i had to turn on 'with bone translations' on the animation export.  that's NOT the case, that's ONLY for when you DELIBERATELY move a bone that is not meant to be moved.

 

yes, for sticking a tongue out... that's pretty much your only option.  i get it.  i'm not talking about that. i 'm not talking about DELIBERATELY moving a bone.

 

why do i care?  okay, some examples...

 

i'm trying to make universal tails.  (universal heads is unachievable, but tails... its just a TAIL!)  it has it's own tail bone locations.  i put it on an avatar that has its own tail... okay, my tail rig overrides that tail rig.  until the avatar plays an animation.  that has tail bone locations in it.

one day, i went to buy a really really cool guitar.  luckily, i was wearing my bent box imp when i sat on the posestand to try a demo of it.  and the 'guitar playing' animation blew my limbs out all over the place.  sorry, no sale there.

 

you know how you put some wings on (if you're not a normal humanoid), and your torso suddenly stretches twice as long?  or you put a head on and your neck AND torso are three times as long?  that's a conflict between the two rigs.  that's understandable.  but this... animations with location keyframes, it's like DELIBERATELY distorting your avatar.

 

 

please don't use location keyframes in your animations, except as needed.  (but try not to need it!)  thank you.

Link to comment
Share on other sites

A lot of it probably comes down to just thoughtless creators who don't even consider testing things on other shapes.

But sometimes, especially when it comes to extra appendages like tails, the position keyframes are intentionally used to adjust their physical length.

Link to comment
Share on other sites

I have a similar gripe when it comes to "furniture" animations meant for avatars that already use either a deformer animation or an embedded deform in the worn mesh itself.

I see this mostly with "furniture" meant for horses or dragons, but also with canines.

This unnecessary bone translation used in the animations limits the "furniture" being used by other similar species or body types.

Another abuse is unnecessary high priority values, though.

This is why we need animation reform so all products can play animations at user specified values.

It would also be great if with said reform we could also specify bones to be ignored/unexercised in an animation.

  • Like 1
Link to comment
Share on other sites

There is a lot of misunderstanding of Location Bone keyframing around SL. Will try to clear things out.

This is how things are working in Blender Avastar, and I have no doubt it is very similar in Maystar as creator has worked on Avastar too.

Not only that Location Bone keyframing is not a bad thing, it is necessary! There is entire set of body bones that would be useless without it: IK Hands and Legs as well as COG.

Avastar exporter has been created to deal with those and to export it in format that will NOT break your avatar. Keyframing Locations of the bones therefore is irrelevant … unless you EXPORT your animation with Bone Translations setting. Then, and only then Location Bone will have an impact on avatar deformations.

There are some attachments using export with bone translations on purpose. Such an attachment always has to have “silent animation”: underlying, low priority, zero bone location/rotation animation running all the time, so rig can reset to its default position. Lack of those will cause deformed body part.

People are often forgetting about SL default animations. They are silent animations running all the time, not only to move your avatar, but also to keep your rig in order when you are not running anything else. But they can take care of your system bones rotation only, they have no data to control your rig if animations have been exported with bone locations. They will not even control your bento bones. That is the second reason why – with some animations – you will have to reset your rig manually or to relog.

This is the problem that could be seen, till recently, with many Bento heads. Few years ago, to my knowledge, there was only one brand who had inbuilt silent animation directly into the head, so it would never have stuck face. Recently I see more of them have been aware of the solution of that problem. Some still require to have silent animation run from the HUD to avoid stuck face.

As you noticed, there is only one situation when export with bone location is necessary: tongue out animation. But in that case, all other bones must use rotation only and animator has to be extremely careful not to keyframe any other location! But in Avastar, you can’t even move tongue just like that, you have to unlock the tongue bone to be able to move it. If you unlock any other bone but tongue that way, nothing will save animator from deformed avatar. But, on the first move of bone, mistake will be clearly visible.

It is true that using location manipulator on some body parts will put them in the weird position "deforming" body in the strange way, but unless such an animation is not exported with bone translations, we can not talk about deformed avatars, as they will not stay that way when animation stops playing.

Now, there is another export setting than can be easily overlooked if you are not careful as it is checked by default: Apply Scale. It can be easily removed forever by saving Blender template with unchecked Apply Scale export option, but my guess is that it wouldn’t be strange that new animators see it checked by default and think it just has to be that way. Animation exported with Apply Scale can make a lot of mess that can be easily (wrongly) understood as a consequence of Location Bone keyframing.

So, to conclude: Location Bone keyframing is not a problem by itself, but how one will handle it on export is everything!

 

Link to comment
Share on other sites

On 5/27/2021 at 2:24 AM, RohanaRaven Zerbino said:

unless you EXPORT your animation with Bone Translations setting. Then, and only then Location Bone will have an impact on avatar deformations.

I think this is what everyone was referring to, otherwise it should be understood that location keyframing in an animator itself is essential with most animation creation.

Link to comment
Share on other sites

19 hours ago, Lucia Nightfire said:

I think this is what everyone was referring to

Not really sure.

On 5/20/2021 at 2:49 PM, Bloodsong Termagant said:

first up, straight, out, using location keyframes for bones is a Bad Thing.

And it is the same, from title to the end of OP.

Talking about “keyframing” and referring to “exporting” is the same as if one would try to buy sandals asking for boots. When trashing animators, it would be nice one uses at least the right terminology. 😅

Link to comment
Share on other sites

On 5/20/2021 at 5:18 PM, Wulfie Reanimator said:

But sometimes, especially when it comes to extra appendages like tails, the position keyframes are intentionally used to adjust their physical length.

The problem with this statement is that, as this thread shows, not many understand the fact that what you describe is done, or should be done, by the mesh itself by carrying the joints positions, and the animations should only carry rotation values. This way, not only another tail animation can be used on your other tails, but also avoids the occasional and unintentional inheritance of joints translation across other body parts

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
On 5/27/2021 at 10:24 AM, RohanaRaven Zerbino said:

Not only that Location Bone keyframing is not a bad thing, it is necessary! There is entire set of body bones that would be useless without it: IK Hands and Legs as well as COG.

Yes, this is true when it comes to the control rig and the various controllers. The deforming skeleton, instead, is another matter. The real issue arises when you grab a shoulder bone for example and key frame all channels, PLUS you also export the translation. Whatever its position was, it will be applied to the avatar, regardless of its shape. So if you wear a shape that has very broad shoulders and long arms and play such exported animation made from a default avatar, that shoulder will be crushed inwards to reach the animated place, disregarding the avatar base shape inworld entirely. And that's what I think the OP is referring to. This is an issue that had been noted loooong time ago and that the Avastar team never addressed, while instead in Maya I made sure to filter out based on intentional animation being in place. Sure, it makes simple static poses more tricky to get at first glance (I put another system to ensure export in such cases) but at least my exporter cleans up unintentional garbage from being exported.

Edited by OptimoMaximo
Link to comment
Share on other sites

Posted (edited)

To beat my own drum a little bit, I've had success updating animations I've created and uploaded in the past by using an unofficial viewer to export the animation as a .animatn file, rename to .anim and used my Anim Hacker utility to manipulate the .anim file changing things about the animation including priority, joint pos, rot etc, and re-upload. Of course, they were my animations to begin with that I created, don't break LL TOS

Edited by Extrude Ragu
Link to comment
Share on other sites

4 hours ago, Extrude Ragu said:

To beat my own drum a little bit, I've had success updating animations I've created and uploaded in the past by using an unofficial viewer to export the animation as a .animatn file, rename to .anim and used my Anim Hacker utility to manipulate the .anim file changing things about the animation including priority, joint pos, rot etc, and re-upload. Of course, they were my animations to begin with that I created, don't break LL TOS

I understand what you mean, but the basic problem persists. You see, what you describe is a fix, operated time later down the line when you figure out something is wrong with an animation and don't have the original work file anymore to export the animation again. Which is good, as more tools allow better maintenance and a repair work flow. However, the baseline issue is that animators select all, key frame all attributes and export. And certain tools just plain export whatever has got key frames on, without checking whether actual animation is occurring, and calling the day on both sides, animator and export program. So yeah, while a solution to fix these kind of issues is great to have, because everyone can make a mistake, it is more like giving a man a fish rather than teaching him how to fish.

Link to comment
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
 Share

×
×
  • Create New...