Animating new character from only a Static Mesh

I have a static mesh I downloaded from the fab store that only came with a static mesh and a few textures. I am curious what would be the best approach to animating this character so I can replace my main character Greystone. I have tried setting rigging in blender but when moving various bones the mesh just got distorted and I’m unsure why. I am not an animator so alot of these tools I am new to and I thought maybe it would have been ‘just that easy‘. I feel like this mesh is similar enough to the UE Manny mesh so I have tried a few methods of re-using existing skeletons/skeletal meshes to animate this character. I dont understand why I cant take an existing bi-ped skeleton and simply reuse it on another mesh.

My questions are ultimately, would be the easiest, most painless method to getting this character animatable within UE?
Are there any drawbacks/cons to that method? Like maybe something down the road?

My ultimate goal is to have this character animable in a way that I can just download a few of the animation packs I see on the fab store. Or even have a “Universal“ animable bi-ped mesh/skeleton (whatever it may be) I can re-use across projects.

Screenshot of my UE boned mesh in blender

And this is what happens when I tried import my rigged mesh to a skeletal mesh created from the Manny. I assumed this distortion is from weighting but removing the weighting on the torso for each arm bones hasnt changed anything.

  1. Let’s get this straight: vertex weight during rigging determines how much a surface point follows the bone’s position. 1 (relatively) follows the bone’s movement exactly. 0 doesn’t respond to changes in bone position. So, the phrase “I removed the weights” seems, at best, strange.
  2. You don’t need Blender. Use AccuRig to create a UE-compatible skeleton. It’s a very simple tool.
  3. Import your SkMesh and retarget the animation. When retargeting, use the “Skeleton” mode recursively from the root. And then use AnimationScaled for the pelvis.

https://dev.epicgames.com/documentation/en-us/unreal-engine/animation-retargeting-in-unreal-engine?application_version=5.7

So AccuRig seems like a nice tool. It’s joints for the hands are easily placed and stayed inside the mesh. I liked that. However when I go to Calibrate step, AccuRig crashes with no output error message. It only gets as far as the 20% marker. I tried repeating the process a few times trying different things each time like, importing a mesh version without existing bone data, since I thought it might have been getting hung up on that and importing the original mesh.

FYI, there is a weird container polygon in the original static mesh asset. I opened the FBX in blender, deleted the shape then re-exported the proper static mesh. I’m not sure if this is causing issues with AccuRig.

Is 500k bad? I noticed one of the sample characters were only 60k

Most often, the problem is with an incorrect FBX file, which can cause compilation errors.
Stick to around 50K tris. It’s better not to give triangulation to DCC when importing - UE will do it itself.

lol

Trash that static mesh and use something else. The mesh isn’t mirrored across the forward axis, the pose isn’t anywhere close to the UE5 skeleton rest pose, and the triangle count is way too high for runtime use. Your skeleton would be influencing 100’s of thousands of vertexes, and I expect you wouldn’t get good deforms after decimating, either.

You’d be better off using something that already has a skeleton that you can use to pose on top of the Unreal mannequin and transfer the vertex weights using Blender’s Data Transfer Modifier. That’s the ‘easiest’, although you’ll probably mess it up 40 times and then eventually you won’t. Far from painless.

Accurig might work but it doesn’t support facial bones. If you need anything beyond basic animations, like facial rigging or shapekeys/morph targets, it’s better to learn how to do it in blender/etc.

The capsule is most likely UCX collision, considering it’s a static mesh.

I reduced the count down to 100k, the calbration succeeds but I am seeing similar issues to what I was seeing when I manually rigged it.

I know. I dont know why I thought anything in UE would have a smooth learning curve.

Funny you say that. I was going to ask in this post after everything I’ve just tried if this mesh is just not setup/ideal for rigging or something. The look goes to **** once I reduce the tris count. And even then I cant seem to stop this mesh stretching.

Can you explain this a little more because I am lost on trying to even re-use other assets’ animations. I just grabbed another free asset and this one came with a skeletal mesh already. I thought that by retargetting animations of my greystone character to this new character using greystone as the source skeletal mesh and the new character as the target, the animations would work. All animations were exported by only as a static A-pose though. When copying animations, does the bone structure have to match the source exactly including the bone names?

This is a rigging error. When creating fingers in AccuRig, make sure there are no other mesh parts BELOW your hand. In other words, rig the hand over an empty surface.

When copying animations, does the bone structure have to match the source exactly including the bone names?

I’ll say more - transferring animations is always a big problem if the skeleton hierarchies are different. You’ll need an IK retargeter, which requires manually matching the bone hierarchies. It’s painstaking, but not difficult. It is done once. After this there is only the problem of proportions, but this can also be solved.

There’s still a month of tutorials left before the morphs.

(post deleted by author)

Learn to do weightpaint manually. Like everyone.

Many a yutube tutorial that have ideas on the subject. Find what works for you via looking them over, trying, and telling them to take a hike over bad suggestions :winking_face_with_tongue:

Also, because you obviously don’t know any better I’ll give you this tid bit.

Take something solid like a piece of metal I guess a knife blade. Can you bend it and deform it at will? No? You don’t say! :stuck_out_tongue:

That’s exactly what is 100% wrong with any industry made trash game since forever.

Sure it’s more work, but you can section parts off and attach them properly with some anymdynamics linking that won’t cost a fortune and will make the armature look and feel realistic.

What you don’t do is slobber weight paint all over it in various percentages… even solid weight paint to a single bone (which obviously cannot work without a special rig) is a better solution to the mess you have going on.

Ofc, you have to somewhat know what you are doing. So as I said, learn how to weight paint. Start with that.

Another thing - no one forces you to use a rig defined by epic (who has never had any buisness defining what things should be due to their incompetence on any subject matter) in your private projects :wink:

So i tried picking a new free asset. This one comes with a skeletal mesh. I didnt immediately notice the skeleton until I attempted watching a video on IK_Retargeting.

Is this skeleton a problem since it’s not lined up with the mesh itself?

As I mentioned I also tried retargetting this mesh to the Manny skeletal mesh. Right off the bat the bones dont match. When selecting the root to re-target I only get an option to set it to pelvis. After setting retarget bones to their manny equvilaents I try retargetting animations to my new character. None of this has worked.

I am looking for the path of least resistance that would allow me to take advanage of the fab assets. I assumed since I see alot of the assets using the Mannies as their meshes for animations and the models mentioning they support UE5 skeletons, if I had a character that was setup to support the Manny skeletal mesh/skeleton, I would be able to use those fab assets out of the box.

  1. Return to the original character and attach a skeleton to it, using the AccuRig features I described above. This will free up your hands, allowing you to use a lot more free meshes.
  2. Characters compatible with Manniquin contain identical skeletons, with the same number and proportions of bones. It’s clear that yours isn’t. For this reason, I recommend returning to step 1, where you’ll have a skeleton comparable to Manniquin’s.
  3. Root can’t be mapped to Pelvis. If it doesn’t exist, you’ll need to create one in the skeleton.

The picture you posted from accurig with the T-pose looks to me like the elbows, pauldrons, and feet aren’t in the correct position; for example, the left elbow pad is actually point up, so even if the skeleton is done correctly, the visual deform of the mesh won’t be correct.

@NeoMurakami , For an example of how proportions can cause problems, take a look at the Gameplay Animation Sample; the runtime retargeter for the UE5 mannequins causes dislocation of the calf bone from the thigh bone during turn in place animations due to the difference in proportions; the ‘Echo’ Character doesn’t have this problem because the proportions and pose match almost exactly.

I understand; I only mentioned it because I remember how frustrating it was to be in his position and to find out what i’d done already wouldn’t work, but that’s how it goes :smile:

yeah lol that’s a major problem. The bone names are also pretty crazy.

That red line is your root bone offset; rather, there is no actual ‘root’ bone. Instead, whoever made the model called the ‘pelvis’, ‘root_x_02’.

A proper root bone should always be at the skeletal mesh’s origin (x=0, y=0, z=0, blender default 3d cursor location). If you don’t have one, you won’t be able to use root motion animations, which drive the position of the character during animation montages (dodge rolls, sword swings, etc.). Adding one is fairly straightforward.

This is correct, but as I’m sure you know by now, getting a character with the correct skeleton is the hard part :rofl:

Otherwise everything @MostHost_LA said is correct. I’ll add that the easiest model to paint is the one with the least complex topology you can find. Using something like the image below will allow you to learn how the vertexes are actually weighted.

This is makehuman’s Proxy741 topology. If you’re curious about how skeleton and weight data is actually stored to later be retrieved, check out the following.

AFAIK, This problem can be solved by:

  1. Using animation transfer types in Retargeting (Scaling, Animation, etc.)
  2. Using offsets relative to the target position (there are plenty of sliders, even for FK)

Generally, you can achieve minimal distortion even with different bone proportions. The main thing is that the target and source poses match as closely as possible in the Retargeting window. That is, the poses should merge at the 0, 0, 0 position. Their visual distinction is then achieved by offsetting the target (shifting it 150 pixels to the right or whatever you like).

I ditched the original knight model cause t sounded like it just wasn’t an ideal starting point, especially for someone new to animation like me.

I actually had a major break through last night and managed to get my knight girl to respond to Manny animations. I had to do a bit of manual editting of the model like deleting the sword mesh in blender and removing the side belt strap (I didnt want to risk AccuRig picking this up and scretching it). I also reduced the tris count to 200k (was 500k) then ran it through AccuRig (Thank you for this tool btw, huge time saver), and success! Knight girl was rigged.

I imported her manually and tried setting up the IK_Rig/Retargetter myself but I had no luck with animations working. Then because the skeleton match UE skeleton exactly now I tried using the auto-retarget options which created new IK_Rigs and Retargetters. I am still investigating what is actually different compared to when I import this same rigged model manually. From what I can tell, the only difference is mine didnt have IK goals which I dont see options to create the same goal type it created for me. From here I was able to run animations from my UE Manny as well as animations from the Greystone character once I created IK_Rigs/Retargetters for him.
I am going to test this rigged model against some other animations today.

There is a problem with the mesh coloration when I re-apply the materials the original asset came with, some research suggests this was caused from the decimation process I did in blender to reduce the tris count. Something about vertices base colors. Investigating this today as well.

One question I do have is:
because I have this newly rigged knight girl to the with UE skeleton, do I need copies of all the animations specificially for knight girl?
Or do I just need the IK_Rig/Retargetter for her then I can play animations in an AnimBlueprint with animations from the Manny?

I also tried swapping the knight girl skeletal mesh for the greystone one in my BP_PlayerCharacter just to see what happens and I get this odd distortion of the knight girl mesh. Something else I have to investigate.

I tried those and they had no noticeable effect on the calf bone dislocation, unfortunately. Offsets did help, but I had to alter skeletal mesh proportions to get a total fix.

Decimation can (and usually does) totally destroy the UV map. You can either decimate and fix the UVs manually, or retopologize, which I definitely don’t recommend for a beginner. Decimation using ‘unsubdivide’ after converting the faces to quads usually yields decent topology.

You can run the animations with runtime retargeting in an AnimBP, or set the skeletons as compatible. You won’t need copies unless you want to edit them per-character.

In reality, bone names and positions have no bearing. What matters is the weight paint and associated vertex group. The engine does a p*ss poor job at representing where the skeletal mesh bones are anyway. And just makes even more of a mess because Epic in their usual “infinite wisdom" tried pushing a narrative that doesn’t fit with the industry on how to represent said skeleton.

To their defense for once - the engine 100% doesn’t need to represent it visually as you should never try to do DCC work inside the engine. BUT, what they made is a mess nonetheless.

With that in mind. So long as you have a biped skeleton you can always retarget animations to it.

There’s 2 types of retargeting.

Runtime, which sucks because it implies computation costs happening at runtime and will cause errors.

and

Precomputed. The one you get where the engine generates new animations for you to use.

You likely want the second.

And you can get that on anything that is a biped even from a whole animation blueprint (right click and select the retarget option, it will do and produce all the animations).

Again though, this isn’t the issue.

There is no “path of least resistence" if you have to learn how to weight paint things.

There is also no easy button because most as you experienced make a total mess anyway.

Transfering weightpaint from a mesh that works - in blender, based on vertex proximity - can sometimes work but it 100% depends on the mesh.

Oh and to more directly address your question. Yes. You likely need new animations for the knight girl. Unless you want to incur the runtime costs (which, why would you?).

Keep trying anyway, I think you are starting to get some results.

Congratulations, you have many more discoveries to come.

  1. What resolution are you using? I work in FHD, and 30K tris is more than enough for my low-poly meshes. I see that you also have low-poly characters; reduce them to at least 50K (UE already has a mesh editor, using the Simplify method).

  2. IK bones should be excluded from the IK Rig. These bones don’t participate in the animation sequence and only get in the way (creating unpredictable behavior). They are fairly easy to set up and are used for post-animation/corrective effects. You’ll need ControlRig and some fairly complex logic.

  3. Replacing just the SKM isn’t enough. Your AnimBP logic has at least one node casting to the old mesh. Look there.

  4. Yes, all animations need to be retargeted, but you already have IKRig configured, and the latest UE versions (since about 5.3) already have a batch mode for retargeting, almost per right-click. Retargeting in ABP is technically possible, but it will likely be a significant overhead. Furthermore, not all animations will play perfectly; corrections will be needed via retargeting, and you’ll be forced to add the already corrected animation to the pool for retargeting.
    Overall it works, but it’s a path towards “bad UE with animation stutters”