[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
active.



More information about the Bf-animsys mailing list