Wednesday, 25 March 2015

Blender: Baby Steps

By request, today's tutorial is for the extreme novice...someone who has either never used it before, or has tried for an hour or two and given up. I hope to show you around a little bit, making the Blender workspace a little less daunting, and talk in general terms about the function or use of a few things. Hopefully this will help get you started.

This tutorial is specifically written for people intending to use Blender for content creation for Opensim (or Second Life). If you're planning to use it for something else, some of my comments or suggestions will be wrong or at very least misleading.

I'll also be the first one to tell you that I'm' not formally trained with Blender and learned a lot about it simply through trial and error or experimentation. That means I tend to use names for things that aren't Blender's "official" names for them. I've learned to stop calling the modifiers properties pane "the little wrench thingy's stuff" but I'm sure there are other cases where I'm still using the wrong nomenclature.

While I usually don't like to make assumptions, in this case I'll be expecting that you've already completed all the steps in both the main and "bonus" section of my "Virgins and Mice" tutorial. This gives us all a common starting point where we're swapped select to the left mouse button, we're looking at a completely empty screen because the default cube, camera and light source have been deleted, we're in "user ortho" viewing mode, and we have the Cycles render engine selected.

Like the aforementioned tutorial, today's post won't be making anything. It's more of a guided tour which a few more screen customization suggestions or tips.

Lights, Camera, Action!

These are the things in Blender that Opensim content creators don't care about all that much but it's worth talking about them first. That's be cause we're using a piece of software where all three of those components are a very big deal and critical to the typical user's workflow where Blender is more or less the one and only piece of software they're using to go from a blank screen to finished product. The modeling component of Blender -- which is our primary interest in it -- is only very, very tiny piece of the puzzle.

The finished product for a typical Blender artist might be a static ad for magazine/billboard/promo use, or perhaps a short video, or perhaps even a full feature film. From a game/environment perspective, Blender has the capability of doing the whole thing internally (it has a complete suite of game development tools that let you make Blender games). Here's a YouTube "demo" that shows the kind of output the Blender folks think you'll be trying to create.
So what does this mean for us? It means there's a lot of stuff  - a vast number of features and controls and interfaces and shortcuts and kitchen sinks - that are of absolutely no use to the Opensim content creator but are all there inside the software.

When you're first starting to use Blender and look at that incredibly complex interface with menus all over the place and panels that dock and undock like they have a mind of their own, and then drop-down boxes that change the whole screen to yet another vast array of things...gosh that's scary shit!

So let's make one thing clear right at the start: as an Opensim content creator it's very likely that you'll be using less than 10% of the total capability of Blender. An advanced user might periodically employ a few of those other things to assist in modeling, but for the most part you'll be sticking to a very small subset of Blender's tools -- which also means that other than being visually a bit intimidating, you really don't need to know what most of the rest of that stuff is. You just need to know where your stuff is.

To quote Douglas Adams: Don't panic!

  The other thing it means for us is that Blender's tools and controls might seem a little odd or quirky, or as one of the comments made on my "Virgins and Mice" put it:
...Blender is so foreign, compared to any other software I have ever come across.  Why they chose this approach, is beyond me..
 When you think of it from the typical Blender user's perspective it's actually the Opensim content creator who's the weird one. Why the heck would we want to make incredibly basic low poly poorly lit objects with an insanely limited animation capability and stone-age physics and then export it when Blender has a whole suite of things to make that visual experience infinitely better right there inside the software itself. We must be nuts! (Maybe we are...)

It also means that Blender's layout, features, and general methodology is designed in keeping with that typical user's needs, convenience, and workflow, and makes a lot more sense when viewed in that light (though the left-right mouse button thing is still an utter mystery to me!).

The typical user wants an easily-customize and flexible workspace. They want to be able to maximize their viewing area for preview yet almost instantly get at all the tools and panels necessary to do their tweaking. And most of all they don't want to be clicking their way through a million menus to do something so there's a very heavy reliance on hotkeys as part of the standard interaction with the tools and interface. This brings me to...
  • Tip#1 If you ever hope to become comfortable with Blender, start learning and using its hotkeys right away.
Hotkeys aren't considered an alternative method for doing something. They're usually the primary method for doing it, and in most cases menus or interface buttons are just a back-up alternative. In some cases there are even undesirable side-effects when you don't use a hotkey.

The sooner you start to learn and use the primary ones, the sooner they'll become second nature to you and, in turn, the sooner Blender will start to feel almost comfortable as a working environment.

Speaking of environments...let's start getting acquainted with what we've got.

The Default Screen

If you did the previous "Virgins and Mice" tutorial whenever you start up Blender your screen will look like this (or very close to it). If yours is a little different it's my fault -- I might not be remembering correctly what a "virgin" screen looks like any more. It should be close and anything you see in the following picture that isn't on your screen is something I'll be mentioning in this section.

This is called the "Default" view and is one of nine different basic view layouts that Blender installs. When I say "view" in this sense I'm not talking about skins...I'm actually talking about entire view screens. There are many different skins that further change or customize the working environment and you're welcome to experiment with those until you find something you like. In fact the entire Blender screen (with the exception of the window edges) is 100% customizable via User Preferences.
The entire Blender window is subdivided into "panes" and you can add, size, change, move, and remove panes very easily -- so easily that it's not uncommon to accidentally do something to one when you're in a hurry. Some panes have their own menu bars, others have icons or tab, and others don't have either and use some other control mechanism. It all depends on what type of pane it is. Panes can be a real pain until you get used to this.

In the Default view there are 5 panes, each of which we'll talk in some more detail about later:
  • The "Info Pane" is the one running across the top of the entire screen. You probably think that it's the main menu bar since that's what it most closely resembles. Blender doesn't actually have a main menu bar...it just has a pane that looks (and behaves) like one and usually gets put in the place you'd expect to find a main menu.
     
  • The vast majority of the Default view screen is taken up with the second pane, called the "3D View" pane. That's the area where you will do the bulk of your actual work. The 3D View pane has two addition sub-panels built into it which are shown in my picture above:
    • the one on the left is what I call the "toolshelf" because that's where you'll find most of the tools relevant to what you'll want to do in the main screen area
    • the one on the right is called the "properties" panel and shows some detailed information about something you have selected (and allow you to change it there) plus some other things, most of which Opensim creators will ignore.
    As long as your mouse is hovering somewhere inside the main 3D View area you can hide and show the two panels using the hotkeys "T" for the toolshelf and "N" for the properties (I have no idea why they chose N..."need to know" maybe?) which toggle their visibility.

    I suspect you all know what I mean when I say "cursor" in the context of a text-based program...it's the place where text will appear if you start to type. Blender's 3D View has a cursor too, but it's a 3D cursor. It looks like a red-and-white striped target circle and in the previous tutorial we placed it at the <0, 0, 0> point of the screen. It has a very wide number of uses and is the thing that was annoyingly moving around when you tried to left-click on things that very first time you tried to play with Blender. With our mouse buttons now swapped, you can move it by right-clicking somewhere where instead. Why you'd want to move it is a different story...for now, its main purpose is to make the place to add a new object into the scene and most of the time as beginners we want that to be at the <0, 0, 0> spot (to put it there use 3D View menu: Object > Snap > Cursor to Center)
     
  • Down below the main 3D View area is another pane called the Timeline. For a Blender beginner that's an utterly useless one and later in this tutorial I'll recommend changing it to something that will be very useful.
     
  • Over at the top right is another pane called the "Outliner" which is sort of a list of everything in the scene arranged like a file tree. Out list is almost empty at the moment, containing only two things (both of which are useless to us but they'll always be there).
     
  • And then finally the fifth pane is called the "Properties" pane, making it easily confused with the 3D View's properties side-panel when I try to describe things. This is the "bread and butter" pane that gives us rapid access to almost all of the key features that we'll be using in Blender (as well as many, many features we won't).
Each of these panes can be made larger or smaller by moving your mouse to the edge of it -- your mouse will change to a two-way arrow when you're positioned correctly -- and then click-and-drag it just like you'd scale any screen window.Be very careful about that mouse pointer! You want to make sure it's a two-way arrow, not a plus sign, before you start to drag it!

The plus sign (seen when you hover your mouse over the lower left or upper right corner edge of a pane) subdivides the current pane, adding a whole new pane that you're moving and leaving behind another. This further chops up the precious screen real-estate but can be very handy at time when you want to simultaneously view something from multiple angles or change it to a different type of pane that you need but isn't normally part of this view.

Hotkey are very pane-sensitive! The effect of a hotkey will very often (almost always!) depend which pane your mouse is currently hovering over, and even what part of a pane. This will take some getting used to, but once you do you'll discover that it very greatly speeds up your workflow and drastically reduces the number of mouse clicks required to do something.

Who Cares About Time?

I mentioned above that the 3rd pane -- the "Timeline" at the bottom -- is one that isn't very useful to us at all for Opensim purposes. If you get into animations or a few other more advanced operations it will become more relevant, but when you're starting out it's just sitting there eating screen space and making the interface even more confusing.

I suggest changing it to something that will be very much more useful (though no less confusing) and will save us some time and hassle later: the UV/Image Editor pane. How do we do that?

Each pane has a little icon that usually appears in it's bottom left corner (in a few it's in the top left corner instead) and is actually a drop-down box that lets you pick what type of pane it is. The little icon changes depending on what pane type it is but is always in one of those two locations. You can change any pane at any time just by clicking on it and picking a different one. Let's do that.

Click on the little icon on the very left end of our Timeline pane to see the full list of different pane types, then pick the one called "UV/Image Editor".


After doing this you may wish to use the Info Pane's menu (what we've been calling the main menu in previous tutorials and I'll now return to doing so) and do File > Save Start-Up File which will now save this as your new preferred Default view when starting Blender.

Looking Around Some More

Now that our interface is a bit more useful to us, let's start looking around a little more.

You might have noticed that I've been quite careful to keep saying "Default view" in this tutorial (with a capital D at the start). That's because this is only one of Blender's nine (9!) preset views and it happens to be called "Default." Each different view is a fairly common screen pane arrangement for a different type of Blender task.

For an Opensim content creator, you'll now be spending about 99.9% of your time in Default view thanks to our swapping to the UV/Image editor instead of the timeline. If you want to have a peek at some of the others, click the drop-down box in the main menu at the top and pick one of the others. All of Blender's preset views put an Info pane at the top so you'll always have that "main menu" with the drop-down box to let you get back to something less scary. When you've had a look, come back to the Default view.


 You can add even more views to that list if you want to, saving any screen customizations you might happen to find useful and want to be able to return to another time in this file. That's done using the little plus sign at the right end of the box but we won't go into the details. Whatever you do, don't click the X beside it while you're in Default view...that will delete the view and you'll have to restart Blender or rebuild the entire view from scratch again.

In our Opensim viewer environment we use the term "camera view" to describe the position and angle we use to view the world. In Blender the word "camera" has a whole different meaning because that's an object that a Blender artist places in the scene and can control (including scripting movements with it, changes of camera angle, and all that fun stuff). In Blender we just say "view" or "screen view" (without capitals) to talk about our personal view of the Blender screen.

Just like almost any 3D environment (or game), Blender has its own approach to controlling our view that is a little bit different than others and takes a bit of getting used to (but you had to do the same thing to get used to your Opensim viewer too, and it's probably different than the controls to other games you play or other 3D software you might use, so you'll get used to Blender's too.

With Blender, the middle mouse button and scroll is your flexible view control (and these days the most common type of mouse has a clickable scroll wheel that does both) and you'll be using that in conjunction with two keyboard keys: the ctrl and shift.

Let's give ourselves something to look at.

  • First, make sure your 3D cursor is at the center of the main 3D View's screen
  • Now in the 3D View's menu bar at the bottom, select Add > Mesh > Monkey
Monkey? What?!


Yes, Blender's cute little play toy that they've been using for years to show the effect of various tools is a monkey's head. At once time I seem to recall they even used it as their logo. They like it so much that they include it as a mesh type you can add to the scene (along with more common things like cubes, spheres, torus, etc that you're familiar with from Opensim building, plus some others you're not). It's slightly more interesting to look at than a cube, plus it's easy to know whether you're looking at it from the front, left, right, top, bottom, or sides, so it's actually a convenient object for us to use.
 
Now let's learn about moving our view around using the mouse.
  • Press down on the middle mouse button and, while holding it down, move your mouse around the screen. You'll see that the causes our view to rotate around the monkey's head. When you have an angle you like, release the middle mouse button.
  • You can zoom in an out just like in Opensim, using the scroll wheel.
  • You can also zoom in and out by holding down the ctrl key, then pressing your middle mouse key and move your mouse.
  • You can pan left and right by holding down the ctrl key and then use your mouse's scroll wheel
  • You can pan up and down by holding down the shift key and then use your mouse's scroll wheel
  • You can also pan up, down, left and right by holding down the shift key, then press your middle mouse button and move your mouse in the direction you want to pan.
When you're very used to Opensim camera controls this will take a little bit of getting used to, but once you've working in Blender for any length of time you'll find it extremely fast, efficient and comfortable (or at least I do...I like it a lot more than the in-world camera controls).

If you get lost (and believe me, we all get lost and suddenly can't find the part of the screen we want to be looking at) there are some incredibly useful "home" positions available to you via hotkey. You will use them all the time when modeling so why not start getting a feel for them now? They are all on your numpad keys.

It's important to remember that all of these keys only work when your mouse pointer is somewhere inside the main 3D View window, and not hovering over its menu or either of its side panels. It has to be inside the actual working space for the hotkeys to work.
  • numpad1 is front view
  • ctrl+numpad1 is back view
  • numpad3 is right side view (ie looking at the object from the right, so you'll see its left side)
  • ctrl+numpad3 is left side view
  • numpad7 is top view
  • ctrl+numpad7 is bottom view
The numpad2, 4, 6, and 8 keys are used to
  • rotate your view around the object in steps (2 and 8 are down/up, 4 and 6 are left/right)
  • if you hold down the ctrl key then use them, they pan (down/up/left/right)
  • if you hold down the shift key then numpad4 and numpad6 rotate your view on its own axis (and doesn't do anything with the others)
  • if numpad9 has a use, I don't know what it is and don't use it
 And then last but not least...numpad 5 is a toggle between "ortho" and "persp" viewing mode. The effect if this is a little hard to describe but you'll see it quite distinctly on the monkey's head.

Perspective view is what you're used to seeing in-world in Opensim but is actually fairly difficult and inconvenient to work with when you're trying to get things to align nicely. It's great for giving the illusion of depth and a 3D environment, though, which is why our views use it.

Ortho view removes that perspective distortion and keeps all lengths their actual length which is fantastic for building but not good at all for trying to trick the eye into perceiving a flat screen space as being three-dimensional.

In this picture I've split my workspace into two 3D View panes, setting the left side to perspective view mode and the right side to ortho view. We're looking at the a single cube from the identical position. The perspective view looks 3-dimensional but it's hard to tell whether it's really a cube, a rectangular box, or even whether any of the side's lengths are really identical. In ortho view the 3-illusion is completely gone, but you have a far better idea of its real shape. When modeling we're almost always much more interested in the actual shape so ortho is a lot more useful.

I recommend (strongly!) that you do the vast majority of your Blender work in ortho view, then just quickly use the numpad5 key to toggle to perspective view on occasion to check out how it might look in-world, then quickly toggle back. Once you've been working in ortho for a little while, you'll detest building with prims in-world in perspective view

I think that's enough information to throw at a new user in one sitting, so I'll stop here. I hope this gives you a little better sense of the environment you'll be working in when you use Blender, and helps you take that first baby step towards mastery of a very cool, powerful piece of software.