1
$\begingroup$

My rig with automatic weights is failing on my high poly model (400k TRI's). I do not know why.

I have successfully rigged the model on a low poly model of the same human (5k TRI's). I have also successfully rigged the model on a remeshed version of itself (20k TRI's).

What have I done wrong?

Here is the blend file:

https://files.catbox.moe/7jy0v0.blend

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ so why do you want to use such a high-poly mesh for animation? It will be very heavy $\endgroup$
    – moonboots
    Commented Apr 20, 2022 at 12:14
  • $\begingroup$ I only want to move the character into a specific position, not exactly animate it. $\endgroup$
    – Gunty
    Commented Apr 20, 2022 at 12:18
  • $\begingroup$ On that note, if I was to theoretically animate the character, how would you suggest I do so without losing alot of detail? @moonboots $\endgroup$
    – Gunty
    Commented Apr 20, 2022 at 12:20
  • 1
    $\begingroup$ you can bake the normals from the high-poly to the low-poly in order to save all the details of your high-poly version. As for giving a specific position, maybe try the Sculpt > Pose brush before? $\endgroup$
    – moonboots
    Commented Apr 20, 2022 at 12:27

2 Answers 2

2
$\begingroup$

The issue here is with precision. You've modeled your character at a scale of 1 meter = 1 Blender unit. That leaves the distances between your vertices at small numbers. When autoweights does some math on these, the results are too small for the algorithm to see differences.

It's fixable by working at a larger scale. Delete one copy of your multi-user mesh object, then apply all transforms on both armature and mesh object. Scale both objects up by 20, then apply all transforms again. Now, when you parent with automatic weights, it works:

enter image description here

If you'd like to scale this back down, you can scale the armature by 0.05. If you'd like, you can also unparent the mesh object with keep transforms, apply all transforms on both, and then reparent the mesh object to the armature with armature deform (only, not automatic weights.)

I have no idea why Blender doesn't just do this automatically, behind the scenes, when you run autoweights. There already exists a relevant bug report that has existed for years, IIRC, with little enthusiasm behind addressing it.

200k verts is pushing it for armature deformation-- you want reasonable performance when you're trying to make animations. Your armature also needs to be edited to agree with your mesh. And your mesh has some non-manifold geometry that you need to fix (and which can also break autoweights, although it's not the issue here.) But these are side issues to your main question here.

$\endgroup$
2
$\begingroup$

Your mesh is very high poly, it will make any animation very tedious. To save all the details of your high-poly mesh onto a low-poly version, you can use the bake normals operation. To give your mesh a specific pose without using an armature maybe try the Sculpt > Pose brush:

enter image description here

enter image description here

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .