GSoC 2019: Custom Bevel Profiles

@HooglyBoogly @Hadriscus @pablovazquez @jacqueslucke

P#2

Object selection:

The user selects an objects, edges, or a group of vertices using either;

  1. Cursor selection.
  2. Mask. (This could be considered redundant, yet could provide a vertex paint option.)

Add bevel modifier:

  1. The user adds a bevel modifier to the selected objects, edges, or group of vertices.

Assign bevel profile:

  1. The user assigns a bevel profile (a curve).

Adjust bevel profile and orientation:

  1. The user adjusts the bevel profile (a curve) and the bevel orientation.

Vertex distribution:
(Vertex weight paint: Strength = Vertex distribution)

  1. By default the vertex distribution is equally distributed along the bevel profile (a curve) using a vertex weight paint layer. (Toggled: Off)

  2. Unless the user selects custom distribution. (Toggled: On)

Custom distribution:

If the user selects a custom distribution, the system enables the user to edit;

  1. The preassigned IDs/colors (cryptomatte) for vertex distribution.
    The user can reassign IDs/colors (cryptomatte) to a selection of objects, edges, or group of vertices within the object selection, thus linking them. This can be used to create distribution groups/ranges.
    (Assigned vertex ID = Red, Assigned bevel profile: Curve: point = Red)

  2. The vertex weight paint layer strength (along the assigned bevel profile) for the vertex distribution.
    The user can adjust the vertex weight paint strength for each bevel profile ID/color (cryptomatte) and/or distribution group/range.

The this gives the user the following options;

  1. Object selection.
  2. Bevel profile.
  3. Vertex distribution.
  • Equal distribution; based on preassigned bevel profile IDs/colors (cryptomatte) and corresponding vertex weight paint strength.

    OR

  • Custom distribution; based on user assigned/edited bevel profile IDs/colors (cryptomatte) and corresponding vertex weight paint strength.

Other options:

  1. Apply. (Applies the mesh changes to the mesh and removes the modifier.)
  2. Save. (Could create a modifier preset (asset), brush, and/or maps for exporting, etc.)
  • Modifier settings
  • Maps (IDs/colors (cryptomatte), vertex weight paint…)

A node based version could be useful.

Imagine painting a custom bevel profile with the ability to create/adjust the vertex distribution.

Such methods could also be used for displacement, and boolean operations. I have other and/or more ideas for such.