Tuesday, 31 March 2015

Blender: The Essential Hotkeys

In today's tutorial we talk about what I consider to be the essential hotkeys that every novice Blender user should learn and start to practice with as much as possible. The sooner these become second nature to you, the sooner Blender will start to feel comfortable.

Blender has an immense number of hotkeys, and many of the are context-sensitive. A hotkey that applies in Edit mode might do something else entirely when working in a different mode, or might perhaps do nothing. Those are ones that we tend to learn if we're working a lot in those modes but aren't as useful to learn as ones that apply far more generally or are very commonly used in multiple modes.

The hotkeys are also sensitive to the location of your mouse pointer. When you use a hotkey assignment the first thing Blender often does is check its location since a hotkey combination for one pane might do something completely different in another. The only way Blender knows which action your hotkey is supposed to initiate is to take its cue from where your mouse is.

From an Opensim content creator's perspective the number of really essential hotkeys becomes quite small since we're only typically using a very small subset of Blenders features: the ones that apply to modeling (Edit mode) and assembling things (Object mode).

This is less of a tutorial and more a list of the hotkeys that I use constantly and think would benefit a notice to learn as soon as possible. By no small coincidence, they're the letters on my keyboard that are almost completely worn off. I won't explain in detail what each one does or all of the options associated with it since those are usually each an entire tutorial worth of content unto themselves. I've also omitted many I use because they'd likely be less commonly used by most people.

This is intended more as a reference to useful hotkeys, but will also serve nicely as a list of "if I don't know what this means then I should probably learn about it because it's something I might want to be using a lot" subjects.

This is by no means a comprehensive list and you may find that the kind of things you're interested in creating might use other hotkeys that I haven't listed here (and don't often require the use of some that I have). If you find yourself doing something via the menu on a regular basis, look at the menu labels because often there will be a hotkey associated with that action and it will be displayed after the menu item name. Many won't have a specific hotkey but might have a hotkey to rapidly display that submenu which will be placed at the current location of your mouse.

If there's something you find yourself using all the time but doesn't have a hotkey assignment, you can almost always use the User Preferences to assign it one.

Here's the list of the hotkeys I most often use when doing general content-creation:

Universal Hotkeys

The first group of hotkeys we'll look at are ones that are more or less universally available in all modes -- or almost all modes that a beginning user is likely to be in.

Hotkey: assorted numpad keys

What it does: rapidly switch to a specific view

I've talked about the assorted numpad keys in the Baby Steps I tutorial so I won't go into any detail about them here other than as a reminder that:
  • numpad5 toggles between perspective and ortho view mode
  • numpad1 and Ctrl+numpad1 is front and rear view
  • numpad3 and Ctrl+numpad3 is left and right view
  • numpad7 and Ctrl+numpad7 is top and bottom view

Hotkey: Ctrl + S

What it does: saves your file
I guess I really don't need to explain why you might want to use a hotkey to save your file periodically. Blender's propensity for crashing is far less now than it used to be, but it can still happen so don't let too much time elapse between saves. Whenever I've finished any major bit of modeling I save. I also save before I start to use a feature that I'm not entirely sure about. I also save immediately before I start to work with materials to do their UV-mapping and then once I'm happy with my results I save again. Heck, if the dog barks, I save.

You can also do this via the "main" Info pane's menu using File > Save. If you look at the menu you'll see that each action that has an associated hotkey will display the combination in the menu as well. Related actions are Shift + Ctrl + S to "save as" and Ctrl + Alt + S to "save a copy" which I generally don't use nearly as often so I'm more likely to use the menu to access them.

Hotkey: A 

What it does: acts as a toggle between select all visible and select none

If you currently have nothing selected in a scene, using this hotkey will select all visible objects in all visible layers in the scene. By "visible" I mean unhidden, so this can select things that aren't in your actual 3D view at the moment provided they're not hidden.

The only visible objects this won't select are ones that are locked, which you can do by toggling the object's little arrow in the Outliner pane. Anything that's hidden is also protected from selection.

If you currently have 1 or more items selected, the hotkey becomes "select none" so nothing is selected at all in the scene. You'll frequently finding yourself hitting the A key twice...once to deselect a few things you've selected and then once more to select everything.

This hotkey applies in almost all modes that are relevant to an Opensim content creator. The only times it won't work are when making a selection of any type is impossible. Any objects on hidden layers are ignored.

Hotkey: H, Shift + H, and Alt + H

What it does: this trio of hotkey combinations hides and unhides things in visible layers

The basic "H" hotkey tells Blender to hide whatever objects (or in some more the faces/edges/vertices) you currently have selected in a scene. In object mode it has the same effect as clicking on each selected object's little eyeball icon in the Outliner pane. Once an object is hidden it can't be selected, can't be changed by any on-screen actions, and also isn't blocking your view of something else you might want to work on.

Shift + H will hide anything in the scene that isn't selected. Sometimes if faster to select the thing(s) you want to work on and then use this to quickly hide everything else.

Alt + H unhides and immediately selects anything that is currently hidden on the visible layers. It won't unhide layers or unhide anything on those layers. This can be an extremely handy way of making a complex selection by:
  • start by unhiding everything (Alt+H)
  • Select none (A) just to make sure you don't have anything selected
  • now start to make your desired selection, hiding (H) it each time you've selected a part that you want to have as your final overall selection
  • keep selecting and hiding (H) more bits
  • once you have everything hidden that you want as part of your final selection, make sure you have nothing selected (A if necessary)
  • now unhide (Alt + H)
  • everything you have been hiding will now be unhidden and selected and is ready to work on.
  • (optional) you can now use Shift+H to hide everything else if you don't want it in the way
This trio of hotkeys will be in constant use in almost all modes you're likely to work in.

Hotkey: Ctrl + I

What it does: invert your current selection

This hotkey inverts your selection by de-selecting anything currently selected, and selecting anything visible in the scene that isn't currently selected.

Hotkey:B

What it does: activate bounds (rectangle) selection mode

I described the bounds selection method in the Baby Steps II tutorial so I won't detail it here.

Hotkey: C

What it does: activate circle selection mode

I described the circle selection method in the Baby Steps II tutorial so I won't detail it here.

Hotkey: Tab

What it does: toggle from your current mode to Edit mode

You'll be going in and out of edit mode all the time when you're working with things so the Tab hotkey will save you from having to keep using the 3D View pane's mode-selection drop down box nearly as often. It might seem like a small thing since it's so readily accessible down there already, but you'll be amazed how much you'll come to rely on it.

When you're in Edit mode, pressing Tab returns you to whatever mode you were in previously

Hotkey: X  or Del

What it does: delete the selection

Pressing either the X key or the Del (delete) key on your keyboard will delete the current selection. By default a little box pops up at the location of your mouse asking you to confirm that you really want to do this.

Hotkey: Z

What it does: toggle into wireframe view and then (annoyingly!) toggle back only into solid view

I frequently need to switch to wireframe view when modeling so the existence of this handy Z hotkey is very nice. Unfortunately I also do a lot of my modeling in texture view rather than solid view but when you press Z again it only toggles you back into solid view display mode. That's on my pet list of things I with Blender would tweak, having it return you back to your previous view instead.

Main Transform Hotkeys

This next group of hotkeys are all ones that we'll be using constantly when modeling and are applicable to both Object mode and Edit mode unless otherwise specified. These are your go-to transformation tools to move, rotate, and scale objects or selections. If you start working with animations, they're also applicable to an armature in Pose mode.

These key are used to initiate the transformation. For each I indicated "and friends" because the hotkey can then be followed by additional keys to change the way it behaves -- what I consider highly user-friendly complements to the key.

If you've swapped your mouse buttons as I suggested in my other tutorials, when you've initiated a transformation the left mouse button becomes the "confirm" button and the right mouse button is the "abort" button. If you're using Blender's highly counter-intuitive default mouse button settings it's the opposite. You can also confirm using your keyboard's Enter key and abort using the Esc key.

Each transformation works in roughly the same way:
  • you initiate the action
  • the selection will now transform based purely on the movement of your mouse (with no keys or mouse buttons being held down)
  • optionally, while an action is "active" you can enter additional key strokes to limit the axis or specify the amount of a transformation
  • once you see the desired change on your screen, confirm to finish the action.
  • if you change your mind you can abort at any time and the selection will return to exactly the way it was when you started
You can use buttons on the toolshelf to initiate these transforms as well, but you'll find this a lot less convenient because the instant the button is pressed the action is active so the object will begin to change as you move your mouse from there. The same is true if you initiate a transform from the menu system.

In the Baby Steps III tutorial we also looked at a set of icons on the 3D View pane's menu bar that provide you with handles that you can drag around the screen to accomplish these same transformations without needing to initiate them or confirm them. Simply grab the handle and when you're finished, release it.

Regardless of which method you use, once you confirm a transformation you will see details of what you did appear in the "most recent action" part of the toolshelf. You'll then be able to change values and/or options there to further refine or fine-tune the action. Remember that as soon as you do anything else you'll lose that ability.

The context settings of the transformation can be quite important(we talked about those a bit in the Baby Steps III tutorial as well) but are also usually amongst the options you can subsequently change in the "most recent actions" panel.

Here are the "big three" transformations:

Hotkey: G (and "friends")

What it does: initiate the grab (move) transformation action

Blender uses the term "grab" to indicate moving something around and usually only uses the term "move" to refer to moving an object from one layer to another. This is why the hotkey is the somewhat less intuitive "G" key but you'll be doing it so often that you'll cease to think about that pretty quickly.

After pressing G you can then (optionally) press the X, Y or Z key to restrict the movement to only that axis (so G X will limit the movement to be only along the x-axis). You can follow this up with a numeric value as well to specify the exact distance to move. "G Z 1.3" would move the selection exactly 1.3 Blender units along the z-axis.

The context settings tend to be slightly less important for this transformation than they are for the other two, but are still extremely powerful in some specific situations. Most of the time you'll use the defaults and this will behave exactly as you'd expect it to in-world.

Hotkey: R (and "friends")

What it does: initiate the rotate transformation action

The second of the "big three" transformations, rotate does exactly what it says it does: rotate the selected object(s).

Just as with grab, you can (optionally) follow the R with the letter X, Y, or Z to limit the rotation to only that axis, and then also a value it you wish to. "R Y 90" would rotate the object by exactly 90 degrees on its y-axis.

The context settings are extremely important (and powerful!) for this action; in particular what setting you've chosen as your center of rotation as well as which orientation to use. Using the default values for both will make it behave the way you'd expect it to in-world but you can rapidly accomplish some rather complex rotations using other settings (ones that would take you a considerable amount of time, a calculator, and a good grasp of trigonometry to do in-world).

Hotkey: S (and "friends")

What it does: initiate the scale transformation action

Gosh, I'd kill to have this rapid and easy ability to scale object and groups of objects in-world with the kind of precision that Blender allows.

Just like the other two, you have the option to follow this up with an axis letter to constrain the scaling to only that axis, and can specify a numerical value to scale by. "S X 2" would scale an object by doubling its size on the x-axis only. If you don't specify an axis you can still specify a value to have the entire selection scaled on all axes by that amount, so "S 0.9" would make the object 10% smaller.

As with rotate, the context settings are quite important and allow you to rapidly do things that would otherwise take you much longer to accomplish in-world.

Hotkey: M (in Object mode only)

What it does: initiate moving the currently selected object(s) to a different layer

I include this one in this section even though it really isn't a transformation...it's simply the hotkey you use to move one or more objects from their current layer to the identical location of a different layer. This hotkey is only available in Object mode and in some other modes the M key has a completely different function.

Pressing the hotkey initiates the move, displaying the small grid of 20 layers immediately beside your mouse. Click in the box for the layer you'd like the objects to move to or move your mouse anywhere outside the grid box to abort.

Edit-Only Transformation Hotkeys

There are at least three more hotkeys you'll probably tend to use quite often when modeling. These initiate additional types of transformations that are only available to you when you're in edit mode. Some of these also have "friends.".

hotkey: F

What it does: fill a face or edge

The exact effect of this depends on what you have currently selected and whether you're in vertex select, edge select or face select mode. There are far too many variations of effect to even list them all here, but you'll very commonly need to connect or fill things in a mesh as you're modeling it. This is the fastest and most common way to do it.

Hotkey: J

What it does: join two or more selected vertices

Again, the exact effect will vary a little depending on what is currently selected but the general function is to join the vertices with edges across existing faces. This won't bridge gaps (use fill or another connection method to do that) so a connecting face must already exist for this to work.

Hotkey: Shift + V

What it does: initiate the edge-slide transformation

Edge-sliding is a common modelling technique allowing you to "slide" vertices (or edges) along the existing shape of the mesh without drastically altering its shape. It is usually used to help even out the topology of a mesh (the overall spacing of things) in problem areas in an attempt to smooth or even them out in small areas. There are other tools to facilitate this for large areas which you'd typically use first, then come back to the problem spots and adjust them manually using edge slide.

This is one of those transformations that you'd almost never initiate in any way other than via hotkey because you'll first select the vertex (or edge) and with your mouse still in that exact position you'll initiate the transformation and then slowly move your mouse along the line of one of the edges associated with that vertex. The vertex "slides" smoothly along the edge keeping the overall shape of the geometry approximately the same.

You likely won't use this a lot at first but as you make the transition from beginner to somewhat more advanced modeling, you'll begin to use it all the time.

Hotkey: Shift + D (and "friends")

What it does: duplicates the selection, making a complete, separate copy of it

If you need to make another copy of something this is by far the easiest. Simply select whatever you want to duplicate, then shift+D to do so.

This also immediately selects your newly created copy and automatically initiates the grab (move) action to allow you to position them somewhere else if you like (essentially as though you'd pressed the G hotkey). If you'd prefer to rotate or scale your copy instead, press R or S. You can then follow any of these up with the standard set of "friends" options for those three actions to restrict the axis of the transformation and/or to specify a numerical amount.

In Object mode you will see new copies of the select object(s) created and added to your Outliner pane. The name will be identical to the source object(s) with a numerical suffix added to it since no two objects can have the same name. All properties of the objects are duplicated including using the identical materials, UV maps, modifiers, etc. They are, in all respects, exact copies.

In Edit mode the selection is duplicated in much the same way but remains part of the same object. This doesn't create a new object from that selection (there's a different method used for that).

Hotkey: E (and "friends")

What it does: initiate the extrude transformation action

Extruding faces and edges is quite possibly the action used more than any other when modeling anything other than the most basic shapes. Loosely speaking you select an edge or face (or a bunch of edges or faces) and then "extrude" them in a direction. This leaves behind your originals and places a new set of identical ones in the new location while at the same time joining each new one to its original and filling in the necessary faces. Here's an example of a simple sphere where I am extruding a set of faces:

Once extrude is initiated you use you mouse to position the extruded part wherever you like and to assist you with this you can:
  • press the X, Y or Z key to limit the movement of the extrusion to that axis
  • after pressing X, Y, or Z you can then also specify a numerical amount for the distance to extrude, so "E Z 0.3" would extrude the selection and move the new section up by 0.3 Blender units (that's exactly what I have done in the picture above).
  •  rather than moving, you can extrude and then immediately follow that up by pressing the S key to initiate scaling of the extruded section (after pressing S you can then also use any of the "friends" of the scale action so "E S Z 0.5" would extrude, and then immediately scale the new part by 50% on the z-axis)
  • rather than moving you can extrude and then immediately follow that up by pressing the R key to initiate rotation of the extruded section (again, with all "friends" options of rotate being available)
(Effectively you can think of initiating extrusion as also automatically pressing the G key for you immediately afterward since that's the most likely transformation you'd do, but if you'd prefer to do one of the other two you can switch to that instead)

Yet again, context settings are extremely critical for extrusion operations and there are a variety of additional options available.

Hotkey: Ctrl + R (and friends)

What it does: initiate the loop-cut transformation action.

Loop-cutting is a modeling technique used to help create good topology and/or additional detail on a mesh. This only works in edit mode and only works with quad faces (regions of the mesh where all faces are 4-sided). It subdivides a single row of faces into a number of evenly-spaced sub-rows.

In the above picture you can see me in the process of loop-cutting that newly extruded section of my sphere. This will give me new geometry to work with if I want to make a fancy shape to the area.

Loop-cut is a multi-step action:
  1. initiate the loop-cut transformation action
  2. use your mouse's scroll wheel to change the number of cuts from the default single cut to as many more as you need...by default these will be evenly spaced cuts
  3. position your mouse over an existing edge of the mesh to determine where the loops will be cut
  4. once the cut location and number are correct, confirm once
  5. the newly cut edges are now immediately selected and edge-slide action is initiated for the entire selection
  6. you can now move your mouse to help position the loops where you want (if you don't want them evenly spaced and centered)
  7. during this step you can also use S to scale the newly-created loops
  8. during this step you can also use R to rotate the newly-created loops
  9. once all of this is finished you confirm a second time to lock in the results and return to normal edit mode
  10. don't forget that there are even further options then available in the "most recent actions" section of the toolshelf

Hotkey: Ctrl + numpad+ and Ctrl + numpad-

What it does: expend or contract a selection

We talked about expanding and contracting selections in the Baby Steps III tutorial so I won't go into any details of it here.

Hotkey: ALT + mouse-select

What it does: select a loop of edges or faces depending on selection mode

We talked about selecting loops of edges and faces in the Baby Steps III tutorial so I won't go into any details of it here.