3
$\begingroup$

I'm trying to make shape keys for a mesh. I had them set so that there were negative values (less than 0 for min range) and positive values greater than 1 (greater than one for max range). For example. I have a shape key that shears a face backwards by -3, or forwards by 2. Is there a way to map the -3 shape key position to 0, and the 2 shape key position to 1?

Thanks.

$\endgroup$
2
  • 2
    $\begingroup$ You can change the 2 to 1 by editing the keyed mesh. To change -3 to 0, you will have to edit the base mesh, which might cause other shape keys to distort. I would recommend using a custom property to drive the shape key value. You can map the driver value from [0,1] to [-3,2] either using F-curves or python expression $\endgroup$ May 9 at 3:14
  • 2
    $\begingroup$ blender.stackexchange.com/q/261433/90505 $\endgroup$ May 9 at 3:16

2 Answers 2

2
$\begingroup$

How to Remap Two Shape Keys to a Range of 0 to 1

You can duplicate your object and make sure each of your two objects has the shape key value you want. The first is to be your 0 position, and the duplicate is to be your 1 position.

The following steps include destructive edits. Saving your .blend file before proceeding is advised.

For each object, from the Shape Keys menu's V-shaped drop-down button, select New Shape From Mix. This will result in a new shape key being generated. Delete all other shape keys for the object except this newly created one. Then lastly, delete this one too, so that there are no more shape keys.

Select your duplicated object, then shift-select your original object.

From that same drop-down button, choose Join as Shapes

Note that in order for Join as Shapes to work, the two objects must have matching vertex indices. This means you cannot add or remove vertices before joining. Only the vertex positions should be altered.

Your original object will now have both a Basis shape key and a shape key named after the duplicate object. (You can double-click a shape key's name to rename it if you wish.) Dragging the Value slider for the duplicate object to 1 will bring it to the other shape you want.

In this way, you will end up with a range of deformation that encompasses a "negative" shape, a "positive" shape, and a neutral shape somewhere in between.

The animation above illustrates a transition between a negative position and positive position. In this case, the neutral position is precisely in the middle at 0.5 on the Value slider.

For more about Shape Keys, see the Blender Manual.

$\endgroup$
0
$\begingroup$

I found out a way to do this:

  1. Make sure all other shape keys are set to 0.
  2. Select entire mesh, and Basis shape key, and do Vertex>Blend From Shape>[Insert name of shape key you want to fix here], and set the Blend to the minimum value. Make sure "Add" is checked.
  3. Make sure all other shape keys are set to 0.
  4. Set the shape key you want to fix to it's max value, then under the arrow dropdown, choose New Shape From Mix.

Thanks for the other answers! I did not see these until now when I have found this solution.

$\endgroup$

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.