How do I transfer shape keys?


(Piotr Adamowicz) #1

So let’s say I have a nude character model with bone weights and shape keys (for slim/fat characters). Let’s say it’s for a game.

The weights are mostly trivial to transfer. But how do I transfer the shape keys from the body to any clothes?

Is there any valid reason shape keys are not simply part of the Data Transfer operator? I mean, a shape key is nothing but simple per-vertex vector displacement. If one value (as in vertex weights) can be projected, then so can three to get a displacement vector.

I have just discovered this today, to my horror, because I need this right now and always just assumed it was there. That will teach me… But still, what the actual fuck?! Why is this missing!

Or am I just missing something? (Please tell me I’m missing something…)


(Piotr Adamowicz) #2

Hey, it appears I’m not actually crazy. This is the reason I assumed it was there:

I remember trying out those patches way back in 2013 and clearly they worked.

So again, WTF?


(xrg) #3

There is a transfer shape key option in the little down arrow menu, but I’m not sure if it does exactly what you’re trying to do or not. I don’t mess with shape keys much.


(Piotr Adamowicz) #4

That operator just straight up copies the shapekey data. It only works on meshes with the same vertex count and order.


(xrg) #5

Ah bummer. Like I said I don’t mess with that stuff much. Sorry it wasn’t useful.


(stilltrying) #6

You might be able to use a hack I use once in a while. Don’t know how many shape keys you have or if you have used them for bone corrections etc. But, here is how I have done that with clothing before. I make vertex groups of the mesh that I want to deform for each shape key. (just the shape key part by guess.) Then I apply a shrink wrap modifier on just that group to the base. Apply the modifier as shape key. Adjust as needed. Sometimes this may take as much time as just creating new ones, sometimes it doesn’t. Depends of your mesh.


#7

since long ago I’ve been making use of the ‘Lichtwerk Mesh Transfer’ addon by Philipp Oeser, which gives good results and never crashes ;).


I don’t know how effectively it can transfer shapes on clothes (it works by space proximity and you can choose the number of vertices to interpolate from), but overall it works much better than the alike internal functions, so it worths a try anyway.

paolo


(Piotr Adamowicz) #8

Hey, you saved my skin here! It works!

Thanks a lot! :smiley:


#9

glad to have been helpful

I’m personally very grateful to Philipp Oeser for his great addon.
paolo


(zanzio) #10

I used the search menu and I was able to find this missing transfer shapekey feature:

It is in blender right now. It just seems that no one added it to the data transfer menu. My guess is that this was going to be put somewhere appropriate, but it was lost in the shuffle and no one complained about it. lol, and to think not too long ago, I told someone on this forum that all the tools are currently found on menus.

You should mention this on the devtalk forum. This should be added under Object > Transfer Mesh Data > Vertex Data.


(Piotr Adamowicz) #11

This has been mentioned several posts up. Unlike the mesh data transfer tool, this operator works by doing a straight data copy and only works on meshes with the same topology and vertex order. It’s not useful in this case.


(zanzio) #12

Ah I see. My mistake.


(Minju Du) #13

Could you share step by step on how you do the transfer from body to clothes using Lichtwerk mesh transfer addon? I try to do the same thing, but nothing happens.