Tuesday, 2 August 2016

Weight Transfer Utility Settings for Blender v2.77a

In a previous tutorial post I went into considerable depth about Blender's weight transfer utility. That post was written under Blender 2.76 when that particular function in Blender was under revision in the code base and was subsequently changed somewhat under Blender 2.77 (currently Blender 2.77a at the time of this writing).

Here are my new recommendations:


As a reminder, the "quick steps" for weight transfer are as follows:
  • In Object Mode, select the object that will be acting as the source of your weights. This will either be your base avatar model or a piece of clothing that you have already weighted to fit and move perfectly.
  • Hold down the shift key and now select your target object -- the one you want to transfer your source's weights to. This should now display in the 3D View as having both items selected, with the target having a bright orange outline to indicate it's the primary active object of the selection (your source object will have a somewhat duller, redder outline).
  • Switch into Weight Paint Mode and your target object should be the one you see. It will be completely black if you use my recommended option setting to have "Show Zero Weights" set to "Active" (otherwise it should be a dark blue).
  • On the Toolshelf, in the Tools tab, click the Transfer Weights button
  • Immediately after doing so and before doing anything else at all  look at the most recent action settings area and you'll see the "Transfer Mesh Data" options shown in the above image.
Remember that as soon as you take any action you'll lose the ability to change those settings and would have to re-do the transfer.

The data we want to transfer is Vertex Group data, and we want to be creating new data. The "Vertex Map" option is the critical one in terms of how Blender goes about calculating the weights for the new mesh. In the vast majority of cases you will want to use Nearest Face Interpolated since it will typically give you the best starting point for this type of application. It will rarely be perfect, but generally requires a lot less tweaking afterwards than the other methods do. You can refer to the Blender Wiki for details of what each of the methods are and how they go about calculating the resulting data -- they were the same under 2.76.

The part that changed between 2.76 and 2.77 is the options needed for the Source Layer and Destination layer. Under 2.76 they were a bit bugged and confusing whereas now under 2.77 they've been cleaned up and make a lot more sense.

Your Source Layer setting needs to be By Name for a full mesh weight transfer, and your Destination Layer needs to be set to All Layers. Mix mode remains the same and should be set to "Replace" so it overwrites any existing weight group data in the target mesh.

I then strongly recommend following the transfer up with a "Normalize All" and a "Clean" as per my previous tutorial's suggestions.

Happy weighting!