Weird Shape key result with armature

Hello… First post here, of mmany I hope.
I’m not completely new to Blender, but use it more and more (Modo user). Not ready to switch, aside of the great features there are too many things that I can’t get along with (drivers…)
Here’s a-something I’m struggling with… I have a ghost character, simple mesh with a shape key that allows it to spread as if hanging… I also created a very simple rig to slightly deform it in the base position… But as you can see the rig affects the shape key, I don’t understand why… BTW everything in that capture is at zero, locrotsacle etc… Anyone has an idea of how to fix it ?

Shapekeys act before armatures (before any modifiers). Armatures act on the position of the vertex that they’re given.

Let’s say you have a vertex at 1,0,0, weighted 1.0 to Bone at 0,0,0. What happens when you rotate Bone 90 degrees in the Z axis? Your vertex rotates to 0,1,0. (It’s a transformation matrix: it’s [1,0,0,1] * your bone’s transformation matrix: https://en.wikipedia.org/wiki/Rotation_matrix , https://en.wikipedia.org/wiki/Transformation_matrix)

Now lets say you have a shapekey that moves your vertex to 2,0,0.5. What happens when you rotate Bone? Your vertex moves to 0,2,0.5.

What happens if its equally weighted to Bone and Bone.001? Bone.001 doesn’t move. So what’s its position (without volume preservation)? Just the weighted average. 0.5,0.5,0 in the first case. 1, 1, 0.5 in the second.

(You can actually do the math on any particular vertex and see what it’s doing. I mean, it’s tedious. But it’s all pretty straightforward.)

In other words, shapekeys and bones interact.

Generally speaking, don’t try to use shapekeys and bones in conjunction with each other. Shapekeys in solidly weighted bits of mesh are okay though. That’s why you can have a facial morph that sticks its tongue out when you only have a head bone, but not when you have a (posed) tongue bone.

Hmm … that’s not my understanding of what shape keys/morphs are… they store different vertex positions in local space, nothing to do with normalized weighting… And they are used in complement to armatures quite often, for facial animation or corrective shapes… my suspicion is that in this case it has to do with vertex order errors…

Yes. You are correct. (In the first part of what you’re saying.)

They move vertices. Those vertices are then moved by bones. The way that they are moved depends on their positions before the armature. Which depends on what shapekeys have done to them.

But in my example the bones are in the rest position, so no displacement of vertices from there… the shape shouldn’t be affected.

If your bones are at rest, you’re right, there won’t be any effect from the armature.

But your bones may not be at rest. Even if they’re completely reset. Try disabling your constraints.

Ha! yes, the IK constraints were causing the issue… Many thanks for your patience helping me understand how all that works.