2
$\begingroup$

I have a basic character I'm trying to rig, but the deformations are bad when I have a subsurf modifier on the stack (above armature modifier). It works well if I apply the subsurf, but while it's on the stack it interpolates the weighting and messes it up. Example:

img also note the flared tip in the last example

Is there any way to fix this without applying the subsurf? I need to add a lot of edge loops to get it looking good, which defeats the purpose of keeping the subsurf modifier unapplied. The ideal solution would be for the bone weighting to work directly with the subsurf on the stack, rather than basic interpolation, but I'm not sure if that's possible.

$\endgroup$
2
$\begingroup$

There is no may of getting exactly the same effect, as you can only set weights on 'real' vertices, not the extra ones generated by subsurf, which just get interpolated. Automatic weights are just an easy way of setting the weights, it doesn't do anything that you couldn't theoretically do manually.

That said, when making characters, the subsurf modifier is generally placed below the armature modifier in the stack. This way the deformation with or without subsurf will be much the same as with subsurf, and subsurf is just used for smoothing and to support extra detail through displacement mapping. This is also important from a performance perspective, as the number of vertices can have a big effect on armature modifier performance.

Your base mesh, prior to subdivision, will need to have enough geometry to deform properly, which can mean adding extra loops around joints, but some experimentation is often required. In your case it looks like when you have added extra loops, they are too close to the joint.

$\endgroup$
  • $\begingroup$ I'm exporting this to a game engine, so putting the subsurf below armature will give me an inaccurate view of what the deformation would look like in the engine. Ideally I'd be able to keep very few edge loops and let subsurf do everything, since it deforms fine in the low-poly state, but it seems I'll need to add more. I added a few between the elbow and shoulder on my character and it looks acceptable now after some manual painting even with the subsurf interpolation. $\endgroup$ – Tenagra May 29 '17 at 18:45
  • $\begingroup$ @Tenagra if your intention is to put it in a game engine, I wouldn't bother with subsurf at all, I'd model every vertex explicity. You will end up with much better results and a lower vertex count. $\endgroup$ – Sazerac May 29 '17 at 23:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.