Animated skinned mesh - All bones animating except for the hips

Good evening.

I’m working on skinned meshes for player models, and have run into an issue with the animations I have for them. For whatever reason, the hips are not animating. That is, the other bones in the mesh animate flawlessly, while the hips remain immobile with the animations being warped by the unmoving hips.

Desired animation:


The hips animate just fine in the animation editor. All looks well.

Animation output :


As you can see, the hips don’t seem to want to animate when used in a StarterCharacter model with a humanoid and custom animator - A setup that I know to work for player models.

I’ve tried just about everything I can think of. I’ve had success using the exact same method as the problem model with a different model, without this issue occurring. Although, I’m unsure if I did something in Blender or Studio that has caused this one to fail, in spite of using (what I believe to be) the same methods.

If you can provide any possible causes of this issue, it’d be greatly appreciated.
Thanks!
-Longshot.

7 Likes

Tl;Dr - Choose the “Selected” option when importing animations to a rig from an .fbx with the animation editor. Also make sure you don’t change the name of the MeshPart (ex. Mesh_0, HumanoidRootPart, NPC-0101) that the bones are in, once you’ve already published the animation. The MeshPart and ALL of it’s descendent bones MUST have the same name as when you exported the animation, or the animation will break.

Detailed explanation:

I figured it out! When I import my models in the .fbx format, the animations are baked in. When importing the animations, I’m given a notification that the rig I’m importing it to and the model in the .fbx differ (despite being the exact same model). The notification gives you the choice between the .fbx or the selected rig to determine how the animation system reads the bones, I think. The whole time, I was choosing the .fbx option, since the notification always puts “(reccomended)” next to it. However, when I started choosing the “Selected” option I had no issue.

Additionally, when I import my .fbx the Avatar Importer automatically creates a MeshPart, named Mesh_0 for example. This is the exact same thing as the Mesh in Blender - This is just how the animation importer sees it. The mesh used for the MeshPart is the mesh you import, and the bones of the rig (ex. Root, Pelvis, Spine1) are parented to this Mesh_0. I would then import the animation through the animation editor. When you do this, the editor automatically reads the names of every bone in the animation you are importing, then references them in the rig you are importing the animation to.

As it turns out, it’s NOT important whether or not that initial “Mesh_0” is named the same thing - It’s not used in the animation, the initial mesh is just what the bones are parented to. That is, you can name it was whatever you want so long as you adhere to the following: DO NOT rename the MeshPart after you’ve published the imported animation to Roblox. If you do, when you play the animation, the animator will not see the first piece in the animation, the MeshPart, and skip straight to the Root. Problem is, the MeshPart has no animation, so the animator will apply no animation to the root.

In my case, I had exported the animations on one rig, named “Mesh_0”. Then, when I duplicated it to create a StarterCharacter, I renamed the “Mesh_0” MeshPart to “HumanoidRootPart”. When the Animator then tried to read the instances used in the animation, it didn’t find a Mesh_0.
I solved this by going back and reexporting the animations with the MeshPart named HumanoidRootPart.

9 Likes

Hey so I’ve got the same problem kind of, I don’t really understand your solution very well.

My problem is that the feet IK controls don’t animate UNLESS the animations are already baked into the fbx. Which my solution has been all of the animations are in the fbx, but then I have to go and crop them out in studio which takes a long time. And is generally annoying.

The mesh’s name in Blender is HumanoidRootPart, it also is in Roblox.
Everything is named the same, and there should be no problem with importing animations from separate fbx files. Doesn’t even work correctly if the fbx is named the same thing.
And the animations play perfectly fine in animation editor, but not in game.

(What happens if I try importing the animation separate)
image

Any help would be appreciated! Thank you for your time.