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

Campbell Barton ideasman42 at gmail.com
Thu Jul 4 21:49:35 CEST 2013


On Fri, Jul 5, 2013 at 4:56 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> 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.

Hi Gaia, you spotted fairly bad problem with active group selection!

Changed weight transfer no so it now...
- uses the active group from the active object when active options
enabled. (not active from other-source-object).
- keeps existing active group active as mentioned in my previous mail.

-- 
- Campbell



More information about the Bf-animsys mailing list