Armature and blendshape

Hello, I’m doing a blendshape that shrinks a character and I need to shrink the armature too.

How can I do it?


Why don’t you simple scale down the armature in object mode? :slight_smile:

Mmm, because I need it to be a blendshape. I mean, I need it to be of normal size and gradually can change size to a smaller one.

How you gonna achieve this effect? If you scale down your mesh armature will stay unscaled and deformations will be screwed, and if you then scale down armature your mesh will be scaled down too. Maybe there is other solution but i don’t know.

There must be some way to scale the armature and the mesh at the same time during a blendshape. I need this because I’m trying to use a blendshape in Unity, it’s a blendshape that shrinks the model. But when I run an animation and use the blendshape this happens because the bones (the armature) is not scaled:

That’s why I need a way to apply blendshape on the mesh and the armature at the same time. Maybe with this new information you can think of another solution. :slightly_smiling_face:

just do a blendshape that deforms the character but doesn’t scale it down or deform its proportions. For those scale bones in the armature.

Try to unparent mesh from armature, but leave armature modifier on mesh. Then scale down your mesh, and armature (object mode). Make sure you scaling down both mesh and armature object on same amount of units. This could work.

I don’t know how to do that. Can you explain it in more detail, please?

Should I scale it in Object Mode? As far as I know, I can only scale or modify them in Edit Mode.

I know how to do that. :slightly_smiling_face:

But I need a blendshape that makes the character smaller, inevitably I need to deform the model. :confused:

Ok. Select your mesh in object mode and press alt+p = clear parent. Then add armature modifier and choose your armature in drop down menu in armature modifier. This way your mesh will be deformed by armature bones in pose mode. But as long as your mesh isn’t child of armature object you can scale down your mesh and your armature indepenedly and still able to animate your mesh with armature bones in pose mode. All you need is scale down your mesh (in object mode or edit mode) and scale down armature (in object mode) matching size of armature with your mesh size. Select armature go to object mode, press ‘s’ and drag your mouse to scale it down. :slight_smile:

1 Like

Thank you very much for the help you are giving me. :slight_smile:

I’ve done what you’ve written but don’t get the desired effect. This serves for the mesh to follow the bones, but I need the bones to follow the mesh using a blendshape.

I mean, what I need is that bones follow the mesh when I make a blendshape. Look at the two images of the first post. What I want is a blendshape that shrinks the mesh and the bones have to follow that movement, also shrinking. A blendshape for mesh and bones at the same time (or something similar).

I don’t know if I’m explaining well. :confused:

In blender you can use one driver to scale both - mesh (shapekey or object scale) and armature object. It will give you synchronized scaling armature and mesh at same time using only one control (driver) you can set up driver controlled by object property or bone transformation. How to do this in Unity i have no idea sorry. Hope you will find the way. :slight_smile:

1 Like

If you know how I can do it in blender, tell me and I’ll do the test. It is possible that the driver can be exported to Unity when exporting the .fbx. :smiley:

Use shapekey to scale your mesh and set up driver for this shapekey. Do this for armature object too.
You can set up your drivers controlled by bone movement, or use object property to control drivers. There are many ways:

1 Like

But how can I add shape keys in the armature object? I do not have that option. Look:

You can’t add shapekeys to armature. There is no way shapekey to control armature. Instead use driver. Manage your shapekey driver and armature driver with one control - property or single bone transformation.

1 Like

Ah, ok, I asked that because you said this:

and I thought that, somehow I didn’t know, I could apply shape key to the bones. :sweat_smile:

Ok, I made the video tutorial of that video but it is to modify the bones and with that activate the blendshape. I mean, modifying the value of the shape key directly from the mesh doesn’t work, does nothing, when the driver is activated; only the shape key can be activated when the bone (or bones) associated with the driver moves. Or maybe I’m doing something wrong.

The thing is that I need the shapekey / blendshape to modify both, the mesh and the bones, because in Unity is where I access it and I can modify it. And the drivers (at least the tutorial that you’ve shared and others I’ve seen on youtube) are activated when the bones move, not when the shape key is modified. :expressionless:

In another forum they recommended me to use keyshapes but they didn’t respond when I asked for more information about them, could that work? I don’t know how they work.


making your rig scalable would solve the problem wouldn’t it ? It’s not so difficult in Blender.

How can I do that?

There’s no specific steps to follow, but if your bone hierarchy makes sense it should almost automatically work. Decide of one specific bone from which you’re going to scale the rig, try it, and if something doesn’t follow along, try adding a copy scale constraint on it (with the root/scaling bone as target).

1 Like

Oh, ok, I know what you say. It is a good solution if I only want to shrink the model, but shrinking the model was just an example to find a solution to what I need.

I need that the bones follow any deformation in the mesh using a key shape.