[Bf-animsys] What is the "active" group in the Transfer weights tool ?

Campbell Barton ideasman42 at gmail.com
Thu Jul 4 20:56:25 CEST 2013

On Fri, Jul 5, 2013 at 12:28 AM, Gaia <gaia.clary at machinimatrix.org> wrote:
> Hi;
> while writing the documentation for the Weight Paint tools i found
> that the Transfer weights tool has a bit unclear specification:
> In the parameter Section we can choose to transfer either
> the "Active Group" or "All Groups". But it is not clear what
> "Active Group" is here.
> For example look at this case:
> - I have a rigged character with no weight groups
> - I have an Armature in Pose mode assigned to my character
> - I have 3 source meshes from which i want to copy the weights
> - Each of the source meshes has a different active vgroup.
> - I have selected one of the armature pose bones as active bone.
> When i now select the 3 source meshes and my character,
> and then call the transfer Weights tool, by default i end up with
> 3 vertex groups corresponding to the 3 active groups of the source
> meshes. Furthermore my active weight group is set to the last of
> the 3 weight groups. And the active bone also remains active.
> Is that the intended behavior?
> Here is my expectation what should happen in the above case:
> 1.) I have selected an active bone, hence
> i expect the active vgroup is the bone's deform group.
> 2.) Hence the weight transfer tool should
>      transfer the weights for the active bone weight group
> 3.) When the tool is finished i expect that the active
>      group has been copied from the other meshes (if it exists
>      there) and the active vgroup matches the active bone
>      and is visible in weight paint mode.
> ====
> In a nutshell i expect:
> If object has active deform group set, that's it.
> else if object has an active pose bone set, that's it,
> else object has no active group, neither before nor
> after the weight transfer.
> ====
> Now tell me if i am right or if the current behavior is
> what blender users want to have :)
> thanks,
> Gaia

Hi, This is a bit of a muddle and ideally we would be finding and
fixing this stuff, not right-before-release :S...

Having the active group follow pose bones is a nice convention but its
not followed strictly with existing tools (you can purposefully get
them out of sync if you want).

So I think you might be over-complicating the problem by thinking
about weightpaint+posemode at all.

Suggest it works like this:
- Meshes objects with an active vertex group, don't change.
- Meshes starting no active groups have the first vertex group become active.


This way If you update an existing mesh, you don't have blender try
guess what you want,
and if you update a mesh that has no vgroups --- it just gives you
some predictable default.
- Easy for users and dev's to follow.

There is the chance you have weightpaint+posemode AND run
weight-transfer AND the pose bone you had selected happened to be
apart of a group that didn't exist yet before weight-transfer, but
think this case its acceptable to still keep whatever group was

More information about the Bf-animsys mailing list