3
$\begingroup$

I've got a model with driven Shape keys, many of which are restricted by vertex group blend (mostly left and right). They're modelled mirrored, duplicated and bound to vertex group.

enter image description here

Inside Blender it works fine, but borks out during export.

I'd like to "apply" the vertex group blend effect, so the final shape key is just data that is actually transformed.

Yes, I could manually make a "new shape from mix" for every key one by one, but they're already driven and it'd be extreme pain, as I have many models like this.

Hope there is an easier solution for this.

$\endgroup$

2 Answers 2

3
$\begingroup$

There is a way! though done somewhat in reverse.

IN Edit Mode select all the vertex that you don't want to be effected by the shape keys. press the W key (or vertex menu) and select Propagate to All Shapes.

Essentially what you are doing is, assuming the vertex group you want to apply to all the shape keys is the same vertex group, you can essentially take the inverse of that vertex group and apply it's vertex shapes to all the shape keys. If you do need to use a different vertex group for each shape key, unfortunately this won't be as helpful.

$\endgroup$
2
  • $\begingroup$ informacion que cura, thank you $\endgroup$
    – Anity Ex
    Commented Apr 4, 2022 at 21:09
  • $\begingroup$ If you need to use a different vertex group for each shape key, duplicate the mesh using Shift+D, edit the shape keys, and then transfer the ones you need back to the original mesh. $\endgroup$
    – rint
    Commented Jun 3 at 6:12
1
$\begingroup$

Yes there is a way. Blender sort of has its own built in thing to handle this thing. The solution is similar to this: Shape keys and applying subdivision surface modifier

However because we are dealing with the mirror modifier it becomes trickier. I assume you want to export it because you are using it for your game or something (me too). But what you do is the following:

1.) Duplicate your mesh for each shape key (including basis), you can move the clones around to see them all at once

2.) For each shape key, set each shape key slider to 1 (just leave the basis one alone)

3.) For each shape key mesh, make sure your mirror modifier is not creating or destroying vertices. So make sure vertices are not colliding with the middle of the mirror when at full 1.0 because it would change the number of vertices and break this method. They can collide halfway but because we are going to be baking deformations at 1.0 that won't matter. The vertices in a shape key are allowed to go to the other side of the mirror modifier.

3.) For each shape key mesh do Convert To -> Mesh from Curve. This "bakes" out your model with the current deformations which of course takes into account your vertex blends, mirror, and subdivision if you are using it.

4.) Select all of your baked out shape key meshes with your basis as your last.

5.) Go to the basis mesh shape key panel and go "+" button -> Join As Shapes

6.) Voila. All of your shape keys should condense as their own respective sliders into your basis mesh. If one of them is missing it would be because they differ in vertex count meaning they collided or disconnected itself from the middle of the mirror modifier. Go back and fix it. You can just inspect each meshe and check at the top right details menu where it says how many vertices you have selected. Make sure they are all the same number.

enter image description here

The important thing is to preserve the exact number of vertices for each shape key deformed mesh. So I assume it would also work for other types of modifiers.

$\endgroup$
1
  • $\begingroup$ That's an interesting method, but it isn't quite what I asked for. There's no mirror modifier, just a symmetrical shape key, then restricted to Left or Right side. If I was up for manual work, I could do it simpler by using the "New key from mix" option, just setting sliders one by one to 1, then making new key that would include only half of the movement. The whole point was to find a method that will automatically do that for me. Thank you for trying though! $\endgroup$
    – Ozonek
    Commented Apr 9, 2018 at 20:15

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .