Blender rig exporter/animation importer

Ah yea, thanks for sharing the issue. The obj exporter transforms names in a certain way, probably changing that model name which caused issues later down the road…

I’ll look into adding clearer errors/allowing recursive attachments the next time I touch this code.

2 Likes

I’m going to be working on a Maya version of the plugin.
I’ll update my progress as the week goes by.

5 Likes

This is good to know, but doesn’t ROBLOX already have one built in?

1 Like

I’m not the one who’s doing the animating but they aren’t on the DevForums, so they’ve been having an issue where this happens:
image

And they also got this error:

I don’t really know much about animating in Blender, but it seems my rig doesn’t work properly this plugin. Here’s the rig:

6 Likes

Make sure that in Studio settings in Rendering, ExportMergeByMaterial is disabled and make sure you actually use the plugin its own export button.

2 Likes

He says that setting is disabled and he’s always used the export button. The normal R15 block rig straight from the animation editor plugin in Studio works fine for him, but it’s not the best because it isn’t completely accurate with my (slightly) custom rig.

2 Likes

This is really helpful if I would like to maybe work on some animations for my new game.

3 Likes

This is caused by the spaces in the model name, the roblox exporter removes those spaces, causing the addon to fail to map the parts.

1 Like

This would make animating a whole lot easier than it is inside studio.

1 Like

Removed spaces in the model name, still got an error.

1 Like

Go back to object mode first, then re-import.

2 Likes

For Mixamo users: I made some small modifications to the original script so that animations imported from Mixamo look cleaner.

  • When the rig is rebuilt:
    • All body parts (sans the lower torso) have their location constrained.
    • For knees and elbows, only rotation along the x-axis is allowed.
    • For wrists, all rotations are disabled.
    • for ankles, only rotations on the x- and z- axis are allowed.
  • The functionality of is_transformable is split into is_translatable and is_rotatable. This is useful for jumping animations, where you want to disable changes to the location of the of the hip (Lower Torso) while still allowing its rotation.

Before:

2018-01-10_23-39-40

After:

2018-01-10_23-32-53

Some caveats:

  • For animations that involve a tool, you may want to disable the rotation constraint on the right hand.
  • If foot planting is unsatisfactory, you may want to disable the rotation constraint on both ankles.

DL: https://pastebin.com/raw/fKtXPwKx

41 Likes

AAAAAAAAAAAAAH!!! Job well done mate. Im actually going to start using this. That splefunking thing going on with jutting out/twisted body parts was ticking me off. Now no longer!!!11!!11!!

6 Likes

If your imported animation appears shaky or jittery, there’s also a way to smooth it:

  1. Import the animation you want into your rig.

  2. Open both the dope sheet panel and the graph editor panel.

    image

  3. On the left-hand side of the dope sheet panel, select all the bones. You may have to expand some arrows in order to show all bones. This should cause some lines and dots in the graph editor to appear.

  4. On the graph editor, select all the nodes by pressing A. All the nodes should be highlighted.

  5. Open the toolbox by pressing space, then type in Smooth Keys. Only one option should appear. Click this option.

  6. Do step four several times until the shakiness disappears. Overdoing it will cause the animation to appear sluggish, so don’t overdo it.

Video:

Before:

After:

19 Likes

Thanks for sharing that!
I’ve added a link to this in the OP. I’ll probably merge those changes into the main module at some point and add an option for it. Definitely makes blocky R15 rig animations look much better.

5 Likes

I hand-modified a rig such that it can be imported to mixamo with its mesh intact:

It’s attached to this post as an fbx. I can probably give the blend file if anyone wants it. All I did was assign each imported mesh to its own vertex group, join all the meshes into a single mesh, and parent it under the armature with the armature modifier. I also offsetted the root bone a bit because re-importing the exported fbx into a rig was causing some issues. It may just be a fluke.

Now that I think about it, joining all the meshes probably wasn’t necessary. I just copied the structure of the characters I downloaded from mixamo.

roblox-rig-experiment.fbx (162.8 KB)

22 Likes

Did you ever make the video tutorial?

1 Like
4 Likes

Going to re-shoot this in a few days, I would like to do some edits :slight_smile:

2 Likes

Alrighty!

1 Like