Dev:Ref/Proposals/UI/PreselectionHighlighting

提供: wiki
< Dev:Ref‎ | Proposals‎ | UI
移動先: 案内検索

Preselection highlighting

Proposal

by Gert De Roost


Overview

Preselection highlighting is a visual mechanism that allows one to "pre-view" what will be selected by several selection mechanisms before actually selecting (so when the mouse pointer "hovers" over selectable geometry the going-to-be-selected mesh components will be highlighted in a different color). Amongst other things it facilitates easier selecting in more complex geometry situations.

The current proposed system allows preselection highlighting of:

  • current going-to-be-selected vert/edge/face (works in multiselect mode)
  • current going-to-be-selected vert loop/vert ring/vert path
  • current going-to-be-selected edge loop/edge ring/edge path
  • current going-to-be-selected face loop/face ring/face path
  • elements going-to-be-selected inside circle select circle
  • elements going-to-be-selected inside border select border

And also:

  • proportional editing falloff highlighting (this could go into a separate proposal?) This is a system using a color overlay with diminishing alpha as falloff increases, showing the area that will be influenced by editing.


Suzy.jpg

Showing proportional falloff highlighting and circle select preselection.


Details

  • Works in both 3D View and UV editor.
  • In 3D View plain preselection and proportional falloff preselection both have a checkbox in 3D View -> Npanel -> Mesh Display so you can turn off the preselection for the 3D View.
  • In UV editor plain preselection and proportional falloff preselection both have a checkbox in UV editor -> Npanel -> Display so you can turn off the preselection for the UV editor.
  • Can highlight vert/face normal along with the vert/face itself. It uses the normal size set in 3D View -> Npanel -> Mesh Display -> Normals and has an on/off toggle icon in the same section.
  • Has two customizable colors and alpha for highlighting, one for already selected components and one for non-selected components.
  • Has a customizable color for proportional editing falloff highlighting.


Implementation

The system has already been realized in Blender core C code, and testing builds can be downloaded on GraphicAll:

The code is also available, on GitHub:

Do note the builds and the code also contain code for two soon-to-be-written proposals, namely Modal Circle Select and Free Manipulator Mode.



When wanting to discuss the code or anything else, I can be contacted through email [paleajed@gmail.com]