Animation Import Improvements

That’s good to know.

Unfortunately, I think this is exactly where Roblox’s importer is poorly designed.
I’m currently trying to document all of its behavior, and it’s surprisingly complicated.

Regarding your fourth point, if the name of a geometry mesh object (when exporting as FBX), or the name of the mesh data (when exporting as glTF), matches the name of a bone in the connected armature, that bone is converted into a physically simulated Motor6D.
I assume this will eventually become an AnimationConstraint once support is added.

The bone itself is not deleted.
The real problem is that Motor6Ds are imported with their rest-pose rotations reset to (0, 0, 0).
If you then import an animation authored in Blender for a rig whose rest-pose orientations were never intended to be globally aligned, Roblox ends up using a different rest-pose basis from the original file, causing the animation to play incorrectly.

That’s why people recommend giving the bones different names so they are not converted into Motor6Ds or AnimationConstraints.

Personally, I think this is fundamentally the wrong design.
Adding the ‘Zeroed Rotations’ option certainly helps, but it still breaks down if a rig contains both Bones and Motor6Ds.
Some joints preserve their original rest-pose rotations while others have them zeroed, so neither the regular ‘Imported Rig’ nor the ‘Imported Rig (Zeroed Rotations)’ version can correctly reproduce the original rig.

I also suspect the ‘Zeroed Rotations’ implementation itself still has some issues.
I’m currently experimenting to understand exactly how it behaves.

Off-topic, but there's another inconsistency.

For R15 characters, meshes named {Name}_Geo are automatically associated with the bone named {Name}. However, this naming convention is not applied to custom rigs. A mesh named {Name}_Geo will not be associated with the bone {Name} and therefore will not be converted into a Motor6D.

If Roblox has already established the _Geo naming convention, I think the same naming convention should apply to custom rigs as well.

1 Like

I don’t know what I did wrong.. but my import was shredded :laughing:

Meshy is a good choice.. but it’s paid to download.. so I used SketchFAB - free with Animations too.

It imported all the many different animations for a Horse .. but didn’t keep it together with the Horse.
This is what the animation are with the horse : (I sped it up - save viewers time)

But for “some” reason it didn’t move at all.. then I asked Assistant to help solve the issue…
.. but even after several hours of attempts.. this is the best it could do.. disjointed & upside down :man_facepalming:

Guess I have a long way to go before I get this right lol

2 Likes

Unfortunately, many of the downloaded 3D assets are not properly configured for import into Studio. The problem isn’t the animation itself; it likely has the correct keyframes. The biggest issue arises when you import the bones into Studio.

I suggest you take them to Blender and analyze the bones.

3 Likes

Thanks for the helpful advice. Appreciate it.
Me and Blender are not friends yet lol … but I will give it a try.

2 Likes

I’m just going to leave an important warning here. You might miss it during export and not even try to change it, but one change that literally makes your animation look awful during export is the direction.

For me, the vast majority of models need to be this way, so I recommend you leave it like that too. (Forward and Up direction)

Edit: Ideally, you should always export the model and animations at the same rotation/direction. It’s always a mystery when your animation will or won’t have a problem, so maintain a consistent standard for everything.

I have been using Claude to help me in Blender thru MCP.
It is very helpful on most.. and I still have some issues with Horses (complex).

Some success …

And when it tries too hard :laughing:

I’m thinking of redoing the animations with Moon Animator.. taking the Keyframes & adding them 1 by 1 - if that’s possible.
I know it will be a looooong task.. but what else can I do lol

1 Like

Never seen this part pop up.. or didn’t notice it.
Will sure look out for it. Much Appreciated.

I believe that 3D model orientation is more helpful when you export only the bones for animation; however, if you export the entire mesh along with the bones, I believe Roblox will be able to pick up the orientation automatically. Just don’t forget to check the “Imported Rig” option.

If you only send the bones, “Animation Editor Rig” usually ends up being more useful, but even though it’s a bit heavier, I recommend sending the entire file with the mesh, as it ensures greater fidelity.

Regarding your model, it seems to be looking very good. A tip for you is to go to the model and see which is the root bone and position it at coordinate 0. If you don’t have one, create one and have all the bones follow it. This prevents some of these animation imperfections from happening. Also, ensure that all bones are active in the animation, so that if one animation merges with another, all bones are used by both animations.