My problem is best expressed in example:

On a character, when the arm bends it tend's to self-intersect, instead of working like a muscle and, expanding and, stretching while retaining its original volume. What really happens is the faces from the top of the arm's of mesh clip through the bottom when fully bent.

No matter how I apply the heat map/weight paint, I cannot seem to prevent this from happening.

I did some research currently, Blender uses a standard heat map as the basis for its weight painting, from particle maps to character bones to verts.

Is there a way to apply a quaternion/dual quaternion, or and implicit skinning method? These methods would help a lot in retaining the appearance of volume under compression and would solve issues with large characters and muscle flexing?

The Video Link Here was presented as at Siggraph years ago and, explains the issue a lot better than I can, but I would love to see some solution like this in Blender if there isn't already and I am just oblivious. Any help is much appreciated.

  • $\begingroup$ You can use corrective shapekeys with drivers, controlling the shapekey with the angle of the bone value. $\endgroup$
    – Denis
    Feb 20 '17 at 2:20
  • 1
    $\begingroup$ Can you elaborate or link to something about this a little more descriptively? $\endgroup$ Feb 20 '17 at 3:14
  • $\begingroup$ Using a low poly mesh similar, and getting the rig going may be a good strategy. $\endgroup$ Jul 23 '21 at 15:10

Blender does not currently support anything like implicit skinning, or any dedicated tools for character self collision.

Dual Quaternions are simply a different way of calculating bone transforms on vertices and prevent some artefacts, but have no concept of intersection or volume (although they make the results appear to preserve volume better under some conditions).

However there are a number of ways these effects can be mimicked in blender:

  • corrective shapekeys driven by bone rotations/positions (see https://www.youtube.com/watch?v=f3JWNIkwBZ8). This is probably the simplest way, but can be time consuming.
  • soft body or cloth on skin (possibly with collider objects underneath)
  • supporting soft body muscle meshes, using shrinkwrap to fit the skin too
  • extra bones using various constraints.

All of these methods tend to be very time consuming and fiddly to get good results with.

I agree that it would be great to see something like this in blender, however for the time being it is not likely.

  • $\begingroup$ I appreciate the help and, the clear and quick response. I see how the softbody systems seem like the best solution. Do you have a suggestion on a good workflow for using the softbody objects for muscle creation? I have a fair knowledge of anatomy, but simulating every muscle group seems like more than necessary. $\endgroup$ Feb 20 '17 at 6:38
  • $\begingroup$ @BlenderNoobStudyingHard unfortunately not, I've played with softbodies a little, but never had something that I was really satisfied with. I have seen others use softbody muscles for this sort of thing effectively though. There is this (paid) plugin (blendermarket.com/products/x-muscle-system) that may help, but I haven't used it myself. $\endgroup$
    – Sazerac
    Feb 20 '17 at 6:45

select the mesh, go to deformers and press on armature Preserve volume

  • $\begingroup$ that work for me of course if you wantt to combine the linear with the double quaternion yo need to use different armatures $\endgroup$
    – Roberto C
    Jan 25 '19 at 14:55

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.