Blender is a beast. It is one of the most impressive feats of FOSS ever created.

Resources

Rendering

Partially

Use [C]-b to select a box to render. This puts the powerful and resource hungry rendering engine to work only in this region of interest.

To clear this rendering ROI box [C]-[A]-b. This is important if the ROI box was done in the camera because that is how the final animation will be done.

In the Sampling section of the Render properties, the Samples box contains two fields, "Render:" and "Preview:". The Preview one is for what is rendered in the preview box set with [C]-b. This can be very helpful to determine the level necessary for a more complete render.

Camera Positioning

If you really have your act together, you can be very explicit of course, but I often need to move around looking at the scene as the camera will see it. To do this easily, use 0 to get to the camera view. Then go to View→Navigation→Walk Navigation. Now you can use WASD to pan around (also E for up and Q for down) and the mouse to aim the camera. Once you think it’s a decent shot, press F12 to render it.

Performance

Also note that you can change the level of detail of the rendering to speed up test renders. To find this go to the "Properties" bar; choose the "Render" button which looks like a camera; look for the "Sampling" section which is between "Freestyle" and "Geometry"; in this section look for the "Samples:" fields; specifically look for the "Render:" field. A value of perhaps 1024 is pretty decent and takes a while and a value of 32 or 64 can make things go quickly for previews. I don’t know exactly why sometimes this Sampling section is absent but this seems to be the important thing to adjust for grainy quality problems.

If you have access to a fancy GPU, rendering might be faster. But it might not. This is not a slam dunk in the Blender world like in other applications. If using a GPU consider adjusting the values in "Render→Performance→Tiles→Center→(X,Y)" to something larger than the normal "16" that seems pretty decent for CPU rendering. Note that if you do have a fancy GPU that is competitive or superior, you can run two instances of Blender, one rendering with the CPU and another with the GPU. I can’t easily think of a better way to punish a computer’s entire capability!

Single Image

Sometimes you don’t need a video and you just want a still render of your scene. Go to the UV/Image Editor window type at the bottom of the rendered image. Got to Image and then Save As Image. Also F3 works.

To Images

It often makes a lot of sense not to render to a full video file. If you have hundreds of frames and Blender crashes at frame 300, if you’re rendering directly to a video file, you’ll need to solve the problem and start from the beginning. Rendering to images, therefore, usually makes a lot more sense. This also allows you to distribute the load of rendering between many different computers.

The important trick is how to assemble the still frames into the final video file that you want. You can use another tool like this.

avconv -i %04d.png -r 24  -qscale:v 2 xedlamp.mp4

This will take everything named something like 0003.png and create the video file. Also explore ffmpeg if that’s currently in vogue on your system (see my video notes for annoying details).

Here’s another trick to get an animated gif.

convert -delay .033 -loop 0 lamp*.png xedlamp.gif

Or here are some fancy ImageMagick options.

convert -quality 5 -dither none -matte -depth 8 -deconstruct \
-layers optimizePlus -colors 32 -geometry 400x -delay 2 -loop 0 \
frame*.png a.gif

Note especially -delay 2 which seems to be the minimum value. Anything less will make, strangely, add much more delay ref. Also note that if there are errors, the optimizer might need more room. See this.

You can also use the Blender video editor and "Add" "Image", select all the images and eventually export it when you’re happy. See video editing below.

Remotely

One obvious example for normal people is letting AWS do the heavy lifting for you. This way you can optimize the type of engine you use (GPU or CPU) for your project and get all of that heat out of your house. Step one is to set everything up exactly like it needs to be in your Blender project. Make sure that if you were using a GUI session you could just open the project and hit [F12] (Render Image) and everything would work perfectly. If that’s the case, log into your remote Linux system. Make sure Blender is installed. Thankfully that’s easy.

sudo apt-get install blender

Rsync your project to the remote system. Run the render with something like this.

blender -b chessScene.blend -o //chessScene -F PNG -f 1

This will produce a file chessScene0001.png with no GUI fuss.

To do a complete animation use -a for the whole thing or pick specific frames with -f 1..20 or something like that.

blender -b lamp.blend -o //lampoutput -F PNG -a

Of course one problem with this strategy is that you can send up some geometry that is pretty lean and render it into lavish high frame rate bit maps; this can blow up the size considerably. So just think about that with respect to any transfer/storage fees that might exist. If you just happen to have access to an awesome private GPU machine, go for it!

3-D Modeling

X is red, Y is blue. Right hand coordinates, Z is up and blue.

Window Layout

To split windows into subwindows, drag the upper right corner down (horizontal split) or left (vertical split). To combine windows, make sure they are the same format (e.g. one big pane doesn’t go right into 2 horizontally split panes) and drag the upper right corner up or to the right.

A huge tip for people with multiple monitors is that you can detach windows by doing the same drag of the upper right corner, just hold down Shift first. Which way you drag doesn’t matter—the window is just cloned with it’s own window manager decoration.

Volume Measurements

Sometimes you want to design something complicated and know how much concrete or 3d printing pixie dust the thing will require. Blender has an extension called Mesh:3D Printing Toolbox which can do this. Just go to user preferences, "Add-ons" and check it. Then you’ll get a tab for that. You can then click volume or area for a selected thing and go to the bottom of that panel to see the results.

Mouse Buttons

  • MMB - (Middle Mouse Button) rotate (orbit) view

  • [C]-MMB - scale view (zoom/move view camera closer)

  • [S]-MMB - pan view (translate), reposition view in display or, as I like to think of it, "shift" the view

  • [S][C]-MMB - Pan dolly a kind of zoom along your view

  • RMB - selects objects (object mode) or vertices, edges, faces in corresponding edit mode

  • LMB - Position 3-d cursor

Keyboard Shortcuts

There are 1000s. Here are some that seem useful that I don’t want to forget.

  • [Space] - Brings up the "search for it" menu. Just type the thing yo want and that option is found often with its proper key binding shown.

  • [TAB] - Toggle Edit Mode and Object Mode

  • n - hide/show main "3D View" modeling properties like "Transform", "View", "3D Cursor", "Item", "Display", "Shading", "Motion Tracking", "Background Images", "Transformation Orientations"

  • [C]-n - Reload Start-Up File (object mode) OR make normals consistent (edit mode)

  • t - hide/show main "3D View" tool shelf "Transform", "Edit", "History"

  • a - toggle select all and select nothing

  • [S]-A - Add menu (in Object mode)

  • x - delete menu, usually x then enter deletes selected vertices

  • z - toggle viewport shading between "wireframe" and "solid"; there is a pull-up menu on the "3D View" toolbar with more options like "bounding box", "rendered", "material", and "texture"

  • [C]-z - Undo; also found in the "Object" or "Mesh" pull-up menu in the 3D View toolbar

  • [S][C]-z - Redo (in theory)

  • [C]-i - Invert selection

  • b - Box border select

  • e - extrude selected items

  • [A]-D - Duplicate object

  • [S]-R - Repeat last operation (duplicate for example)

  • [C]-b - draw a box which, when switched to "render" mode will render just a subsection

  • [C]-MMB - Amazingly, this can scale menus. For example to make them more readable ore make more of it fit.

  • [A]-C - Convert. This converts some fancy object like a metaball or a path or text to a mesh. Or covert the other way from mesh to curve.

Views

  • / - Toggle global/local view

  • [Home] - View all

  • [S]-F - Fly mode to AWSD controls (also E&Q for up/down, escape to exit)

  • . - View selected (Maybe only numpad)

  • 5 - Toggle Orthographic/Perspective

  • 1 - Front

  • [C]-1 - Back

  • 3 - Right

  • [C]-3 - Left

  • 7 - Top

  • [C]-7 - Bottom

  • 0 - Camera

  • [A]-h - Show hidden

  • H - Hide selected (also note [C]-LMB on the eye in the Outliner hierarchy)

  • [S]-H - Hide unselected

Scaling/Panning Seems Stuck

Sometimes it seems like you can’t zoom or pan the view. The trick here is to get the 3d-Editor window and go to ViewView Selected. This has a shortcut of . on the numberpad (if you have one). That’s super frustrating so this tip can be very important.

Another solution that may be easier is to be in object mode (perhaps by pressing tab) and then press the "Home" key. This resets the view stuff. It would be nice to figure out what’s really going on there but persistent confusion may exist.

Origin And 3D-Cursor

I find the distinction here can be tricky to get used to.

The origin is the tri-colored unit vectors with a white circle around it. The 3d-Cursor is a red/white circle crosshairs. Position the 3D-Cursor by LMB; note that it should stick to the things (e.g. faces) sensibly. Note that this is less obvious in wireframe mode. When in "Object Mode" in the tool shelf, there can sometimes be an "Edit" submenu; in that can be found a "Set Origin" pull down. This includes "Geometry to Origin" and "Origin to Geometry". Also "Origin to 3D Cursor" and "Origin to Center of Mass".

  • [S][C][A]-c - Bring up menu for origin management

  • . - Move origin to 3D-Cursor

  • [S]-C - center view on something pleasant and move the 3-d cursor to origin

  • [S]-S - Open snap menu, handy for putting the 3d cursor to selected or grid, etc. One of the best techniques for positioning the cursor is to use [S]-S and then "Cursor To Selected" which will put it perfectly in the middle of the face.

Layers

Those little 2x5 grids in the menu bars are layer slots. To change the layer of an object, select it and press "m". This brings up a layer grid to select where you want it. To view multiple layers you can click on the boxes in the grid using shift for multiple layers.

Objects

Objects can be dragged around and placed in different hierarchical arrangements in the "Outliner". I’ve had this sometimes get stuck and it’s pretty strange, but reloading can cure it.

Having a good object hierarchy can make operations easier since it allows finer control of hiding or excluding from rendering.

To create a different object that is not part of an existing mesh, use [S]-d for "duplicate" and then hit the "p" key which will bring up a menu allowing the "Selected" object (or "All Loose Parts") to be made into their own objects.

Bevel

Putting a bevel on something can be very handy. In the real world, this is technically called a chamfer (1 flat cut) or a fillet (a rounded edge, made of many faces in Blender). The important key binding is [C]-b but note there is also a filter way. This tip discusses and shows both methods.

Knife Tool Cut

  • [Space] - finishes knife tool operation

  • S - suppress the auto snapping.

  • [C] - snap to midpoints

Boolean Composition

A very powerful way to construct complex but realistic geometric shapes is to compose them as a series of additions and subtractions of simpler shapes.

The operation I find most useful is subtraction. Imagine an apple as shape A and a bite out of the apple as shape B. The Apple logo could be described as A minus B. To achieve this…

  1. Select the A shape.

  2. Go to the modifiers wrench in the properties bar.

  3. Choose "Add Modifier→Boolean"

  4. Change "Operation" to "Difference".

  5. To the right of the Operation click the "Object" button.

  6. Select the B object from the list.

  7. View the previewed change with wire frame mode.

  8. Commit to the change with "Apply".

  9. B may disappear and A will be suitably modified. Or B will still hang around and you have to manually erase it leaving the subtracted A.

The other modes work similarly.

Lamps

  • Point - Omnidirectional point (e.g. normal light bulb)

  • Spot - Directional point (e.g. theatrical spotlight)

  • Area - Light producing area (e.g. window, TV)

  • Hemi - Soft distant light (e.g. cloudy sky)

  • Sun - distant directional light (e.g. sunlight)

Diffuse is when light scatters as on a rough surface. Specular is where the angle of incidence is equal to the angle of reflection.

Animation

Timeline

  • [A]-a - Play animation or if in progress, stop animation.

  • [A]-[S]-A - Play animation in reverse.

Keyframe

  • i - insert keyframes. This is important to get the yellow line key frames to show up. Use i again for the next place. Also to interpolate values of a miscellaneous blender variable, you can hover over any slider bar and press i. Note that when editing the objects' position, this is not automatically updated on the keyframe and will revert (unless auto record is on); just make sure to press i after every pose edit.

  • [A]-i - Delete keyframe. Put current timeline frame on the desired keyframe and put the cursor over the main 3d window.

When the value fields in the properties menu show up yellow that means they are showing the value of a selected keyframe. When they show up green, that is one of the frames which is being interpolated. (So it seems to me.)

The red record button on the tool bar is to do automatic keyframes. With this engaged, LocRotScale changes are automatically assigned to the current time location as a keyframe.

Dopesheet

To move all of the animations such that the effect is inserting more frames in the animation, you can go to the dopesheet and press a to select everything. Then press "g20" to move everything 20 frames forward.

Python

The documentation is mysterious and this seems an arcane topic, but this link to official documentation is extremely helpful.

After looking at the quickstart guide you can start to appreciate the Python attributes and operators shown in UI hover tool tips.

Fix Autocomplete Key Binding

First off the default keybinding for autocomplete in the console simply won’t do (it’s [C]+Space). Go to "File→ User Preferences→ Input→ Console→ Console Autocomplete" and fix it to

From the Python console this will dump vector (object) coordinates for selected vertices.

[i.co for i in bpy.context.active_object.data.vertices if i.select]

Use i.index to get the vertex number instead of the coordinates.

Video Editing

Although Blender is primarily a rendering tool, since the purpose of its rendering was envisioned to be for high quality 3d animations, it also is good at editing those animations. I have tried other video editors and found them to be very unstable with more than a few megabytes of material. Blender, on the other hand, has never failed me no matter what absurd thing I tried. The only limitation with Blender is understanding the millions of tools, options and settings. When a tool has so much functionality, it becomes difficult to simply read the manual which could take years and still hide the part you need among the stuff you’ll never care about.

Key Bindings

  • Hovering in the timeline area (not the sequencer), "s" and "e" will set the start and end frame to whatever the current position is.

  • "Home" in the preview window will make the image fit as well as it can.

Sequencer

  • Middle mouse button - Pan Sequencer area.

  • [C] + middle mouse button - Rescale Sequencer area.

  • Right mouse button - selects strips. Not left!

  • [S] + right mouse button - selects (or deselects) multiple strips.

  • Using the right mouse button to select a strip and then holding it down and moving a bit puts you in a move mode. You can let go of the right button and position your strips. When in the correct place, the left button with exit the move mode and leave the strips in the new place. Note that you can drop strips so that they overlap a bit and their box will turn red. When you place them, they will get auto positioned so that they are perfectly end to start.

  • Hovering over the Sequencer, "page up" will position at the end of the next clip. And "page down" will position the current frame at the beginning of the last clip.

  • "b" - in the sequencer start a selection "box" that can select multiple strips. Left clicks select the box.

Preparing New Blender For Video Editing

On Debian sudo apt-get install blender is all there is to obtaining a working Blender. The first time you run it, there are probably some things you will want to adjust.

  • Click on the main graphics window somewhere to make the initial splash dialog go away. Now you’re looking at the "default layout".

  • Click the "layout drop down" button. Its tool tip is "Choose Screen layout" and it’s just to the right of the "Help" section of the main ("Info" - change with most top left icon) pull down menus. Choose "Video Editing".

  • This brings up the default Video Editing layout which contains these sections.

    • Video Preview Window - where the videos are shown.

    • Curve Graph Editor is to the left of the video preview window. Used to control complicated things like the speed of transitions, etc.

    • Video Sequencer - under the previous two areas is where video scheduling happens in a Gantt chart style.

    • Timeline - Useful for key framing.

  • The menus can be a little weird in Blender. For example, in the Graph Editor, the menu that controls it is below the graph display. Click the button to the left of "View" whose icon is a blue and white plot next to up and down arrows.

  • This brings up the major components menu. Change the Graph Editor into a Properties window by selecting "Properties".

  • In the Properties window, look for the "Dimensions" section and if it is open it should have a "Render Presets" menu. Use that to choose what kind of video you’d like to have. I chose "HDTV720p" for unimportant YouTube work, but "HDTV1080p" might also be good. Note that just below this menu, you should now see the resolution X and Y values that correspond to the preset you just chose.

  • Normal YouTube frame rate is 30fps. To the right of the X and Y dimensions is "Start Frame" and "End Frame". If you start at frame #1 and have 60 seconds of video at 30fps, what frame will you stop at? It’s the product of the two, 1800. If you know this ahead of time, adjust it now. If not, keep this in mind when it’s time to render.

  • Below the Start and End frame settings is the "Frame Rate" menu. You can change this to 30 or something else. One of the presets is "custom" so it doesn’t have to be a "preset" at all. Note that it is extremely wise to set this to be the same as your source video material.

  • Scroll down the Properties Window to the "Output" section. The default output directory is /tmp which is fine for many purposes, but if you’d like your Blender related files stored in a more sensible place, change this.

  • A bit below the output section is a menu where you can choose the output format. The default is set to "PNG" still images which is interesting to remember, but almost certainly not what you normally will want. Mikey suggests "Xvid". Unfortunately Xvid caused a lot of problems with seg fault crashing on rendering. Another possibly good choice would be "H.264" or whatever you think you’ll need. If a video you produce doesn’t work on the target you envision, return here to try different possibilities.

  • Next to the output type are two buttons "BW" and "RGB" which are both unselected. Unless you’re making an artsy black and white video, activate "RGB".

  • Go down to the "Encoding" area and open it if necessary. Go to "Presets" and choose "Xvid" here too (or whatever you’re using). This will then show up in the "Format:" pull menu nearby as selected.

  • Leave bit rate set to "6000".

  • Find the "Audio Codec" section. The default seems to be either "None" or "MP2". Mikey suggests "MP3" for videos with audio. Of course set "None" for silent videos. If you use MP3, change the bit rate to "192".

  • Back up at the top of the properties section, find the "Render" area and its "Display:" preset menu. Choose "Keep UI". Helps CPU usage during rendering. Just renders to a file.

  • Below the timeline area, look for the "Playback" control. That brings up a checkbox menu. Check the following.

    • Audio Scrubbing -

    • AV-sync - Make sure A and V are not misaligned.

    • Frame Dropping - drops frames to ensure smooth editor playback.

  • Go to "Info" section’s "File" menu and choose "User Preferences". Then select the "System" tab on the far right. Scroll down and look in the middle for "Memory Cache Limit". For 16GB systems a decent value is "10240" (add a zero to the default). Click "Save User Settings".

After you make all these initial changes, it is wise to not repeat the process every time you use Blender. Go to the main "Info" section’s "File" menu and choose, "Save Startup File". After doing that, you’ll be loading up Blender with your presets ready to go.

Importing Videos

  • Imports are placed at current (green line in sequencer). So get that in the right place.

  • Use "Add" menu below sequencer. Select "Movie". Choose from the file browser.

  • Two strips from the file show up, an audio and a video.

    • Green - Audio

    • Blue - Video

Cutting

Often you just want to do a simple thing like cut off a bunch of stuff at the beginning and end that you don’t care about. The basic process is as follows.

  • Load the movie.

  • Right click to select the one you want.

  • Left click to position the current frame where you want the cut.

  • Shift-K to make a "hard" cut. This makes two concatenated clips.

  • Right click to select the end (if trying to cut off the end) or leave beginning clip selected.

  • Press DEL key and then confirm by left clicking the "Erase clip" message.

Adding An Image Or Static Overlay

Reasons for doing this might include the following.

  • Putting annotations on a video like YouTube used to allow.

  • Blocking out a certain part of the video.

  • Watermarking or branding of some kind.

The way to do this is to create an image separately.

  • Use the dimensions shown in the render presets to make an image the perfect size for overlaying. Note that you don’t have to go that big.

  • Use Gimp. Make sure the background is transparent where you want the video to show through.

  • Save the image and return to Blender.

  • Go to "Add" item on the sequencer menu.

  • Add an "image" select your file.

  • Position it and open it up a bit by dragging with the right button.

  • I found it easiest to match my entire scene by choosing the video I wanted it on, noting the frame start and length, then choosing the image and manually entering those so they match.

  • Go to the image properties menu on the right and change the "Blend" method to "Over Drop". This makes transparent parts show the video.

  • You can also adjust the offset (which is why you can get away with smaller images than the entire scene).

Split Screen

Similar to overlays, this technique can help present multiple simultaneous video streams. The perfect case example is trying to visualize a side by side comparison of two graphics cards. Assume that I take a video with card A called A.mp4 and a video with card B called B.mp4. I want to show the left half of A on the left of the screen and the right half of B on the right side of the screen.

  • "Add" both "movies".

  • Slide them around to align the content and trim the ends if needed.

  • With A selected, "Add" an "Effect Strip", "Transform".

  • With the green transform strip selected, go to "Strip Input" and check both "Image Offset" and "Image Crop".

  • Leave the offset at zeros but check the box.

  • For the crop, change the "Right" value to the width of the video divided by 2, e.g. 960 for 1920 wide (dimensions are helpfully listed under "Edit Strip" properties at the top). (Also make sure your overall render dimensions are as expected.)

  • Then at the top change the setting "Blend" to "Alpha Over".

That’s it for the transform strip. Make sure the transform strip is on top. The B strip needs to be visible, but you can turn off A’s visibility and just let the transform render what is needed from it.

Rendering

  • Save the project before attempting it! Actually save early and often, of course.

  • It might not be a great idea to render off of clips that are on flash drives. But it can be done.

  • Double check that Keep UI is set.

  • Choose "Render Animation" or Ctrl-F12 to start.

  • I got a lot of Segmentation faults when using Xvid. Better to use H.264.

Mikeycal’s Videos

It seems that a completely reasonable way to study video editing in Blender is to watch some videos on the topic edited with the same. The videos I found helpful were by "Mikeycal Meyers". The problem with the videos was that they were so comprehensive and patient that there are hours of material. That is a worthwhile exercise to initially learn Blender video editing, but after the first viewing, I found I needed a simple reference to the stuff he talked about. Besides providing a quick reference for cryptic key bindings, if I still have trouble, this list of what the videos contain can direct me to it. I commissioned my son to make the original list this is based on.

0 Introduction

No technical content.

  • History

  • Euros and dollars were equal in 2002

  • Blender was bought from someone else

1 Layout - Simple Stuff

  • Top left corner has drop down to select layout; to edit videos select the video editing option.

  • Replace curve graph editor w/ properties menu

  • Sequencer is where you put your videos

  • Properties window is important used for about everything

  • Set all default properties

  • Render presets

  • HDTV 1080p

  • For youtube use 30 frames per second

  • Use vlc to find FPS

  • Choose where rendered product goes, usually /tmp at default

  • Reset output format

  • xvid works best

  • Select rgb

  • Set preset to xvid

  • Set bitrate

  • Choose audio encoder to mp3

  • Set to Keep ui

  • Select audio scrubbing

  • Select AV-sync

  • Select Frame dropping

  • Save as startup file (preconfigured template) before any other steps

2

  • Channels are rows

  • Drag up for more channels

  • put cursor at frame 1

  • Click add and select type of media

  • Right click selects

  • Number on strips is different

  • Must be the same to be in sync

  • Select right frame rate

  • Strip/set render size

3

  • Right click is to drag and to select strips.

  • Import video.

  • Handles at front and back of strips to edit length.

  • Use cut tool to hard cut the strips.

  • Middle mouse (may not work).

  • Number on strips is # of frames.

  • Mouse wheel to zoom.

  • Home to see all of the strips.

4

  • Group select is B or Shift+right click.

  • Soft cut is when you drag the back.

  • Hard cut is Shift-K

  • Y key to constrain movement of strips to only between channels.

  • G key to constrain movement of strips to only along channels.

5

  • Channel 0 is above all

  • Higher the channel higher the priority

  • Don’t use channel 0

6

  • Can be either or resolution

  • Choose bigger resolution

  • If distortion after ^ then use image offset

  • Add/effect strip/transform

  • Transform makes whole new strip

  • Mute original