commit 8f103f422c7e646665fdaa5f5d47a8cae86166cc Author: Dalai Felinto 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(__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;