Blender incorporates a dizzying amount of functionality in a single application, and learning to use all the tools as efficiently as possible is a daunting proposition. Even after the initial shock that every beginner feels upon seeing the properties window, experienced users often still sense that there is a great deal of potential that they have not fully tapped into. Indeed, many Blender users use only a small fraction of its capabilities for controlling their work environments. These capabilities include options available in the User Preferences window and a variety of lesser-known techniques and workflow shortcuts. Furthermore, by gaining insight into the design principles behind the Blender interface, you can prepare for the ways that new changes in the code base will help to enhance the power, flexibility, and accessibility of the interface in the future.
In this chapter, you will learn to
As I wrote in the introduction, this is a book for people who want to push the envelope of their Blender abilities—people who know how to use Blender but want to know more. Likewise, this is a chapter for people who know Blender’s interface and workflow but want to know it better, to understand it more deeply, and to learn to use it faster and more efficiently—in short, to master it.
This chapter is intended to help you get beyond simply knowing how things are done in Blender and to truly explore the way you do things in Blender. In this chapter, you’ll learn about the preferences you can set to take control of your own working environment. You’ll learn about workflow tricks and techniques to give you more options for how to get from A to B in your Blender work. This chapter is intended to give you the knowledge and the confidence to start telling Blender how you want things done.
Understanding how Blender handles data internally is an important part of mastering Blender. Blender handles data in a unique way, and if you’re coming from other 3D packages, you may find it somewhat foreign. But once you understand it, it is fairly straightforward and enables Blender to deal with very complex data operations while maintaining consistency in the way you access and manipulate the data, whether directly through the Blender interface, through Python scripts, or through the proxy and linking system. The good news is that post 2.5 versions of Blender have much more informative interface tools for examining data. One of the most important is the Outliner.
The Outliner is Blender’s primary GUI-based data inspection tool (there are other important tools for inspecting data, but most of these are geared toward Python scripting uses. You’ll read about them in Chapter 13, “Python Scripting for Blender.”) In Blender’s default window configuration, an Outliner window is open in the upper-right corner. If you want to open a new one, simply choose Outliner from the Editor Type menu, as shown in .
The default scene appears in the Outliner as shown in . You can expand the items by clicking the plus icon to their left. The default view of the Outliner is All Scenes. In this view the scenes are listed and can be expanded to show their dependent data. (In the default case, shown here, there is only one scene, called Scene.)
3D objects are branches off the main scene, and clicking the name of an object selects it. Datablocks used by the 3D objects are branches off those 3D objects. You can see in the figure that the Cube 3D object has a subordinate datablock called Cube representing its Mesh datablock. Below that is the Material datablock, and below that is a Texture datablock.
To the right of each 3D object menu item are three icons that can be clicked to toggle visibility, selectability, and renderability, respectively. If you click the eye icon for the Cube object, for example, the Cube will become invisible in the 3D Viewport. If you click the arrow icon, the Cube will become impossible to select. If you click the camera icon, it will not render.
Library linked and proxied objects are also displayed in the Outliner scene display. In , the Rig object is a linked object, indicated by the icon, and the Rig_proxy object is a proxied object, indicated by the icon.
By right-clicking these Outliner items, you can bring up a menu of Outliner operations appropriate for the data type you clicked.
The Outliner can be set to show other types of data as well. The Outliner Display Mode menu is shown in . These options enable you to display a variety of configurations; mostly these are self-explanatory. You can display active objects, selected objects, or all objects of the same type or group as selected objects. You can also view data other than 3D data, such as sequence data, user preference data, key map data, and library data.
For an even deeper look at the data, you can choose the Datablocks display mode, which enables you to inspect and all the properties of any datablock. In , you can see the partial listing of the properties for the default Camera datablock as it appears in the Datablocks view of the Outliner. As you can see here, all of the information that you would ordinarily access through various other means via Blender’s user interface is accessible as a concise listing of properties.
Datablocks hold data that is “used” by objects or other datablocks. These objects or other datablocks are called the datablock’s users. For example, if two 3D Mesh objects share the same Mesh datablock (which can be accomplished, for example, by doing a linked duplicate operation on a Mesh object with Alt+D), then that Mesh datablock has two users. If a material is used by three different objects, then that Material datablock will have three users. If an image is used in two different textures, then the Image datablock will have two users.
To see this in action, duplicate the default cube by pressing Shift+D to create two identical cubes, as shown in .
Check the Material properties for one of the cubes. The material will be shared between the two objects and therefore will have two users. The count of users (2) appears to the right of the material’s name in the Material drop-down menu, as shown in .
If you click the 2, a copy will be made of the material that is local to the current object. This creates a new material (automatically named Material.001), which is not shared between multiple users, so it no longer has a user count to the right of the material name, as shown in .
To distinguish the two materials more easily, make the new material red colored and rename it Red. Now, in the Outliner you should see the objects and materials displayed as shown in .
You can drag and drop materials directly from the Outliner onto objects in the 3D Viewport. Try dragging the Red material from the Outliner to the gray cube in the viewport, as shown in . The gray cube will become red, and the two cubes will once again share a material (this time it will be the material Red).
If you now look in the Material drop-down menu on the Materials properties tab, you will see that the original material, Material, has a zero written to the left of the name in the menu, as shown in . This indicates that Material has no users.
Datablocks with no users do not persist when you close and reopen Blender. If you save the file now and reopen the same file, then look again at the same drop-down menu, it will appear as shown in . The Material entry will be gone. This is a form of Blender’s garbage management, which keeps .blend files from becoming bloated with unused data. Because Blender does not explicitly delete a datablock, it can be frustrating to track down and delete every user. However, you can delete a datablock from all its users by holding Shift while clicking the X to remove it, thus guaranteeing its deletion when you save and reload.
For a variety of possible reasons, you might want to have an unused datablock persist when you close and reopen a Blend file. This can be done by adding a fake user to the datablock. To add a fake user, click the F button to the right of the datablock drop-down menu. As you can see in , a material datablock with only one user gains a second user when the F key is pressed.
The presence of a fake user appears as a check box in the Outliner datablock view (). Unchecking this box in the Outliner has the same effect as clicking the F button to toggle off the fake user.
Understanding these basics about how datablocks in Blender operate, and how they can be accessed and inspected using the Outliner, will be helpful in all of your Blender work. In the next section, we’ll turn to more superficial aspects of controlling how Blender works for you, specifically the user preferences that control the interface and environment.
When you think about options and customization for any software, the first thing that usually comes to mind is the set of user preferences available. Like most applications, Blender has a variety of user preferences that you can adjust. The User Preferences window is a window type like any other, but it can be accessed in a separate pop-out system window by pressing Ctrl+Alt+U. When you do this, it appears as shown in .
Seven buttons are located along the top of the User Preferences window. Each of these buttons displays a different subcontext of User Preferences.
The first subcontext of the User Preferences buttons area is the Interface subcontext, shown in .
The Display options are buttons that control how information is displayed throughout the interface or in the 3D viewport. Those buttons are as follows:
The next column of buttons and fields includes controls for view manipulation. The options available here are as follows:
The options available in the third column of the Interface area are as follows:
The Editing user preferences context is shown in .
The options in the first column of this window are as follows:
In the second column, the options are as follows:
In the third column, the options are as follows:
Finally, the fourth column of the Editing preferences window contains the following settings:
The Input user preferences context is shown in .
From here, you can control the following options:
The second column, which occupies the remainder of the window, enables you to control your hot key configurations precisely. At the top of the area is a drop-down menu enabling you to select Blender or Maya default hot key configurations. Clicking the white triangles to the left of the setting entries reveals hot key controls. An example of a detailed hot key setting is shown in .
Ctrl+Alt+W is the default hot key for opening a duplicate of the entire Blender window in a separate operating system window (this is useful for multi-monitor setups, for example). shows how this is set up. The drop-down at the top of the settings area indicates that the control is a Keyboard control. The RNA operator is written in the operator field, and W is entered in the key field. The Press option indicates that the operator is responsive to pressing the key. Modifier keys are indicated as check boxes below. All fields can be edited for complete control over your hot keys for any operators. Hot keys can also be added for operators that do not have hot keys by default.
Additionally, if you find yourself using a particular menu command, you can right-click any command (such as Mesh > Edges > Edge Slide) to add or change its shortcut. In , you can see this method being used to change the hot key for setting a bone parent.
The Addons user preference window is shown in . Blender addons enable functionality that is not present by default in Blender. You can search for and select addons by area of functionality. Throughout this book there will be examples of addons in action.
The Themes context, shown in , enables you to create and select themes with various options for the coloring and display of interface elements.
There are too many options to set in the Themes area to describe each one individually here, but they are mostly self-explanatory. You can change the color of almost every element in Blender, and in some cases such as drop-down menus and pop-up panels, you can change the alpha value as well.
Numerous Blender themes are available online for download. A quick Google search on Blender themes will give you the links for several good theme repositories. The themes may be downloadable in the form of a .blend file or in the form of a Python script. In the latter case, simply open the script in a Blender text editor window and execute it with Alt+P.
The File user preferences, shown in , are self-explanatory. The File Paths preferences enable you to define defaults for what the Blender file browser will open first when you import or save various types of assets. The default is //, which is Blender notation for the present working directory—that is, the directory you opened Blender from. For example, if you are opening Blender from the Windows Start menu, this will be your Blender installation directory. If you are opening from a file, this will be the directory that the file is in. The Relative Paths check box causes the file paths to be read as relative to the present working directory.
Preferences for saving and loading can also be found in this context. Here, you can set your preferences for how the Auto Save and backup features work. The Save Versions number enables you to select how many previously saved versions you want to keep backed up. In the past, you may have noticed the filename.blend1 files in the directory alongside filename.blend files. These are the default single-version backup files, and they represent the contents of the previously saved session. If you select a value greater than 1 (and apply it with Ctrl+U), the correspondingly numbered backup versions will appear in your directory.
The Auto Save Temporary Files option enables numbered, automatically saved files to be saved to your temporary directory (the default is /tmp, so ensure that this directory exists on your system or else change the directory to wherever you want the files saved). The Timer value is how often these files are saved.
The System user preferences context, shown in , enables you to control a variety of display-related and miscellaneous values.
Auto Run Python Scripts, when enabled, will allow Python scripts to be run automatically from within a .blend file. This is convenient in some cases, but it is not recommended if you’re not sure of the source of your .blend files.
The Sound buttons enable you to select sound libraries and set the amount of memory to devote to audio mixing.
The buttons and fields in the middle column control a variety of specific values that you can adjust to improve performance if you are having memory problems or you are experiencing slowdowns in your 3D viewport. Disabling Mipmaps can speed up the OpenGL drawing in your viewport at the expense of some image quality.
When dealing with alpha textures in an Open GL drawing, Blender creates an imperfect draw of assorted objects. A plane with an alpha gradient will show objects below it as if it were transparent. However, objects behind it will be “clipped” by the extent of the mesh rather than the extent of the alpha texture. When Clip Alpha is set to .5, Blender will choose to clip by the texture whenever the alpha is less than 50%, but it also won’t show the alpha gradient beyond that. Setting Clip Alpha to .995 will almost completely reduce the alpha texture whenever a pixel has any transparency, which is useful in certain modeling situations, and setting it all the way to 1 is the same as setting it to 0. For accurate alpha judgments the default of 0 is preferred, but for modeling with lots of alpha textures .5 is recommended.
Three OpenGL lights can be used to illuminate objects in the Solid Draw mode. By default, two of these lights are activated. The first is a key light from the left, and the second is a dimmer fill light from the right. A third light is also available, which by default is set to provide highlights from the lower right. You can enable or disable each of these lights, adjust their colors, or change their angles by clicking and dragging directly on the preview spheres for the lights.
The color-band widget under Color Range For Weight Paint Range check box enables you to override the default blue-to-red coloring range for weight painting and to define your own range when the box is checked.
Clicking the check box for International Fonts enables non-English interface options. There has been a significant push in internationalization recently.
Many other options are available throughout the Blender interface, and it is worthwhile to make a note of the ones that you often find yourself adjusting and to use Ctrl+U to set them as you prefer them once and for all. The Occlude Background Geometry option in the 3D view header is a common option to activate. This makes unseen vertices and faces unselectable when not in Wireframe Draw mode, creating a sharper distinction between selection behavior in Wireframe and Solid Draw modes. If you usually rotate, grab, and scale using the R, G, and S keys, you may want to disable the manipulators, also in the 3D view header. Render settings such as the output format and compression quality are also common places where you might want to customize your defaults.
Setting and saving your user preferences is the first step in optimizing your workflow. This section presents a variety of miscellaneous tips and tricks that you may find helpful for increasing your efficiency and improving your experience working with Blender.
The 3D viewport has a number of hot keys and properties associated with it that enable you to view your work.
Objects can be grouped by selecting the object and choosing a group from the Add To Group drop-down menu in the Object And Links panel of the Object buttons area. Objects that share a group can be appended into other .blend files in one step by appending the group. When lamps are grouped, it is possible to restrict a material’s lighting to lamps from the group by entering the group name in the GR field in the material’s Shaders tab.
Note in the Outliner that groups do not create hierarchy. The group does not represent a parent/child relationship, only a shared attribute. You can change the Outliner view to Group to sort objects by their groups.
Groups are one of many criteria by which you can select objects. You can select variously grouped objects by selecting a single object and pressing Shift+G to open the menu shown in . You can select other objects based on their relationship with the first selected object.
You can also select objects based on linked data, by pressing Shift+L to open the menu shown in and selecting the linked datablock upon which to base the selection.
Using the Select menu in the 3D viewport in Object mode, you can directly select objects by type or by layer. It is also possible to select a random collection of objects and to invert the current selection.
Pressing the B key once initiates the Border selection state, where you can drag your mouse to select whatever falls within the rectangular area you define. Holding down the Alt key while doing this will deselect whatever falls within that area. Pressing the B key twice will enable the Circle selection state, where you can drag your mouse to select all that falls within a circular area following the mouse. Likewise, holding down the Alt key while doing this will deselect the elements.
Holding down the Ctrl key while dragging the left mouse button introduces the Lasso selection state, which enables you to define the area to be selected by moving your mouse around the area directly. This is a very fast selection method.
Numerous little-known selection methods are available for meshes in Edit mode. The first option you have is whether to select by vertex, edge, or face by using the viewport header buttons shown in (both default and alternate icon sets). Vertex, Edge, and Face selection modes correspond with the buttons from left to right (the rightmost button occludes hidden geometry). You can choose more than one mode simultaneously by holding down the Shift key when you click these buttons. You can also switch between these three modes with Ctrl+Tab in Edit mode.
Many selection options are available independently of the specific selection mode you are in. Selection options that deal specifically with edges can be found by pressing Ctrl+E in Edit mode. The Region To Loop selection option in that menu enables you to choose the edge outline (strictly speaking, loop here is a misnomer) of any selected region of faces, as shown in (this image is repeated for visual clarity in the color insert of this book). The reverse, selecting a region of faces based on a selected closed edge border around the region, is possible with the Loop To Region menu entry.
Other very useful selection options include loop and ring selection using Alt+RMB and Ctrl+Alt+RMB. By holding down the Alt key and right-clicking a single edge in Edit mode, you can select the entire edge loop that the edge belongs to. By using Ctrl+Alt+RMB, you select the perpendicular ring of faces that includes the edge you clicked on, as shown in .
In Edge selection mode, the behavior is similar, except that the edge ring selected with Ctrl+Alt+RMB does not include faces, as shown in .
In Face selection mode, there is no difference between the selections. Both hot keys select the same ring of faces, as shown in . These figures are also included in the color insert of this book for visual clarity.
Another useful selection tool, Select Vertex Path, can be found in the Specials menu by pressing the W key when your cursor is over the 3D viewport. With exactly two vertices selected, this option will select the shortest edge path between the two vertices.
Pressing Shift+G opens a menu that enables you to select all similar elements to the currently selected element, based on a variety of possible criteria.
In Vertex selection mode, pressing Shift+G enables you to select other vertices that share the same vertex normal direction as the currently selected vertices, vertices that are members of shared vertex groups with the currently selected vertices, or vertices that are used by the same number of faces.
In Edge selection mode, pressing Shift+G brings up a menu that enables you to select edges that are the same length, run in the same direction, or have the same number of face users as the selected edges. You can also select edges based on whether they are part of a seam or crease or based on their sharpness value. This is an excellent method for quickly selecting all seams on an object: Simply select a seam edge, and then use this selection method to select them all.
In Face selection mode, you can select faces that share the same area, share a material, share an image, have common normal directions, or are coplanar, meaning that the faces share their normal directions and are located on a single imaginary plane in the 3D space. Finally, the Perimeter option enables you to select regions of faces that have the same size perimeter or outline as the originally selected region.
When a mesh has multiple materials assigned to different faces, the Shift+G menu enables you to select faces with the same material.
The most commonly used and taught methods of translating, rotating, and scaling 3D elements are the hot keys G, R, and S. These are the easiest to control, but using other methods can increase the speed and efficiency of your workflow in some cases.
It may come as a bit of a surprise, but the 3D manipulator widgets, shown in (and repeated in the color insert of this book), also require a little practice to get a feel for using them properly. These can be enabled individually or all at once using the manipulator buttons on the 3D viewport header (to select more than one, hold down the Shift key while choosing, just as in other contexts).
The easiest way to use the manipulator widgets is to left-click the colored manipulator widgets (the arrows for translation, curves for rotation, and cube-shaped tips for scale) and drag. The transformation is finalized when you release the left mouse button. To abort the transformation, either press the Esc key or click the right mouse button before releasing the left mouse button.
Finally, you can scale or translate along two axes by holding down the Shift key and clicking the hot spot of the third axis. This is analogous to the way axes are constrained by hot key. Thus, to scale along the x- and y-axes, hold down Shift and click the z-axis manipulator hot spot. The hot spot is the arrow, box, or curve part of the manipulator for translate, scale, and rotate transformations, respectively.