Armature "stretched" after applying scale

I have downlaoded a model with a rig, but when I want to apply the scale to the armature, it is acting really weird:

  ![/uploads/default/original/4X/1/a/b/1ab510e0f3b682fef3f2c8f3d92bda9034515d03.pngstc=1](/uploads/default/original/4X/1/a/b/1ab510e0f3b682fef3f2c8f3d92bda9034515d03.pngstc=1)

Attachments


Canā€™t tell without a .blend file to look at, but itā€™s probably stretch to constraints that need to be reset.

1 Like

Sorry, here it is: http://www.pasteall.org/blend/42045

How could I reset the constraint?

Apply the scale to the mesh before parenting. Currently itā€™s scale value is .114. Select the mesh in object mode, CTRL A, Apply Scale.

You can then parent the mesh to the rig by selecting the mesh, Shift select the rig, CTRL P, Automatic weights.

Good luck!

For some reason your file opens up as MY default startup file. Not sure whatā€™s up with that.

Iā€™m confident this will fix your problem.

  1. Select your rig.
  2. Open a text editor window.
  3. Paste in this script.
import bpy
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode='POSE')
for b in obj.pose.bones :
    for c in b.constraints :
        if c.type == 'STRETCH_TO' :
            c.rest_length = 0

  1. Push the ā€˜Run Scriptā€™ button.
1 Like

Oopsā€¦missed a stepā€¦
2.5 Press the new button to add a new text data block.

Duplicate post. Silly phoneā€¦

Stretch To is not the issue, Skip. He needs to apply the scale of the mesh before parenting to the rig.

Why do the arms and legs get blown out and not the head? Why did applying the scale to the armature start the problem? I wish I could see his file. My system acts like itā€™s empty. :confused:

1 Like

I tried unparenting, then scaling and parenting again, but then the rig doesnt work anymore. The mesh wont follow the rig.

It works fine in my file. I did exactly as written after opening the file you linked. Maybe I am misunderstanding your question or problem? Scale values of 1.00 are default or unscaled. You should not need to apply the scale on the armature, only the mesh.

Do you simply want the character to be larger/smaller in the scene? If that is the case forget everthing Skip and I said above. Select the rig in the original file, enter pose mode, select the root bone and scale it to the desired size. Iā€™m trying to figure out what you are trying to accomplish by scaling the rig in object mode.

I apologize. This worked exactly as I wrote it when I did these steps this morning. However, I have the same issue as Jumping Mammoth when I checked the file this afternoon. Gah!

No matter. I have a solution.

Edit: Never Mind. Iā€™ve found yet another bug*

In the original file that you linked, (make sure it has not been tampered with) select the armature in Pose mode, Scale the Root bone (only) to make the character whatever size you where after.

Next Enter Object mode. With the armature selected, CTRL A, Apply Scale.

Next select the mesh (character body) in Object mode. Alt-P, Clear Parent Keep Transform. Next CTRL-A, Apply Scale. Then, with the mesh still selected, shift select the armature, CTRL P, Armature Deform.

That should do it.

I did this three times on my machine to make sure the steps where correct. Worked all three times for me.

End Edit:This will not work

None of this is really necessary as that is what the root bone is for, scaling the whole rig to the size you need the character in your scene.

Good luck!

P.S. Skip, you where on to something with the stretch toā€™s. Unfortunately the IKā€™s were also breaking. It must have something to do with the Rigify Code. Iā€™ve never encountered this on a home made rig.

P.S.S With yet more testingā€¦Resetting the Stretch To constraints worked after applying the scale. The IK ā€œbugā€ seams to be only visual. (Big black lines skipping all over the place.) Stillā€¦Not sure why the OP needs to scale the armature and apply that scale when that is the job of the root bone.

The problem with scaling the root bone is, itā€™s not the rest pose. You canā€™t clear transforms on the rig without having to reset the root scale(could stick a driver on it to lock it in, but thatā€™s a kludge) Either way the lesson is, if youā€™re using rigify generate the rig at the size you want it to be. :wink:

Yes, this can be an issue. Rather then using a driver, I have used an action constraint in the past to create a different rest pose or scale for the character. Also, Iā€™ve done some experiments to create a multi-character rig (Much like the FlexRig By Nathan Vegdahl and CGCookie) also using action constraints. By controlling the action constraints with a custom property, it works like a feature of the rig, rather then a hack.

Anyways, I learned something new about Rigify today. Learning something new is always a good thing.

Good luck!