1
$\begingroup$

I use a subdivision surface modifier which makes my character look great.

I have to apply this modifier and this is where problem begins. It looks good before I apply it. I have no idea why, but after applying it, if I animate my character then when bones bend my character has holes in it.

Before applying:

enter image description here

After applying:

enter image description here

I have checked almost every modifier/option/feature that could help me but nothing did. I did see someone had similar problems with this in past and couldnt resolve it.

My blend file:

$\endgroup$
2
  • $\begingroup$ Could you post the blend file? $\endgroup$
    – Ben
    Commented Sep 1, 2018 at 14:55
  • $\begingroup$ file uploaded @Ben thanks for help. skin modifier needs to be applied before subdivision surface modifier.they are both in "Cube" $\endgroup$ Commented Sep 1, 2018 at 15:10

1 Answer 1

2
$\begingroup$

More detail is needed as of why you have to apply the SubSurf modifier to provide a more complete solution. To illustrate the problem you're ramming into, just move the SubSurf modifier up one level in the Stack:

Before:

before

After:

after

why does this happen?

Remember, applying modifiers has to be in order of their influence on the mesh! In your case that means you'd have to apply the Skin modifier first, then the Armature modifier, then the SubSurf. If you just click on Apply for any modifier in Blender which is not at the top of the stack, internally it is reordered to the top of the stack before it is applied.

All modifiers in Blender work sequentially, one after the other. In your case, your Mesh is Skinned first, then you deform that rough tube mesh using the Armature, then the Subsurf smooths the polygons of the result. Changing the order changes the solution. When you were parenting the Mesh to the Armature, the SubSurf wasn't there yet, so no weights could have been stored for it. That's why the weird deformation happens.

possible solution

  1. set the Armature to Rest Position
  2. Unparent your mesh from the Armature using Alt + P
  3. Remove all existing Vertex Groups from the Mesh. This is done in the Mesh data tab, by clicking on the down arrow to spawn the menu, and choosing Delete All Groups

enter image description here

  1. Apply the Skin Modifier
  2. Apply the SubSurf Modifier
  3. Re-Parent the Mesh to the Armature using Automatic Weights

The parenting and weighting will be more difficult than before, because there is more vertices to be considered in the equation. You'll see some glitches at the shoulder area when following this procedure too. That's because you were not modelling the mesh in T-Pose, so the weighting has too many possible candidates for the bone in that area.

$\endgroup$
2
  • $\begingroup$ First of all thanks for such detailed and big answer. You are right - that seems to fix the problem. However, I am getting some unexpected results, do you know why? i.imgur.com/K713NYH.jpg I mean the area where arms and legs connect $\endgroup$ Commented Sep 4, 2018 at 7:26
  • $\begingroup$ @user394658 You're getting those results after following the potential solution? If so, you'll need to fix the weights by weight painting. $\endgroup$
    – aliasguru
    Commented Sep 4, 2018 at 13:34

You must log in to answer this question.

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