Fully Custom Mesh Deform Character Setup [Skinned Meshes]

I have nearly torn my hair out with this one, I couldn’t find information about what I was looking for so I figured id post that here.

Firstly you need a couple things
A Mesh or 3D model you are trying to make your character, and Blender/Maya/Cinema4D or any 3d animation software that supports .fbx exports
And the rigged and animated version of your character.

Model Rigging tips.

If you are adding in multiple characters make sure they all have the same rigs so you can reuse the animations created, you also want to keep arm animations separate so you can have two animations overlapping allowing for arm motions to change.

you can use Adobe Mixamo to auto rig a mesh for you if it looks human like, not sure if its paid however it has been very helpful in getting things done faster. (They also have pre-animated files for you)

Once you have an animation made there is a ton of tutorials on how to make animations for characters,
We need to bake the animation otherwise it won’t work.

To do that while in pose mode of your animation on blender, follow this picture.

You will also want to make sure you bake all of the bones, I have IK’s on my model to make animation easier you don’t need to worry about that affected the final result in Roblox as Roblox doesn’t support IK like blender and the IKs will just be deleted.

Once you click OK and then have all of your keyframes baked to the animation tab, you can export the file as a .FBX to your desktop or wherever.

The following will tell you how to import the model and add the animation in roblox

To import the model on roblox go to Plugins, then click Avatar Importer choose custom and choose your .FBX file you just exported.

Next importing the animation is easy, just use the Animation tool in the plugins choose the newly imported model and then go to the IMPORT tab of the animation, choose Import from FBX and use the file we just exported, this is how you will import the other animations you may end up making.

Now you have an Animation added to the newly added rig, so you just need to Export the animation to Roblox copy the ID, and then you are pretty much done.

The rest will show you how to set the character as default.

Inside of the StarterPlayer folder, add a Model object and name it “StarterCharacter” It has to be named that.
Inside of that model take the MeshPart from the imported Mesh that you animated, not the full folder just the meshPart with all the bones inside it.

Rename the MeshPart to HumanoidRootPart
Add a Humanoid to it
You will want to play in another studio tab and go into your character folder while playing and find a script named “Animate” copy that and paste it into the StarterCharacterScripts folder, then change the animation IDs to the exported one to roblox and you are done, you have now set the new character as a custom one.

StarterPlayer should look like this:
Baked3

If you got questions let me know, I made this because I keep getting people who ask how I did it, and id like a place to send them.

38 Likes

Should I be baking a rig, even without animations, to get the proper paint weighting to transfer over in the FBX export?

That’s a good question, you shouldn’t need to but you mind as well if you plan on animating in studio

Yeah I would be animating in studio, instead. Hmmm… maybe I should be using Blender though, now that I think about it.

1 Like

I’d do it in blender you get access to much better animation tools like IK bones

Anyone encounter an issue with the animations for the “root” bone of the rig for the skinned mesh? It seems because roblox treats the root as the humanoid root part, it always stays centered to the camera and doesn’t apply any animations…

2 Likes

Thanks - your Animation baking action was helpful. But what wasn’t working for me was just importing the animation in general. It seems that you MUST have the roblox Animation editor set to start on frame 1 - the default is 0, or it won’t import correctly, in some cases - after 10 hours of messing around, that was the dead simple solution for my import problems…

7 Likes

It isnt working for me. When trying to export my walk animation, it places frames I never created.

Make sure to bake the animation, if you don’t it won’t work properly

1 Like

My character faces the wrong way when I move around in-game, is there any way to fix this?

Usually, to do with orientation within blender, make sure it’s facing the front direction.

Mixamo causes issue sometimes when I’m not able to make the tool sticks to my hand expect when i imported Roblox’s rthro it does but not my own
PLUS stretch issue since it bends like a plastic
(Mixamo is free to use)

how do i convert from R15 to S15?

2 Likes

Occasionally it might, I haven’t had too many problems. It sounds like you are trying something different this doesn’t use the r15 or r6 models this is for entirely custom models.

Baking the animation before exporting? Huh?

As soon as you export Blender bakes all of the animations into the FBX file.

1 Like

Maybe in later versions it will do it correctly but in 2.8 it will not export the animation properly thus requiring you to bake the animation prior to exporting.

I am getting these two errors, when I am on the animation in the plugins tab and click on the model that I imported using custom character import.
image
image

I have no idea what the first error is about. But the second error is confusing, because nothing in my model is anchored.

image

Thanks :slight_smile:

I believe the first error is because… looking at your Explorer tab, it doesn’t seem like you’d added any bones/rigged your mesh.
image
Either you didn’t import the bones correctly, or never made the bones.
If imported correctly, the bones should be parented into the RootPart, and the Motor6D should be parented to the skinned mesh. The RootPart is, I may be wrong, but is similar to the HumanoidRootPart.


The RootPart is usually automatically made if the mesh you are importing is rigged.
I think in your case, it seems like you tried to import one non-rigged mesh as a .fbx file, using the Avatar Importer. This would somewhat explain both errors; Mesh wasn’t rigged so there was no Motor6D for the plugin to attach, and I’m assuming since it was deemed non-animatable by the first warning, it assumed your model was anchored.
I’m a bit new to skin rigging, so I may be wrong about all of this. This is all more of an assumption based on my last skinned rig.

1 Like

I forgot to update this post, but I fixed it, there was a check box that was unticked, I believe it was NLA Strips that needed to be turned on. Thanks for the help though :slight_smile:

2 Likes

Problem was solved, the issue was pretty difficult to grasp at first but I was able to get it to work.

Just tried following that
But the result after import is just only 1-2 keyframe (im not what Solution means to)
THis is bake result i’ve got

yqy

But then when import into roblox animator studio its just gave these :confused: i dont even understand whats going on

1 Like