commit 8f103f422c7e646665fdaa5f5d47a8cae86166cc
Author: Dalai Felinto <dalai@blender.org>
Date: Wed Jun 29 17:06:52 2022 +0200
Fix density preview for scaled objects
diff --git a/source/blender/editors/sculpt_paint/curves_sculpt_ops.cc b/source/blender/editors/sculpt_paint/curves_sculpt_ops.cc
index dae605f0164..c8f31733fa4 100644
--- a/source/blender/editors/sculpt_paint/curves_sculpt_ops.cc
+++ b/source/blender/editors/sculpt_paint/curves_sculpt_ops.cc
@@ -1148,18 +1148,20 @@ static int min_distance_edit_invoke(bContext *C, wmOperator *op, const wmEvent *
return OPERATOR_CANCELLED;
}
+ const float3 hit_pos_su = ray_hit.co;
const float3 hit_normal_su = ray_hit.no;
const float4x4 curves_to_world_mat = curves_ob.obmat;
const float4x4 world_to_curves_mat = curves_to_world_mat.inverted();
const float4x4 surface_to_curves_mat = world_to_curves_mat * surface_to_world_mat;
const float4x4 surface_to_curves_normal_mat = surface_to_curves_mat.inverted().transposed();
+ const float3 hit_pos_cu = surface_to_curves_mat * hit_pos_su;
const float3 hit_normal_cu = math::normalize(surface_to_curves_normal_mat * hit_normal_su);
MinDistanceEditData *op_data = MEM_new<MinDistanceEditData>(__func__);
op_data->curves_to_world_mat = curves_to_world_mat;
op_data->normal_cu = hit_normal_cu;
- op_data->pos_cu = ray_hit.co;
+ op_data->pos_cu = hit_pos_cu;
op_data->initial_mouse = event->xy;
op_data->brush = BKE_paint_brush(&scene->toolsettings->curves_sculpt->paint);
op_data->initial_minimum_distance = op_data->brush->curves_sculpt_settings->minimum_distance;