"Bike pose" on top half of animation - Why isn't it just staying as the transform I have set?

So, I have a character that I’ve made a controller for, it works, but I want to now add movement animations. I’m not an animator so this is my weaker area in Unity, but after I used this character asset and then used some existing movement animations from the asset store, It seems to be going into the “bike pose” whenever I try to add animations to this model/rig.

From some looking around, It seems to be a common issue, it’s what is suppose to happen, but I’ve done some basic animations before and it’s seemed way more straight forward and doesn’t change anything else, probably because I wasn’t using an avatar and rig?

Anyway. I ONLY want to use the leg animation from this walking animation, so I removed all the properties on the animation that wasn’t just the leg bones. This “works” but, it seems to revert the upper half into the default bike pose, and it’ll sink into the ground when playing.

AnimationIssueGif

My thoughts are, I need to basically animate the upper half too and set the arms as I want them, simply deleting them seemed to work for the head and spine however. It’s important that the arms stay out straight as shown in the video below, so I want the legs to move without anything else changing positon.

How do I fix this? Do I need an idle animation? Why doesn’t it just animate the transforms that are in the animation? Is this a rigging/avatar issue? Please help.

Thanks

Why not make an animator controller with two layers, one for lower half and another with an Avatar Mask that’s only for the upper body. Then you can apply animations to the upper and lower body as you wish.

Edit: If you wish to combine animations inside of Unity, I’ve had great success with Animation Designer: Animation Designer | Animation Tools | Unity Asset Store

That sounds like a good solution, I’ll give it a try. But, will this not still cause it to default to this “bike pose” if I don’t always have an active animation on either half?

If a layer is empty, then it falls back to first lower layer with animation for those bones. So if you have base layer be full body locomotion, then second layer be lower body mask with bike legs anim, if second layer is in an empty state it falls back to full body locomotion legs.

Usually I have a whole bunch of layers (full body override, upper body override, additive stuff like hit reactions, right and left arm override layers, etc) so don’t be afraid to experiment with different setups.

Thanks for this, makes sense. Is there any shortcuts to making the first frame of an animation be the current transform my character is in? I don’t want to have to move the arms to the position again. I guess i can copy and paste the positon of each bone from the prefab position but if there’s a quicker way that would be great.

I think AnimationClip.SampleAnimation works at edit time so try that.

I beleive that is for sampling exsiting animation frames? So I may end up with the same default bike pose. I may just need to go the long way round and make an idle animation and set all the props to the transform of the prefab. Thanks for your help, animation is one I’ve managed to avoid going deep in with Unity so far but it’s now time I suppose! :smiley: