[Bf-blender-cvs] [32822189837] master: Sculpt: clamp normal to plane w/ projected falloff

Campbell Barton noreply at git.blender.org
Fri Oct 6 08:40:25 CEST 2017


Commit: 3282218983762197f8c4dfe478d357f6cfa20e4a
Author: Campbell Barton
Date:   Fri Oct 6 17:38:56 2017 +1100
Branches: master
https://developer.blender.org/rB3282218983762197f8c4dfe478d357f6cfa20e4a

Sculpt: clamp normal to plane w/ projected falloff

Allows for editing outlines w/o pushing geometry towards/away from
the view.

===================================================================

M	source/blender/editors/sculpt_paint/sculpt.c

===================================================================

diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 64eff7186d9..202acd32579 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -1362,6 +1362,10 @@ static void update_sculpt_normal(Sculpt *sd, Object *ob,
 	    (cache->first_time || !(brush->flag & BRUSH_ORIGINAL_NORMAL)))
 	{
 		calc_sculpt_normal(sd, ob, nodes, totnode, cache->sculpt_normal);
+		if (brush->falloff_shape == PAINT_FALLOFF_SHAPE_TUBE) {
+			project_plane_v3_v3v3(cache->sculpt_normal, cache->sculpt_normal, cache->view_normal);
+			normalize_v3(cache->sculpt_normal);
+		}
 		copy_v3_v3(cache->sculpt_normal_symm, cache->sculpt_normal);
 	}
 	else {
@@ -2690,6 +2694,10 @@ static void calc_sculpt_plane(
 
 			case SCULPT_DISP_DIR_AREA:
 				calc_area_normal_and_center(sd, ob, nodes, totnode, r_area_no, r_area_co);
+				if (brush->falloff_shape == PAINT_FALLOFF_SHAPE_TUBE) {
+					project_plane_v3_v3v3(r_area_no, r_area_no, ss->cache->view_normal);
+					normalize_v3(r_area_no);
+				}
 				break;
 
 			default:



More information about the Bf-blender-cvs mailing list