W for Weight Radius conflicts with BFA defaults in Weight Paint Mode

Draise's picture
Project: 
Bforartists Tracker

After trying to solve the R for Radius and finding a conflict in Weight Paint Mode,  I also found another conflict between BFA defaults: W for Radial Control and W for translate.translate bone. Right now BFA hotkey priority is transform making the W radial control not work - causing the conflict.
 

kmi = km.keymap_items.new('wm.radial_control', 'W', 'PRESS') #conflict with BFA default W for transform
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.weight_paint.brush.weight')
kmi_props_setattr(kmi.properties, 'data_path_secondary', 'tool_settings.unified_paint_settings.weight')
kmi_props_setattr(kmi.properties, 'use_secondary', 'tool_settings.unified_paint_settings.use_unified_weight')
kmi_props_setattr(kmi.properties, 'rotation_path', 'tool_settings.weight_paint.brush.texture_slot.angle')
kmi_props_setattr(kmi.properties, 'color_path', 'tool_settings.weight_paint.brush.cursor_color_add')
kmi_props_setattr(kmi.properties, 'fill_color_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_test_path', '')
kmi_props_setattr(kmi.properties, 'zoom_path', '')
kmi_props_setattr(kmi.properties, 'image_id', 'tool_settings.weight_paint.brush')
kmi_props_setattr(kmi.properties, 'secondary_tex', False)

The use of WER for weight painting has it's uses, but the Pose Mode also has the same function. It's a double workflow system, and exists for the purpose of posing an armature while weight painting. BUT in difference, to select bones you press CTRL+Lclick as BFA default - shouldn't the WER manipulation be similar using a modifier freeing up WER for the other potential weight painting priorities? 

Solutions:
1. Should I just move the W Radius control elsewhere and change BFA defaults conflict? 
2. Should I try put modifiers to WER for the secondary bone posing in Weight Paint mode? (may require removing WER from 3DView global and adding WER individually to all 3DView subgroups to add modifiers, but this would/could fix two or three cascading hotkey conflicts)

Just want a consensus before making the fix. 

Status: 
Closed (fixed)
Priority: 
Minor
Category: 
Bug report
Component: 
User interface
Assigned: 
Reporter: 
Created: 
Mon, 03/05/2018 - 18:04
Updated: 
Tue, 03/06/2018 - 16:25

Comments

12
Draise's picture

Title: W for wm.radial_control conflicts with BFA defaults BFA in Weight Paint Mode » W for wm.radial_control conflicts with BFA defaults in Weight Paint Mode
Reiner's picture

Radius is pencil radius, isn't it?

As told in the other thread, R is good, but Alt + R would be better for appwide radius scaling. Given that we don't have hotkey conflicts here .... I-m so happy

Draise's picture

There are three types of radius here:

kmi = km.keymap_items.new('wm.radial_control', 'R', 'PRESS') #changed to R from F - Draise
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.weight_paint.brush.size')
kmi_props_setattr(kmi.properties, 'data_path_secondary', 'tool_settings.unified_paint_settings.size')
kmi_props_setattr(kmi.properties, 'use_secondary', 'tool_settings.unified_paint_settings.use_unified_size')
kmi_props_setattr(kmi.properties, 'rotation_path', 'tool_settings.weight_paint.brush.texture_slot.angle')
kmi_props_setattr(kmi.properties, 'color_path', 'tool_settings.weight_paint.brush.cursor_color_add')
kmi_props_setattr(kmi.properties, 'fill_color_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_test_path', '')
kmi_props_setattr(kmi.properties, 'zoom_path', '')
kmi_props_setattr(kmi.properties, 'image_id', 'tool_settings.weight_paint.brush')
kmi_props_setattr(kmi.properties, 'secondary_tex', False)
kmi = km.keymap_items.new('wm.radial_control', 'R', 'PRESS', shift=True) #changed to R from F, - Draise
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.weight_paint.brush.strength')
kmi_props_setattr(kmi.properties, 'data_path_secondary', 'tool_settings.unified_paint_settings.strength')
kmi_props_setattr(kmi.properties, 'use_secondary', 'tool_settings.unified_paint_settings.use_unified_strength')
kmi_props_setattr(kmi.properties, 'rotation_path', 'tool_settings.weight_paint.brush.texture_slot.angle')
kmi_props_setattr(kmi.properties, 'color_path', 'tool_settings.weight_paint.brush.cursor_color_add')
kmi_props_setattr(kmi.properties, 'fill_color_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_test_path', '')
kmi_props_setattr(kmi.properties, 'zoom_path', '')
kmi_props_setattr(kmi.properties, 'image_id', 'tool_settings.weight_paint.brush')
kmi_props_setattr(kmi.properties, 'secondary_tex', False)
kmi = km.keymap_items.new('wm.radial_control', 'W', 'PRESS') #conflict with BFA default W for transform
kmi_props_setattr(kmi.properties, 'data_path_primary', 'tool_settings.weight_paint.brush.weight')
kmi_props_setattr(kmi.properties, 'data_path_secondary', 'tool_settings.unified_paint_settings.weight')
kmi_props_setattr(kmi.properties, 'use_secondary', 'tool_settings.unified_paint_settings.use_unified_weight')
kmi_props_setattr(kmi.properties, 'rotation_path', 'tool_settings.weight_paint.brush.texture_slot.angle')
kmi_props_setattr(kmi.properties, 'color_path', 'tool_settings.weight_paint.brush.cursor_color_add')
kmi_props_setattr(kmi.properties, 'fill_color_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_path', '')
kmi_props_setattr(kmi.properties, 'fill_color_override_test_path', '')
kmi_props_setattr(kmi.properties, 'zoom_path', '')
kmi_props_setattr(kmi.properties, 'image_id', 'tool_settings.weight_paint.brush')
kmi_props_setattr(kmi.properties, 'secondary_tex', False)

Two are with the radius hotkey, this third is different..the three radius types are Size, Strength and Weight.

Pencil Radius hotkey for Radius
W for Weight Radius

Maybe move it to the same and make it another modifier.

But if the issue is not reproduceable, maybe it's not an issue but my setup. I will upload a test scene and video. 

TROUBLESHOOT:
When a skin is made a child of Armature, you have both the armature and mesh selected, with mesh as active, armature as selected - because it's a child.

1. Go to Pose mode
2. Select bone
3. Go to Object Mode
4. Select Skin Mesh
5. Go to Weight Paint mode
6. Try change Weight Radius with W key
7. You will start moving the bones (as if in Pose Mode) in the Weight Paint mode

OR

1. In Object Mode, select Skin Mesh
2. Go to Weight Paint mode
3. CTRL+Lclick to select a bone
2. repeat steps 6 and 7.
 

Draise's picture

Title: W for wm.radial_control conflicts with BFA defaults in Weight Paint Mode » W for Weight Radius conflicts with BFA defaults in Weight Paint Mode
Draise's picture

Video Showcase:

Draise's picture

Going to assign you to troubleshoot the feature Reiner, see if it's an issue or if it's just my end before working on a fix. Then I'll assign it to self again.

Draise's picture

Assigned: Unassigned » Reiner
Reiner's picture

Ah, now i see what you mean. Indeed. We need to remap the weight radius here.

Possible solution would be a F key combo, since it contains already the pencil radius functionality. Needs check for possible conflicts.

Reiner's picture

Fixed in master

https://github.com/Bforartists/Bforartists/commit/e4419423d4a5d33b49fc41...

Mapped the key from W to ctrl + F. This is also more consinstent now. Now all three stroke sliders are connected with the F key.

Image: 
Reiner's picture

Assigned: Reiner » Draise
Status: Active » Needs work
Reiner's picture

Draise, i have assigned it to you, so that you can fix the key in the full keymap.

Draise's picture

Status: Needs work » Closed (fixed)