[Fat to slim] same rigging, is there a way ?

Hello everyone !I am looking for morphing expert in Blender.

I am searching any blender tutorial/thread on how to morph a same mesh
from fat to slim and animated it in each state.

for example my character is running and getting thinner and thinner. I have found
many tutorial on shape key and driven key but they are always focus on facial
and not morphing a whole body.

I tried by scaling bones but I am losing accuracy to animate.
So what is the best way ?

thanks for your help !

It does not look to me that you have enough vertices in your mesh to deform it properly, I really need to see the mesh in Wireframe or wireframe + shade to see. Also I cannot see if the bones are always inside the mesh. I can see that your skeleton does not have hips or shoulders. These will cause you problems I think you have inverted normals on your mesh (some of the faces are inside out I think.) You should post the blend file for us to examine - I can see a lot that looks wrong, but I need to see it. also how are you scaling the bones, are you using the keys S SHIFT+Y so the bones only scale in X and Z? Do you have any unapplied rotations or scales on the object (including the Armature in Object mode)? Do your objects (armature and mesh) share a common origin? If so these will also cause you problems.

So many questions…

Post your blend file to pasteall.org in the blends section then post the link here. Once you have 10 meaningful posts you will come off moderation and you can post blend files here.

Cheers, Clock.

Thanks you ClockMender for your answer

here is my blendfile with some anim I made.

You are right for the inverted normal.
For the scaling bones (scale it on X and Z), it was an example to explain what I am trying to achieve.

I am looking for a way to move bones. So I can have a rig that adapt for a slim man and fat man with the same rig and mesh.

thanks you

Sorry, just seen your reply…

I think you should concentrate on a basic biped rig to start with, then post that here and I can advise further. Once you have hip and shoulder bones in place you can think about scaling these to move the legs and arms outwards. Also think about having a “root” bone between the feet on the ground with the major bones like spine and IK targets parented to it, you can then just scale this bone to scale all the rest of your character.

Cheers, Clock.

To begin with, in playing with this sort of thing, I’ve gotten good results by shutting off inherit scale, and setting constraints on children to copy scale of their parents. This way axis scaling the parent effects the children on their own axis’ rather than distorting relative to the parent.

EDIT: set the copy scale constraint to offset so the effect can be tweaked anywhere in the chain.

For the kind of morph you illustrate I would likely use shape keys (yes, they can affect the entire body, not just the face :wink: ). That way your animation is consistent throughout the sequence and only the mesh shape changes. I would start by modeling the Thin version, then create a shape key called Fat, then use the Shrink/Fatten tool (Alt+S) to remodel the plumper version. I would likely use Sculpt in there as well (Inflate is similar to Shrink/Fatten). This gives you excellent control over the result without worrying about bone relationships, and would be extremely easy to animate.

BTW, getting fatter does not relocate your bones in real life, so why move them for the animation?

Hello again and thanks for your supports, it helps me.

– I am starting with the fat one, he will be a lot taller on the camera and so the uv should be perfect on this one.
– From my design if I don 't move the legs and arms while making him fatter the design is not right (see image)

the only way I found for now is to move/scale bones myself and animate fatman in both states but this is not really clean and its time consuming.

here is the skin of my player

Not sure exactly which of the above images is your Thin goal (the Fat one is obvious), but in any case it seems the changes in the rig are simply to increase/decrease the distance between shoulder and hip/thigh joints. This will work with a single control by using a Transformation constraint on the Shoulder & Thigh bones. The same control could also be used as a driver to shift from one Shape Key to the next. As the control is activated incrementally (i.e., with an animation curve), the bones shift position and the “thinner” shape key is gradually enabled fully. The main animation curves will not need to be fussed with.

Looking at your file, creating a shape key that differentially alters the different body parts is straightforward. The torso can slim down differently than the arms & legs, using a simple Scale transform. Shifting the bones using the control will also draw the extremities into place pretty much automatically so that the arms & legs will need only a little editing for the Thinner shape, again, using Shrink/Fatten, which can be applied to only selected portions of the mesh.

Is it an easy, simple and no-work solution? Nope. But those do not exist anyway.

BTW, why is everything triangulated? That makes editing a lot more time consuming. Maybe better to triangulate after all the mesh editing is done.

Minor correction: The Leg Control.Location will need to be edited during the slimming process due to the IK constraints but that’s a very simple shift on one axis that can be done in the Graph Editor. It could also be driven but it’s simpler and gives more control just to edit the curve manually.

PS. Much of the above can be avoided by simply keyframing the bone shifts & Shape Key shift manually, a matter of setting a few keys. Automation is always more complicated to set up.