Page MenuHome

Sculpt: Line Project Gesture tool

Authored by Pablo Dobarro (pablodp606) on Sat, Sep 26, 11:06 PM.
"Love" token, awarded by kouza."Love" token, awarded by TheCharacterhero."Like" token, awarded by ThinkingPolygons."100" token, awarded by Frozen_Death_Knight."Like" token, awarded by Fracture128."Love" token, awarded by ReinhardK."Like" token, awarded by TheRedWaxPolice."Love" token, awarded by n-pigeon."Burninate" token, awarded by mcurt09."100" token, awarded by MetinSeven."Love" token, awarded by dbystedt."Love" token, awarded by Brandon777.



This tool projects all vertices to the right of the plane defined by the
line gesture towards the plane. By doing this, this tool can create cuts
and plane surfaces in the mesh without modifying the geometry or using
boolean operations, so it is much faster than bisecting the mesh for
cases where the geometry was going to be remeshed afterwards.

Added as experimental as it does not have icon.

Diff Detail

rB Blender

Event Timeline

Pablo Dobarro (pablodp606) requested review of this revision.Sat, Sep 26, 11:06 PM

I get that the implementation is completely different, but since the visual result is the same, it seems this makes more sense as an option for the existing trim tool.
It could be enabled with a "method" enum ( Boolean | Project ). The tooltip for "project" could mention that it makes sense when remeshing afterwards.

I don't mind having this as an option for trimming (we currently don't have a line trim tool, so this patch need to add another tool regardless of the name), but I think it is going to create more confusion. The line is gesture is the only one where the result is similar to bisecting, but if I manage to implement project box and project lasso, they are going to look different from trimming.

Never mind, I didn't pay proper attention, sorry. Discarded my comment.

Sergey Sharybin (sergey) requested changes to this revision.Mon, Sep 28, 12:50 PM
Sergey Sharybin (sergey) added inline comments.

op -> operation


Keep variable definition close to use.
Can also use early continue.


final_pos seems to be a bad choice here.
Intuitively, final is the final location of the vertex after the operation. Here it is a projected point on a plane.


Avoid using default: it will help catching places where code is to be modified when new enumerator is added.
Use explicit case statement here.

This revision now requires changes to proceed.Mon, Sep 28, 12:50 PM

Is there really no reasonable way to avoid adding all these small-scoped features as new tools?

For future patches, if you add video demos, please make it more understandable what you are actually doing. It's hard to follow if the video just shows how fast you can draw the lines, and if you can't tell which tools you are actually using (they all just have a "none" icon). It seemed to me that some strokes yield imprecise results, e.g. the one at 0:37 seems quite off. It could however just be that your movement is too fast for the frame-rate or the redraw inside Blender.
Just go a bit slower and show the tool names, and the video will be much more helpful ;)


This should be _affected, not _effected.
(Not specific to this patch, can be cleaned up separately.)


UI messages shouldn't use pronouns ("you"). This is being formalized in our human interface guidelines currently, but I can't share a link to that yet.

@Julian Eisel (Severin) When adding features to sculpt mode, I only have two options:

  • Add a new tool to the toolbar (like in this patch)
  • Add a "mode" dropdown to one of the existing tools (like smooth/surface smooth or the edit face set tool)

To me, it makes more sense to have the similar tools grouped under the same icon in the toolbar (like we have for the selection tools in edit mode). The way you use tools that need the mode dropdown right now (for example the cloth filter or the pose brush) is far from ideal, as you need to switch modes constantly and they can't be assigned to the keymap. But I understand that neither of these solutions is good and the toolbar/brush management organisation is not great.
I think that we should try to avoid bringing this discussion to these patches every time a new functionality needs to be added. Until a brush management and UI reorganisation is in place we are not really going to solve the problem, and that is a much bigger task than the scope of a single tool.

Pablo Dobarro (pablodp606) marked 5 inline comments as done.
  • review update

From my side it's ok.
The tools, UI and such leaving up to Julian.

This revision is now accepted and ready to land.Tue, Sep 29, 10:08 AM
Julian Eisel (Severin) added inline comments.

Actually, it should be "onto", not "into" a plane.

This revision was automatically updated to reflect the committed changes.
Pablo Dobarro (pablodp606) marked an inline comment as done.
This comment was removed by Vyacheslav (hitrpr).