Fix T92314: Auto naming of the Vertex Group doesn't work for Grease
Pencil Not naming the auto-generated vertexgroup after the selected bone was just confusing (since the group would not have an effect), so now use similar code that is used for meshes for greasepencil as well. Maniphest Tasks: T92314 Differential Revision: https://developer.blender.org/D12906
This commit is contained in:
parent
5a5788ace2
commit
2491bc5ec7
Notes:
blender-bot
2023-02-13 17:23:11 +01:00
Referenced by issue #88449: Blender LTS: Maintenance Task 2.93 Referenced by issue #88449, Blender LTS: Maintenance Task 2.93 Referenced by issue #92314, Auto naming of the Vertex Group doesn't work for Grease Pencil
|
@ -29,15 +29,18 @@
|
|||
|
||||
#include "BLT_translation.h"
|
||||
|
||||
#include "DNA_armature_types.h"
|
||||
#include "DNA_brush_types.h"
|
||||
#include "DNA_gpencil_types.h"
|
||||
|
||||
#include "BKE_action.h"
|
||||
#include "BKE_brush.h"
|
||||
#include "BKE_colortools.h"
|
||||
#include "BKE_context.h"
|
||||
#include "BKE_deform.h"
|
||||
#include "BKE_gpencil.h"
|
||||
#include "BKE_main.h"
|
||||
#include "BKE_modifier.h"
|
||||
#include "BKE_object_deform.h"
|
||||
#include "BKE_report.h"
|
||||
#include "DNA_meshdata_types.h"
|
||||
|
@ -246,7 +249,22 @@ static bool brush_draw_apply(tGP_BrushWeightpaintData *gso,
|
|||
/* need a vertex group */
|
||||
if (gso->vrgroup == -1) {
|
||||
if (gso->object) {
|
||||
BKE_object_defgroup_add(gso->object);
|
||||
Object *ob_armature = BKE_modifiers_is_deformed_by_armature(gso->object);
|
||||
if ((ob_armature != NULL)) {
|
||||
Bone *actbone = ((bArmature *)ob_armature->data)->act_bone;
|
||||
if (actbone != NULL) {
|
||||
bPoseChannel *pchan = BKE_pose_channel_find_name(ob_armature->pose, actbone->name);
|
||||
if (pchan != NULL) {
|
||||
bDeformGroup *dg = BKE_object_defgroup_find_name(gso->object, pchan->name);
|
||||
if (dg == NULL) {
|
||||
dg = BKE_object_defgroup_add_name(gso->object, pchan->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
BKE_object_defgroup_add(gso->object);
|
||||
}
|
||||
DEG_relations_tag_update(gso->bmain);
|
||||
gso->vrgroup = 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue