Not all biped animation recognised by Unity on import?

Bit of a tricky one to search for since it is quite general, so I apologise if it has been answered elsewhere - my wording in google couldn’t come up with a solution or similar problem.

I import 20 frames of animation from 3ds max. The biped is just a standard ‘classic’ one. The 20 frames are of a simple sidestep. Figure is in a bent-knee’d tennis pose, ready to receive the serve.
I export the biped with ‘animation’ and ‘bake animation’ ticked and the correct frame segment chosen.

Importing it into unity I change the rig to ‘humanoid’ as I usually do, check that the avatar is picking upa ll the right bones - which it does.
But when I go to the ‘animations’ tab and I look at the preview window I see a bizzare half-complete version of my poses. The legs are straight, as if they’re trying to reach the floor, the spine keyframes are all undetected so he’s stood up straight instead of bent over and when he shuffles left his legs seem to be struggling to find the floor?

I just exported the whole timeline which includes a shuffle left, shuffle right, serve, forehand and backhand to see what the preview would look like and it is bizarre.
I can’t even pinpoint which limbs are misbehaving, they’re SORT of doing the right thing but there’s a large amount of un-keyframed flailing going on…

Has anyone else experienced this? I’ve had similar issues before but it was down to the avatar bones not being set up right.

EDIT: more testing and analysing and I notice that some spine aanimation is present as character bends all the way back for the serve but only using the first spine bone. In the avatar setup I assigned the second spine node as the last spine bone on the biped (it has 4 spine bones so I chose the 4th). I assigned the neck bone to the neck node and changed the default choice for hips (which was chosen by unity to be spine bone 1) to the biped’s pelvis.
These changes seem to have zero effect on the animation.
At one point the legs cross over each other in unity… very odd!

One thought I had was that maybe using planted/sliding keyframes in 3dsmax is having odd results after export? But that doesn’t make sense because exporting the animation surely remembers all the keyframes???
I’ll attach a crudely copy and paste job showing the 3ds max file compared to the imported result. Both at frame 0.

From Unity 4.3, when you import character with animation, you have to make Avatar Mask, load the character’s Avatar in the Transform, in the Mask and then make sure all bones are checked ON. Select your character, go to Animation tab and then way down, where you will see Mask.

Definition → Copy from other Mask.
Source → Load the mask, that you have created.

Then do that for every animation that you separate…

If you don’t do that, unity will put animation only to the default bones, that you see rig configuration UI.

EDIT semi-solution at the bottom, all the other stuff is my troubleshooting process that may be of use to others.

Thanks a lot for the reply instruct9r.
This seemed really promising as I can see the logic behind it so I gave it a go but it didn’t change a thing, I will log my steps to make sure I did what you suggested.

I made an avatar mask by clicking Create → Avatar Mask.

In the new avatar mask properties I open up the transform section and click on the empty field next to ‘use skeleton from’ and chose the biped in question. The fields then fill up with the relevant bones including the ‘prop’ so I know it’s actually loaded it up right.
The max file is so simple too, a basic classic biped with the standard joints, nothing changed. Keyframe animation, I didn’t even mess with the curves since this is simpy placeholder. I used planted, sliding and Free keys then exported the fbx with animation baked.
So with my avatar mask set up I then go to the ‘animations’ section of the imported animation and scroll down to ‘mask’.
I click on the definition then ‘copy from other mask’ and load the avatar mask I made earlier.

I click ‘apply’.

When I preview the animation nothing has changed at all :frowning:

Did I follow the steps correctly? Thanks for your time :slight_smile:

I will attach an image showing the various panels and their settings.

EDIT
I notice on the screenshots where it says ‘copy from other mask’ the field is empty. I thought this was because it just used the information then discards the reference, but I just tried it all from scratch again and it turns out Unity had decided to be odd and forget it the first time - now the correct mask is referenced in that field.

I noticed a yellow warning message at the bottom saying 'MuscleClip 'tennis_moves_test2’conversion warning: ‘Bip001/Bip001 Pelvis/Bip001 Spine’ has translation animation. It is not supported.
MuscleClip 'tennis_moves_test2’conversion warning: ‘Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 L Thigh’ has translation animation. It is not supported.
MuscleClip 'tennis_moves_test2’conversion warning: ‘Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 R Thigh’ has translation animation. It is not supported.
MuscleClip ‘tennis_moves_test2’conversion warning: ‘Bip001/Bip001 Pelvis/Bip001 Spine/Bip001 Spine1/Bip001 Spine2/Bip001 Spine3’ has translation animation. It is not supported.’
Now as far as I know I didn’t include or ask for any muslce information? Strange, maybe this ‘translation animation is not supported’ could be the problem?

What’s really confusing me though is that the preview is STILL no matter what I do, showing the legs stretched out as if the feet are searching for the ground EVEN THOUGH the preview should just be showing what the animation IS before it’s included into any sort of scene with dynamic ‘floor-finding’ IK effects included. Isnt it?

I have double and triple checked my export settings and tried multiple things in max, checked and unchecked nearly everything in Unity (masks, import settings, animations, avatar configure screen) and nothing makes any difference whatsoever.

EDIT2
I’ve been working on this all day now and I decided to try to narrow down where the extra, bizarre leg-motion is coming from.
I set up a new biped in max, I even reduced the spine bones to two so it matches the Unity avatar just in case.
I made the statis biped perform a series of simple, isolated movements.
At the point where he bends over (ONLY the first spine link is moving here by the way) in the actual Unity preview the character raises BOTH LEGS at a speed and angle that mirror the spine’s movement exactly. For some reason the spine is controlling thigh animation? What could possibly cause this?
20422-benttest.png
Could it be to do with the warning I get that says “MuscleClip 'tennis_moves’conversion warning: ‘Bip001/Bip001 Pelvis/Bip001 Spine’ has translation animation. It is not supported.”

I never had this issue in previous versions of Unity, maybe this is a bug? Doubt it though, surely someone else would have had this issue too.

SEMI-SOLUTION
Okay, I’ve got a solution for half of the problem.
All of my frustrations to do with the legs flopping around all over the place was to do with me having accidentally disabling the tiny ‘IK’ button at the top of the animation preview window.
When I turned this on again (by chance) the feet stay on the floor. Good.

However there is still an awful lot of unintended animation when the spine twists. The whole pelvic region shifts to one side, almost like mecanim is trying to make the character balance even though I don’t want it to… So for now I’ll say this is partly solved…

i have some problem too, pls halp me, what can i do to solve it

upper leg’ parent is spine,not pelvis.shoulder’parent is neck ,not spine in 3dsmax.so it is not the same as in unity3d

Thread is a little old but I’d like to share to help others.

OP stated “I export the biped with ‘animation’ and ‘bake animation’ ticked and the correct frame segment chosen.

Have you tried to ‘export selected’ without the bake animation option? Baking the animation could be the reason you are getting unintended animation segments.

In Max the default biped setup is triangle pelvis which parents upper legs to the first spine bone.

To match Unity’s avatar structure more accurately - place the biped in figure mode, in the structure roll-out uncheck triangle pelvis.
The hierarchy will change as you can see in the schematic view, so the upper legs will now be parented to the pelvis bone.

33592-trianglepelvis02.jpg

Biped also links the clavicles to the neck bone by default. To match Unity’s avatar structure more accurately - check triangle neck so the clavicle bones link to the top spine bone.

These slight changes in the settings and export process should increase the efficiency of biped matching Unity avatar.