Chapter 5: Multiresolution Sculpting: Discussion
By Tom Musgrove
Much like Blender's UV unwrapping tools, the multiresolution sculpting work flow is best understood by doing. The tools themselves are fairly simple, but it is in their implementation that they find their power. This discussion section will serve better as a reference for someone who has already acquainted themselves with the general procedures of multires sculpting in the tutorial section. It would also be helpful to have worked through Chapter 4 if you don't already understand the basic concepts and terminology of mesh modeling.
Sometimes after you've seriously subdivided a mesh object to add fine details, you wish that you could go back to the un-subdivided version to make large scale structural changes without disturbing the fine work you've already done. Your best bet in that case is to start trying to push and pull the mesh with the Proportional Editing Tool and hope that things don't distort too badly.
With multiresolution modeling, though, you can do exactly that. What begins as a simple mesh can be given increasing levels of detail, yet each level of subdivision is maintained and adjusted as you work on the model, and remains accessible. One could sculpt a head with incredibly fine details, then later decide that the overall proportions of the face were off and fix them simply at a level of detail that could better accommodate such changes.
A mesh is changed into a multiresolution mesh by clicking the Add Multires button on the Multires panel in the Edit buttons (F9).
Once a mesh has been made multiresolution, it cannot have geometry added to or subtracted from it in Edit mode. Existing geometry can still be transformed there, however. Also at this point, Shape Keys (Chapter 8) and multiresolution are not compatible, and Blender will prevent you from using them together should you try.
Multires levels are added by clicking the Add Level button. The current level that is displayed in the 3D view and available to work on is set with the "Level" spinner. The working level may also be set by using the Page Up and Page Down keys. Changes made at any level will propagate to other levels, so if you move the entire right half of a mesh upward at a high level of detail, the low level version will follow, and vice versa. It is best to work in whatever is the lowest level of detail to which the current task lends itself.
If you create too many multires levels and realize you don't need them, they can be removed by setting the current Level to the highest one you wish to keep and pressing the "Del Higher" button. In the same way, lower levels of multires that you find no longer useful can be deleted by pressing the "Del Lower" button, which will get rid of all multires levels below the current one.
If you have completely finished using the multiresolution properties of a mesh and want to use it in conjunction with Shape Keys, or to change the actual geometry, use the "Apply Multires" button. This function removes all multires properties, turning the object back into a regular mesh as it appeared at the current multires Level setting. If you have nine levels of detail and press "Apply Multires" when on level six, the resulting mesh will be the one from level six: all finer detail is lost.
Note: Although they are dealt with in the same chapter and often used in conjunction, multiresolution modeling and the sculpt tools can be used independently. Any mesh may be changed using the full range of sculpting tools, just like any mesh can be made multires and worked on with strictly traditional polygon transformation tools.
The Sculpting Tools
Sculpting is begun by selecting a mesh object and setting it to Sculpt Mode on the 3D header. When an object is in Sculpt Mode, the Sculpt and Brush tabs appear within the Multires panel. Also, the floating N-key Transform Properties panel in the 3D view turns into the Sculpt Properties panel, which combines the functionality of the Sculpt and Brush Edit Buttons panels. As in other modes, the Properties panel is shown and hidden with the N-key.
The sculpting tools are utilized by LMB clicking and dragging on the model in the 3D view, as though painting.
There are several sculpting brushes available. Each brush uses its first letter as a hotkey, which makes them easy to remember. If you don't want to learn the hotkeys, Ctrl-Tab will bring up a menu of the different brushes in the 3D view.
Draw: Pulls the mesh in the direction of the average of the Normals of all influenced faces. D-key.
Inflate: Pulls each face in the direction of its individual Normal. I-key.
Smooth: Averages the faces of the mesh that fall within its area. Sculpting with the Smooth brush reduces lumps, bumps, wrinkles and any other details it comes across. It is also good for fixing areas of a mesh that have become spiky or crumpled due to over-inflating or pinching, or where a mesh has overlapped itself. S-key.
Pinch: Pulls everything within its brush area toward the center of the brush. P-key.
Layer: Raises the mesh, but only to a certain height that is dependent on its Strength value. Unlike the Inflate and Draw brushes, Layer will not create a rounded dome if repeatedly applied, but will instead create a plateau. L-key.
Grab: Acts very much like the G-key grab command in Edit mode while using the Proportional Editing Tool. Advantages of using it in Sculpt mode are that it is single LMB-click and drag, without worrying about selecting vertices or faces. G-key.
Add/Subtract: Draw, Pinch, Inflate and Layer may be used in either Add or Sub (Subtract) mode. Subtract mode simply inverts the effect of the selected brush type. Subtracting in Draw or Layer pushes the mesh instead of pulling; Inflate balloons the mesh away from the brush; Pinch pushes faces away from the center of the brush. The tools default to Add mode, and can be changed to Subtract by clicking the Sub button on the Sculpt panels. Brushes can also be temporarily toggled to Subtract mode by holding down the Shift key while sculpting, or switched permanently by pressing the V-key.
Airbrush: Enabling the Airbrush option causes the selected brush to be applied for as long as the LMB is held down, regardless of whether the mouse is moving or not. A-key.
Adjusting Brush Size and Strength: The size and strength of the brushes can be set by moving the sliders on the Sculpt panels, or with hotkeys. Adjustments to these values are made on a brush-by-brush basis. In other words, each brush (Draw, Pinch, etc.) holds its own settings, which will be retained if you switch brush types and come back.
The hotkey for adjusting brush size is the F-key. When pressed, the brush is resized interactively in the 3D view by moving the mouse until the brush circle is the desired size. Pressing the LMB accepts the new size, while RMB cancels. Shift-F adjusts brush strength in the same fashion. When changing brush strength in the 3D view, please note that a tighter, more concentrated (though smaller) circle indicates higher brush strength, whereas the large but more diffuse circle signals lower strength.
As it is with other transformations, you can also enter a value directly when adjusting size and strength. Pressing the F-key in the 3D view, then typing "25" and Enter will set the brush strength to 25.
Pressing the X, Y, or Z-keys (or the buttons on the panels) enables sculpting symmetry along that local axis. This tool simply mirrors any brush strokes you make along the indicated axes, so if your object is not symmetrical to begin with, it may not produce the desired effect. You can work with any combination of symmetry buttons enabled at once. The normal workflow is to use symmetry during the creation of an organic sculpture, but to turn it off before adding finishing details to make the object more believable.
Any of the brushes can sculpt with textures, although its usefulness is limited with the Smooth and Pinch brushes. Textures are created in the Texture buttons (F6, Chapter 9), and can be added to the texture brush stack directly in the Sculpting Brush panels by selecting an empty texture channel and choosing a texture from the popup menu to the right. Unlike the Material buttons texture stack, the ones here are not layers of a single texture. Each is its own separate brush and will only work when selected.
Any texture, including Image textures, will work with sculpting, but the generic noise textures Musgrave, Voronoi, and Distorted Noise are the most frequently used for sculpting textures into organic surfaces.
Textured brushes may be used in three modes: Drag, Tile and 3D, selectable to the right of the texture stack.
3D mode applies texturing based on the 3D coordinates of the faces being sculpted. This texturing mode treats the sculpture as though the texture already exists within and throughout it, and is only revealing it. The Size control that appears when 3D is selected works opposite to the way you would expect. Increasing the Size value decreases the sculpted size of the texture. When working in 3D mode, try a Size value of around 500 to get your bearings.
Drag mode works with a single area of the texture, "stamping" that same texture image over and over as you drag. When adjusting brush size (F-key) and strength (Shift-F) in this mode, a black and white representation of the actual texture is shown within the brush's circle in the 3D view. For variety, the texture may also be rotated interactively with Ctrl-F.
Tile mode works on the same principle as the Drag brush, in that it uses a single portion of the texture, but creates offset instances of the texture, based on the Size control that appears when Tile is selected. This Size control sets the distance over which the brush will repeat the portion of the texture it is using. A Size that is half the value of the current brush size is a good starting point.
Where to Begin?
Multiresolution sculpting can be used on any mesh object. Some sculptors prefer to begin with the mesh primitive that most closely resembles their target sculpture (i.e. a sphere for a head, a four-sided cone for an ancient pyramid, etc.). This will always work, but can lead to tens of thousands of unneeded faces in areas like the back of the head, as all sections of the mesh will receive the same levels of detail. For maximum efficiency, it is often better to work from a mesh that has been carefully subdivided by hand before entering multires mode, creating significantly more faces in areas that will require greater detail during sculpting (like the eyes and mouth), while leaving the back of the head with only a few faces.
Currently, the maximum polygon count of a Blender mesh is limited by the amount of RAM that your system can give to a single process. It is also limited in workability by the speed of your processor and the capabilities of your graphics card. Standard Windows XP is limited to 2 GB per process with data limited to roughly 1.5 GB; Mac OS X is limited to 2.4 GB per process. Linux processes can generally access 3GB of RAM.
Through experimentation, we've found that multiresolution meshes are limited to around 3.2 million quad faces on standard Windows XP with 2GB of physical ram. A non-multiresolution mesh can have over 4 million faces. On OS X, a multiresolution mesh has similar but possibly slightly higher limits. On Linux, you may be able to greatly exceed these polygon counts, even for 32 bit systems.
The number of faces that a mesh contains can be seen in the upper right of the main header, beside the version number of Blender ("243 Ve: 57922 | Fa: 57920") The "Fa" refers to the number of faces in the active object.
Note: Some Windows XP systems encounter problems achieving even 1.6 million quads with the above hardware. You'll have to try it with your particular configuration to see.
To achieve very high polygon counts, you will need to disable Global Undo (see Chapter 14) when changing multires levels or changing modes: those actions push the entire current, gigantic mesh onto the undo stack, requiring a significant amount of memory. Once you reach the desired multires level or mode, you can re-enable Undo.
At high poly counts you may find that the brush begins to lag. Here are some things you can do to speed it back up.
Hiding part of the mesh
You can hide parts of your mesh with Ctrl-Shift-LMB click and drag. Parts of the mesh falling outside of the box you describe will be hidden. You should experience an increase in both your graphics card and sculpting performance. Ctrl-Shift-LMB click and release without dragging, or Alt-H, will reveal the full mesh again.
You can turn on 'partial redraw' via the Sculpt menu. This option uses a simplified OpenGL drawing method, causing a possible increase in drawing artifacts, but often giving a substantial increase in drawing speed on most systems. On some graphics cards, however, this option can result in a slow down instead of a speed up.
Disable Brush Drawing
This might provide some speed improvement on ATI cards. Brush drawing, the circle that indicates the current brush size, can be disabled by un-checking "Display Brush" in the Sculpt menu.
You can adjust the 'Averaging' setting in the Sculpt menu. This setting interpolates between mouse positions. If sculpt is drawing too slowly, it will assume that you sculpted between your current position and the last position it recalls and fills in between them. This can improve the smoothness of the sculpt, but will decrease the precision of your strokes. In some cases, it may actually decrease sculpting speed.
Only using a single 3D view
At lower multiresolution levels, your graphics card should be able to handle drawing the sculpture in several 3D views at once. At high poly counts, though, you will probably want only a single 3D view open in order to achieve maximum sculpting performance.
Beyond these steps you can take from within Blender, there are more expensive routes to enhancing sculpting speed. Purchasing additional RAM, up to your system's limit, or an entirely new and up-to-date computer system will give the best sculpting experience available. Unfortunately, sculpting is taxing on a system's RAM, processor and video card, so there is nowhere to cut a corner that will not significantly affect its performance. Fortunately, Blender is efficient, and sculpting and multires will function quite well on older, weaker systems, as long as you avoid the enormous face counts of high multires levels.
Odds and Ends
Modifiers and Multires
You can use modifiers with multires, but there are some caveats and limitations. It's not always useful to have modifiers working at the highest multires levels. To set the level of multires on which you would like modifiers to function, use the Pin control on the Multires panel. Modifiers that change geometry in some way, like Subsurf, ignore all multires levels above the Pin setting when rendered. Modifiers that affect the shape of the mesh, like Armature and Curve, will have significantly different results depending on the Pin level at which the modifier is applied. Generally, shape modifiers will give the best results at the lowest multires level.
Creating Normal and Displacement Maps
At this point, Blender does not have the capability of generating tangent space normal or displacement maps. Currently, the preferred method is to export your high resolution mesh object and a low resolution version that have been UV unwrapped and use external tools such as Xnormal on Windows (other options on Windows are ORB, NVIDIA Melody and ATI NormalMapper); ATI NormalMapper for OS X; and DeNormGen for Linux. In order to export the high resolution version of the object, you may need to use the "Apply Multires" button first (remember to do that on a copy of the file so you retain a good, working version of the sculpture). The best exporters for such objects in Blender tend to be OBJ, 3DS, Collada and LWO.