[Bf-blender-cvs] [b50853611e8] master: UI: Add tooltips for modifiers

Sybren A. Stüvel noreply at git.blender.org
Thu Dec 5 17:22:49 CET 2019


Commit: b50853611e8e4cd6904fb3ce63656a1bccf2976a
Author: Sybren A. Stüvel
Date:   Tue Dec 3 18:10:50 2019 +0100
Branches: master
https://developer.blender.org/rBb50853611e8e4cd6904fb3ce63656a1bccf2976a

UI: Add tooltips for modifiers

When adding a modifier to an object, the drop-down select box has the
same mouse-over tooltip for each modifier type: "Add a procedural
operation/effect to the active object". This isn't helpful when you
don't know what the modifier does from just reading the name.

This patch adds descriptions for most modifier types, so that it's
clearer what the modifiers do. The text was provided by @werwack after
discussion on DevTalk[1] and taken from the Blender Manual, and
subsequently updated by @billreynish and @HooglyBoogly.

Not all modifiers have a short one-line description in the manual, hence
those are still missing in this patch.

[1] https://devtalk.blender.org/t/ui-contextual-modifier-description-in-the-tooltips-of-the-add-modifier-dialog-window/10382

Reviewed By: billreynish

Differential Revision: https://developer.blender.org/D6352

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

M	source/blender/makesrna/intern/rna_modifier.c

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

diff --git a/source/blender/makesrna/intern/rna_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 789946d3268..1c5b4618bf8 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -58,91 +58,230 @@
 
 const EnumPropertyItem rna_enum_object_modifier_type_items[] = {
     {0, "", 0, N_("Modify"), ""},
-    {eModifierType_DataTransfer, "DATA_TRANSFER", ICON_MOD_DATA_TRANSFER, "Data Transfer", ""},
-    {eModifierType_MeshCache, "MESH_CACHE", ICON_MOD_MESHDEFORM, "Mesh Cache", ""},
+    {eModifierType_DataTransfer,
+     "DATA_TRANSFER",
+     ICON_MOD_DATA_TRANSFER,
+     "Data Transfer",
+     "Transfer several types of data (vertex groups, UV maps, vertex colors, custom normals) from "
+     "one mesh to another"},
+    {eModifierType_MeshCache,
+     "MESH_CACHE",
+     ICON_MOD_MESHDEFORM,
+     "Mesh Cache",
+     "Deform the mesh using an external frame-by-frame vertex transform cache"},
     {eModifierType_MeshSequenceCache,
      "MESH_SEQUENCE_CACHE",
      ICON_MOD_MESHDEFORM,
      "Mesh Sequence Cache",
-     ""},
-    {eModifierType_NormalEdit, "NORMAL_EDIT", ICON_MOD_NORMALEDIT, "Normal Edit", ""},
-    {eModifierType_WeightedNormal, "WEIGHTED_NORMAL", ICON_MOD_NORMALEDIT, "Weighted Normal", ""},
-    {eModifierType_UVProject, "UV_PROJECT", ICON_MOD_UVPROJECT, "UV Project", ""},
-    {eModifierType_UVWarp, "UV_WARP", ICON_MOD_UVPROJECT, "UV Warp", ""},
+     "Deform the mesh or curve using an external mesh cache in Alembic format"},
+    {eModifierType_NormalEdit,
+     "NORMAL_EDIT",
+     ICON_MOD_NORMALEDIT,
+     "Normal Edit",
+     "Modify the direction of the surface normals"},
+    {eModifierType_WeightedNormal,
+     "WEIGHTED_NORMAL",
+     ICON_MOD_NORMALEDIT,
+     "Weighted Normal",
+     "Modify the direction of the surface normals using a weighting method"},
+    {eModifierType_UVProject,
+     "UV_PROJECT",
+     ICON_MOD_UVPROJECT,
+     "UV Project",
+     "Project the UV map coordinates from the negative Z axis of another object"},
+    {eModifierType_UVWarp,
+     "UV_WARP",
+     ICON_MOD_UVPROJECT,
+     "UV Warp",
+     "Transform the UV map using the the difference between two objects"},
     {eModifierType_WeightVGEdit,
      "VERTEX_WEIGHT_EDIT",
      ICON_MOD_VERTEX_WEIGHT,
      "Vertex Weight Edit",
-     ""},
+     "Modify of the weights of a vertex group"},
     {eModifierType_WeightVGMix,
      "VERTEX_WEIGHT_MIX",
      ICON_MOD_VERTEX_WEIGHT,
      "Vertex Weight Mix",
-     ""},
+     "Mix the weights of two vertex groups"},
     {eModifierType_WeightVGProximity,
      "VERTEX_WEIGHT_PROXIMITY",
      ICON_MOD_VERTEX_WEIGHT,
      "Vertex Weight Proximity",
-     ""},
+     "Set the vertex group weights based on the distance to another target object"},
     {0, "", 0, N_("Generate"), ""},
-    {eModifierType_Array, "ARRAY", ICON_MOD_ARRAY, "Array", ""},
-    {eModifierType_Bevel, "BEVEL", ICON_MOD_BEVEL, "Bevel", ""},
-    {eModifierType_Boolean, "BOOLEAN", ICON_MOD_BOOLEAN, "Boolean", ""},
-    {eModifierType_Build, "BUILD", ICON_MOD_BUILD, "Build", ""},
-    {eModifierType_Decimate, "DECIMATE", ICON_MOD_DECIM, "Decimate", ""},
-    {eModifierType_EdgeSplit, "EDGE_SPLIT", ICON_MOD_EDGESPLIT, "Edge Split", ""},
-    {eModifierType_Mask, "MASK", ICON_MOD_MASK, "Mask", ""},
-    {eModifierType_Mirror, "MIRROR", ICON_MOD_MIRROR, "Mirror", ""},
-    {eModifierType_Multires, "MULTIRES", ICON_MOD_MULTIRES, "Multiresolution", ""},
-    {eModifierType_Remesh, "REMESH", ICON_MOD_REMESH, "Remesh", ""},
-    {eModifierType_Screw, "SCREW", ICON_MOD_SCREW, "Screw", ""},
-    {eModifierType_Skin, "SKIN", ICON_MOD_SKIN, "Skin", ""},
-    {eModifierType_Solidify, "SOLIDIFY", ICON_MOD_SOLIDIFY, "Solidify", ""},
-    {eModifierType_Subsurf, "SUBSURF", ICON_MOD_SUBSURF, "Subdivision Surface", ""},
-    {eModifierType_Triangulate, "TRIANGULATE", ICON_MOD_TRIANGULATE, "Triangulate", ""},
+    {eModifierType_Array,
+     "ARRAY",
+     ICON_MOD_ARRAY,
+     "Array",
+     "Create copies of the shape with offsets"},
+    {eModifierType_Bevel,
+     "BEVEL",
+     ICON_MOD_BEVEL,
+     "Bevel",
+     "Generate sloped corners by adding geometry to the mesh's edges or vertices"},
+    {eModifierType_Boolean,
+     "BOOLEAN",
+     ICON_MOD_BOOLEAN,
+     "Boolean",
+     "Use another shape to cut, combine or perform a difference operation"},
+    {eModifierType_Build,
+     "BUILD",
+     ICON_MOD_BUILD,
+     "Build",
+     "Cause the faces of the mesh object to appear or disappear one after the other over time"},
+    {eModifierType_Decimate,
+     "DECIMATE",
+     ICON_MOD_DECIM,
+     "Decimate",
+     "Reduce the geometry density"},
+    {eModifierType_EdgeSplit,
+     "EDGE_SPLIT",
+     ICON_MOD_EDGESPLIT,
+     "Edge Split",
+     "Split away joined faces at the edges"},
+    {eModifierType_Mask,
+     "MASK",
+     ICON_MOD_MASK,
+     "Mask",
+     "Dynamically hide vertices based on a vertex group or armature"},
+    {eModifierType_Mirror,
+     "MIRROR",
+     ICON_MOD_MIRROR,
+     "Mirror",
+     "Mirror along the local X, Y and/or Z axes, over the object origin"},
+    {eModifierType_Multires,
+     "MULTIRES",
+     ICON_MOD_MULTIRES,
+     "Multiresolution",
+     "Subdivide the mesh in a way that allows editing the higher subdivision levels"},
+    {eModifierType_Remesh,
+     "REMESH",
+     ICON_MOD_REMESH,
+     "Remesh",
+     "Generate new mesh topology based on the current shape"},
+    {eModifierType_Screw,
+     "SCREW",
+     ICON_MOD_SCREW,
+     "Screw",
+     "Lathe around an axis, treating the inout mesh as a profile"},
+    {eModifierType_Skin,
+     "SKIN",
+     ICON_MOD_SKIN,
+     "Skin",
+     "Create a solid shape from vertices and edges, using the vertex radius to define the "
+     "thickness"},
+    {eModifierType_Solidify, "SOLIDIFY", ICON_MOD_SOLIDIFY, "Solidify", " Make the surface thick"},
+    {eModifierType_Subsurf,
+     "SUBSURF",
+     ICON_MOD_SUBSURF,
+     "Subdivision Surface",
+     "Split the faces into smaller parts, giving it a smoother appearance"},
+    {eModifierType_Triangulate,
+     "TRIANGULATE",
+     ICON_MOD_TRIANGULATE,
+     "Triangulate",
+     "Convert all polygons to triangles"},
     {eModifierType_Wireframe,
      "WIREFRAME",
      ICON_MOD_WIREFRAME,
      "Wireframe",
-     "Generate a wireframe on the edges of a mesh"},
+     "Convert faces into thickened edges"},
     {0, "", 0, N_("Deform"), ""},
-    {eModifierType_Armature, "ARMATURE", ICON_MOD_ARMATURE, "Armature", ""},
-    {eModifierType_Cast, "CAST", ICON_MOD_CAST, "Cast", ""},
-    {eModifierType_Curve, "CURVE", ICON_MOD_CURVE, "Curve", ""},
-    {eModifierType_Displace, "DISPLACE", ICON_MOD_DISPLACE, "Displace", ""},
-    {eModifierType_Hook, "HOOK", ICON_HOOK, "Hook", ""},
+    {eModifierType_Armature,
+     "ARMATURE",
+     ICON_MOD_ARMATURE,
+     "Armature",
+     "Deform the shape using an armature object"},
+    {eModifierType_Cast,
+     "CAST",
+     ICON_MOD_CAST,
+     "Cast",
+     "Shift the shape towards a predefined primitive"},
+    {eModifierType_Curve, "CURVE", ICON_MOD_CURVE, "Curve", "Bend the mesh using a curve object"},
+    {eModifierType_Displace,
+     "DISPLACE",
+     ICON_MOD_DISPLACE,
+     "Displace",
+     "Offset vertices based on a texture"},
+    {eModifierType_Hook, "HOOK", ICON_HOOK, "Hook", "Deform specific points using another object"},
     {eModifierType_LaplacianDeform,
      "LAPLACIANDEFORM",
      ICON_MOD_MESHDEFORM,
      "Laplacian Deform",
-     ""},
-    {eModifierType_Lattice, "LATTICE", ICON_MOD_LATTICE, "Lattice", ""},
-    {eModifierType_MeshDeform, "MESH_DEFORM", ICON_MOD_MESHDEFORM, "Mesh Deform", ""},
-    {eModifierType_Shrinkwrap, "SHRINKWRAP", ICON_MOD_SHRINKWRAP, "Shrinkwrap", ""},
-    {eModifierType_SimpleDeform, "SIMPLE_DEFORM", ICON_MOD_SIMPLEDEFORM, "Simple Deform", ""},
-    {eModifierType_Smooth, "SMOOTH", ICON_MOD_SMOOTH, "Smooth", ""},
+     "Deform based a series of anchor points"},
+    {eModifierType_Lattice,
+     "LATTICE",
+     ICON_MOD_LATTICE,
+     "Lattice",
+     "Deform using the shape of a lattice object"},
+    {eModifierType_MeshDeform,
+     "MESH_DEFORM",
+     ICON_MOD_MESHDEFORM,
+     "Mesh Deform",
+     "Deform using a different mesh, which acts as a deformation cage"},
+    {eModifierType_Shrinkwrap,
+     "SHRINKWRAP",
+     ICON_MOD_SHRINKWRAP,
+     "Shrinkwrap",
+     "Project the shape onto another object"},
+    {eModifierType_SimpleDeform,
+     "SIMPLE_DEFORM",
+     ICON_MOD_SIMPLEDEFORM,
+     "Simple Deform",
+     "Deform the shape by twisting, bending, tapering or stretching"},
+    {eModifierType_Smooth,
+     "SMOOTH",
+     ICON_MOD_SMOOTH,
+     "Smooth",
+     "Smooth the mesh by flattening the angles between adjacent faces"},
     {eModifierType_CorrectiveSmooth,
      "CORRECTIVE_SMOOTH",
      ICON_MOD_SMOOTH,
      "Smooth Corrective",
-     ""},
-    {eModifierType_LaplacianSmooth, "LAPLACIANSMOOTH", ICON_MOD_SMOOTH, "Smooth Laplacian", ""},
-    {eModifierType_SurfaceDeform, "SURFACE_DEFORM", ICON_MOD_MESHDEFORM, "Surface Deform", ""},
-    {eModifierType_Warp, "WARP", ICON_MOD_WARP, "Warp", ""},
-    {eModifierType_Wave, "WAVE", ICON_MOD_WAVE, "Wave", ""},
+     "Smooth the mesh while still preserving the volume"},
+    {eModifierType_LaplacianSmooth,
+     "LAPLACIANSMOOTH",
+     ICON_MOD_SMOOTH,
+     "Smooth Laplacian",
+     "Reduce the noise on a mesh surface with minimal changes to its shape"},
+    {eModifierType_SurfaceDeform,
+     "SURFACE_DEFORM",
+     ICON_MOD_MESHDEFORM,
+     "Surface Deform",
+     "Transfer motion from another mesh"},
+    {eModifierType_Warp,
+     "WARP",
+     ICON_MOD_WARP,
+     "Warp",
+     "Warp parts of a mesh to a new location in a very flexible way thanks to 2 specified "
+     "objects"},
+    {eModifierType_Wave,
+     "WAVE",
+     ICON_MOD_WAVE,
+     "Wave",
+     "Adds a ripple-like motion to an object’s geometry"},
     {0, "", 0, N_("Simulate"), ""},
     {eModifierType_Cloth, "CLOTH", ICON_MOD_CLOTH, "Cloth", ""},
     {eModifierType_Collision, "COLLISION", ICON_MOD_PHYSICS, "Collision", ""},
     {eModifierType_DynamicPaint, "DYNAMIC_PAINT", 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list