Interview in Stereo World magazine

I was interviewed about The Simple Carnival’s 3D music videos in the latest issue of Stereo World.

Scroll down to read the interview or download it as a pdf.

Posted in interview, Stereo World | Leave a comment

Interview with Stereographer/Filmmaker Celine Tricart

I conducted an interview with Stereographer/Filmmaker Celine Tricart in the latest issue of Stereo World. Enjoy!

Stereo World coverImage2

Image3Image4Here’s a link to Celine’s book, 3D Filmmaking: Techniques and Best Practices for Stereoscopic Filmmakers.

You can find out more about Celine on Facebook, Twitter, and her web site. And don’t forget to check out her work on YouTube!

Posted in interview, Stereo World, stereoscopic | Leave a comment

Interview with 3D Cinematographer Franz Pagot

Below is an interview that I conducted with award-winning 3D Cinematographer Franz Pagot for Stereo World magazine. Enjoy!

Image1Image2

Here’s the video referenced in the article:

And here’s an Amazon link to Immersive 3-D. This isn’t an affiliate link, and I get nothing in return for directing you to this link. I just think it’s a good book!

Posted in interview, Stereo World, stereoscopic | Tagged , , , , | Leave a comment

3-D Rarities Blu-Ray: Preorders Available Now

On June 16, 2015, raritiesthe 3-D Film Archive is releasing what looks to be an incredible compilation of historic 3-D short films. It’s called 3-D Rarities, and here are some of the films that will be included:

Selections include Kelley’s Plasticon Pictures, the earliest extant 3-D demonstration film from 1922 with incredible footage of Washington and New York City; New Dimensions, the first domestic full color 3-D film originally shown at the World’s Fair in 1940; Thrills for You, a promotional film for the Pennsylvania Railroad; Around is Around, a 3-D animated gem by Norman McLaren; Rocky Marciano vs. Jersey Joe Walcott, the only 3-D newsreel; Stardust in Your Eyes, a hilarious standup routine by Slick Slavin; trailer for The Maze, with fantastic production design by William Cameron Menzies; Doom Town, a controversial anti-atomic testing film mysteriously pulled from release; puppet cartoon The Adventures of Sam Space, presented in widescreen; I’ll Sell My Shirt, a burlesque comedy unseen in 3-D for over 60 years; Boo Moon, an excellent example of color stereoscopic animation…and more!

I haven’t seen all of the films that will be on this disc, but I’m salivating at the idea of having fully-restored versions of several of the films that I’ve seen. (A restored version of Norman McLaren’s Around is Around alone is worth the price of admission!)

I’ve pre-ordered my copy. Have you?

 

Posted in stereoscopic | Tagged , , | Leave a comment

A Stereoscopic Workflow for Blender Part 6: Running a Render Farm

BlenderDesktopLogo SmallWelcome to Part 6 of my series of articles detailing a stereoscopic workflow for Blender. All of these articles build on top of the things taught in the previous articles, so if you haven’t read the first five installments, do that first:


render farmSo you’ve taken the plunge into Blender. You’ve been lured by the promise of professional-caliber visuals created by software that is completely free. Free is a good price, right?

However, you may have been dismayed to find that those beautiful renders in Cycles were a bit too slow on your computer. So you end up buying more computers with fast video cards and network them together to speed up your animation renders. After all, more computers cranking away on the same thing simultaneously gets the job done faster than just one lonely desktop. Suddenly, the thing that lured you in by its “free” price ends up costing a few grand in hardware and a serious bump in your electric bill.

If this sounds like you — or if this sounds like the kind of terrible direction that you’d like your life to go in, read on.


ALTERNATE OPTIONS

Before getting into the Blender Render Farm script that I created, there are other options you can consider which don’t involve acquiring expensive hardware, having a higher electric bill than everyone within a 10 mile radius, and generating enough heat in one room to cook a pizza. There are remote render farms where you can pay for the amount of computer power and electricity you use. Using a remote render farm doesn’t make rendering computer graphics any more environmentally friendly; it just transfers the burden to someone else.

I have no recommendations with regard to which remote render farm services are worth trying. In my particular situation, it made more sense to run a render farm myself. Many of my shots involved BISE-generated PNG files, making the project take up crazy amounts of disk space. Disk space is cheap; time is not. The time spent uploading those files to a remote service — or the time spent downloading thousands of stereo HD images on my mediocre internet connection — just wasn’t worth it.

Blender has a built-in render farm feature. However, when I tried it sometime in early 2014, I found it to be buggy and unreliable on Windows. Things may have improved since then, but at the time I needed to find a solution for my render woes now, not wait until the bugs were ironed out. Plus, I wanted some additional features that didn’t appear to exist in Blender’s render farm, like create left and right AVI files in VirtualDub after all of the PNG images are rendered.

My suggestion is to research the current state of Blender render farms (remote and local), and if none of the available options are acceptable to you, then the method I’m about to describe is yet another way to achieve the same thing. It may or may not be the best solution for you.

For the remainder of this article, I’m going to assume you have multiple computers that are networked together. I’m also going to assume that you know how to set file permissions and that you know at least a little bit about programming.

THE EASY RENDER FARM FOR WINDOWS, MAC, AND LINUX

If you create an animation with the Simple Carnival Animation Template, it’s already set up in such a way where you can easily imitate what a render farm will do, but without the need for a special script. This technique works on Windows, Mac, and Linux:

  1. Have your .blend file with all of its resources on whatever you consider as your master computer. Before you save your .blend file, make sure to go into File -> External Data -> Make All Paths Relative. Otherwise, your slave computers might not find the external images/textures/etc. that the project file references:
    Make all paths relative
  2. Open the .blend file in Blender on the master computer. Press Ctrl+F12 to begin rendering the animation.
  3. On each of the slave computers, connect to the master computer and open the .blend file that is located there into Blender. (Make sure that each of the slave computers has the ability to write to the directory where the .blend file is located, otherwise it will not be able to save any of its images.) Press Ctrl+F12 to begin rendering the animation.
  4. Repeat step 3 for as many computers as you have networked.

This “easy” render farm is the core of what my render script does: point all of the computers on the network to one particular .blend file on a shared drive, then start rendering away.

THE BLENDER RENDER FARM SCRIPT FOR WINDOWS

The Blender Render Farm script for Windows can be found here: stereoscopic-blender-tools-master\Windows\Blender Render Farm\BlenderRenderFarm.au3

I presume you have have already installed AutoIt, which is required to run this script.

The Blender Render Farm is not my proudest moment from a user interface or coding perspective. This is a barely-designed tool that I built for my own needs and kept piling new features on top, without concern for the user interface design or maintainability of the code. (That sounds a bit like how Blender began.)

So go ahead and laugh — I’ll be the first to admit that this is one bad user interface:

render farm script 2Feel free to hold your nose as we go over what each element does:

  • Open: Open a Blender Render File (.brf). A Blender Render File is just a preferences file for a particular Blender project. This allows you to run one render job after another via the Batch File List below.
  • Save: Save a Blender Render File. This is more like Save As than a Save feature; this will prompt for the directory where you would like to save the .brf file. It’s recommended to save the .brf file for a project in the same directory as the .blend file.
  • Blender File: The full path to the .blend file that you want to render.
  • Audio File: The relative path to a .wav file that you want to import into VirtualDub. This feature assumes that your audio file is meant to start at the same time as the first frame in your Blender shot.
  • Framerate: The frame rate of your Blender project. VirtualDub needs to know this to output an AVI file with a proper frame rate.
  • Render Left/Right PNGs: Check this to render the left and right PNG images from a Blender project built upon the Simple Carnival Animation Template.
  • Full render (wipe out current L/R/placeholder files): Check this if you want to wipe out any images already rendered. This is like starting a render all over again from the very beginning.
  • Create Left AVI: Check this to create the left AVI in Virtual Dub. This will use the PNGs found in the _LEFT directory in the project.
  • Create Right AVI: Check this to create the right AVI in Virtual Dub. This will use the PNGs found in the _RIGHT directory in the project.
  • Use Lagarith compression: Check this if you have the excellent Lagarith lossless video codec installed on your system. Otherwise, Virtual Dub will create uncompressed video files, which can be enormous.
  • Multi-computer render: Check this if you have multiple networked computers that are set up to use this script. If this is not checked, rendering will only happen on the master computer.
  • Go!: Clicking this begins rendering the current .blend file with the current settings.
  • Batch File List: A list of .brf files to render.
  • Add: Add a .brf file to the render queue.
  • Delete: Delete the highlighted .brf file from the render queue.
  • Start Batch: Begin rendering the .brf files in the Batch File List. All parameters above the Batch File List are ignored; all that matters is what is in the .brf files.
  • Shut down slaves when done: If performing a multi-computer render, when this is checked, all of the slave computers will be shut down when rendering is complete.
  • Shut down master when done: If checked, the master computer will be shut down after rendering. There is a default delay of 15 minutes after the last action is performed before the computer is shut down.

SETTING UP YOUR NETWORK

You will need to configure your network so that your master computer can write to a “slave space” directory on each of the slave computers. Likewise, the directory on your master computer where your Blender files can be found must be shared with the slave computers. The slave computers must be able to write to the directory where your master computer Blender files can be found.

Unfortunately, I can’t provide step-by-step instructions for this, as there are too many variables involved in setting up a network.

CONFIGURING THE RENDER SCRIPT

Right-click on stereoscopic-blender-tools-master\Windows\Blender Render Farm\BlenderRenderFarm.au3 and choose Edit from the context menu. The script should open up in SciTE, a text editing program that was installed with AutoIt.

render farm codeI assume that you’ve had some experience with scripting or programming if you’re reading this. Let’s jump right into the things that need changed. Look for the comment that says User params. Alter the parameters in this block to fit your system:

user paramsGo through that section of the code until you reach the point that says Real code starts here. Do not change anything after this unless you know what you’re doing:

real code starts here

CONFIGURING MONITOR BLENDER SLAVE DIR

Every slave computer must have AutoIt installed as well as the Monitor Blender Slave Dir script running. (It’s recommended that you put the Monitor Blender Slave Dir script in Windows’ startup directory.)

Monitor Blender Slave Dir can be found here: stereoscopic-blender-tools-master\Windows\Monitor Blender Slave Dir\MonitorBlenderSlaveDir.au3

Like the main Blender Render Farm script, this needs to be configured for your setup. You will need to alter the script directly. Like setting up a network, there are so many variables involved here that it is impossible to provide step-by-step instructions. The highlighted bits of code here are likely the parts that you want to change:

monitor blender slave dir

CONCLUSION

That concludes this series of articles on a stereoscopic workflow for Blender. I hope you found these articles useful. I look forward to seeing your stereoscopic movies created in Blender!

Posted in Blender, Software, stereoscopic, tutorial | Leave a comment

A Stereoscopic Workflow for Blender Part 5: BISE and Stereoscopic Images Inside Blender

BlenderDesktopLogo SmallWelcome to Part 5 of my series of articles detailing a stereoscopic workflow for Blender. All of these articles build on top each other, so if you haven’t read the first four installments, do that first:


I’m a fan of Anime Studio, a fine application for creating 2D animation in a 3D environment. However, after pushing this application to the breaking point in videos like this one (here’s the behind-the-scenes talk describing how it was done), I realized it was time for a change. I also realized that Anime Studio didn’t have the ability to do the sort of lighting that I envisioned for my next video. Enter Blender.

For me, Blender alternates between being wonderful and frustrating. It’s wonderful because the Cycles engine is a wonder to behold. It’s wonderful because I can finally achieve the kind of light and shadows that I had to fake (badly) in Anime Studio. It’s wonderful because the animation tools provide finer control than Anime Studio. It’s wonderful because I now have an application which provides the potential to do Hollywood-caliber visuals — for free.

But Blender is frustrating because, for all the things it brings to the table, many things just aren’t as easy as they ought to be. One thing that isn’t as easy as it should be is the ability to create a PNG image sequence with transparency on a flat plane. This is what I used constantly in Anime Studio.

In Anime Studio, you set up something called a switch layer, import your images under it, and then indicate on the timeline the frames in which those images should appear. Here’s a video of what it’s like to set up an image sequence in Anime Studio:

It’s tedious to set up, but it works.

Blender, on the other hand, can’t do this at all — at least, not to the degree that’s required for the Monty Python-like animation that I wanted to incorporate into my video. Blender can import an image sequence, but there are three problems with this feature:

  • PNG transparencies are not honored by Blender.
  • There must be an individual PNG file for each frame. In other words, it’s not possible to have 16 PNG files and have them switch every third frame as in the example video. If Blender sees 16 PNG files in an image sequence, it will play those 16 files over 16 frames.
  • It’s not possible to choose the order of the files. Although the example video adds the frames in sequential order, what if you wanted to put the file EPiano 55.png before the file EPiano 42.png? You can’t do it, unless you rename the file (and subsequently rename all of the other files in your image sequence to shuffle things around).

So I wrote a Windows application called BISE. It stands for Blender Image Sequence Editor.

bise2
BISE is a simple application that provides the ability to pull in an image sequence and arrange it however it needs to be arranged. BISE handles some of the annoying things that are required to use transparent PNGs in Blender, like making independent alpha files. Then you can export the result from BISE as a new sequence that goes directly into the Blender session via an add-in that I wrote, Import Image Sequence as Plane.

The best way to explain how to use BISE is to walk through an example of using it:

  1. Download this PNG image sequence, unzip it, and store it in a convenient location on your computer.
  2. In your Cube Animation Template folder, make a copy and paste the folder \artwork\in project\imageseq\_template:template copy
  3. Rename the folder _template – Copy to TV:
    directory tv
  4. Open up the TV folder. Change the name of the file template.bise to TV.bise:
    file tv
  5. Open the source folder. This is the folder where you place your original PNG files. Move all the PNG files from the PNG image sequence you downloaded into this folder:
    tv images
  6. Go up to the previous folder (TV). Double-click the TV.bise file. BISE will launch.
    bise openingBISE consists of two panels: the frame list panel on the left, and the image preview panel on the right. The frame list panel contains a list of all of the frames in your animated sequence. Right now, BISE thinks there’s only one frame in the sequence. Let’s change that.
  7. The first thing you must do when working with a new BISE image sequence is to enter your project properties. Go to File -> Project Properties:
    project properties 1
  8. Change the End frame to be 90. Change the Output Filename Root to be TV. (It’s always a good idea to set the Output Filename Root to be the same name as the general name of the image sequence.) Then click the OK button:
    project properties 2You will now have a project with 90 empty frames:
    bise 2
  9. Go to Edit -> Import Image(s). Select all of the images that you wish to import, then press the Open button:
    bise 3
  10. If you selected more than one image in the previous step, you will see this dialog box:
    bise 4This allows you to set the playback rate of your image sequence. If, like the video example at the beginning of this article, you wish to show the next image in the sequence on every third frame, you will want to choose 3 here. Choose 3 for this example, then press the OK button.
  11. BISE now shows the image sequence in its frame list panel on the left.bise 5In this example, frames 1, 4, 7, 10, 13, 16, 19, 22, 25, and 28 are the moments in time where the image sequence changes. All of the other frames (the ones that have the file name indented and in parentheses) are playing whatever picture came before it. Click on any of the filenames in the frame list panel on the left, then use the up and down arrow keys to get a rough idea of what your image sequence will look like on playback.
  12. Frames 19-28 consist of a loop of the TV after it has fallen over. There are four images drawn four times by hand, and these images deliberately make use of a line boil effect. Let’s loop those four frames for the rest of the animation. Click on frame 31 in the frame list panel on the left, then go to Edit -> Import Image(s). Select the four PNG files that begin with TV 3 – fallen static loop, then click the Open button:
    bise 6
  13. You will be asked again at which rate you would like to import the images. Choose 3, then click the OK button.
  14. You will notice four more images have been added. Frames 31, 34, 37, and 40 now have the four images you just imported.
  15. You can continue adding more looped images if you wish. You can also alter the image sequence as it exists by moving frames up or down in the sequence (Edit -> Move Image Up and Edit -> Move Image Down), clearing images out of the list (Edit -> Clear Image), deleting frames and thus shifting all the frames after that upward (Edit -> Delete Frame), and inserting frame and pushing all the frames after that downward (Edit -> Insert Frame).
  16. Once you’ve established an image sequence that you’re happy with, go to File -> Render Image Sequence. BISE will create the alpha images that Blender will need for rendering PNG files with transparencies (located in your BISE project in source\alpha) and will also create the image sequence with your 90 PNG files plus 90 alpha transparency files for Blender (located in your BISE project in the output folder).
  17. Close BISE. If BISE asks whether you want to save changes to your BISE project file, click the Yes button.
  18. Open the Cube Animation Test.blend file in Blender.
  19. Go to frame 1.
  20. In the 3D View menu, go to Add -> Mesh -> Import Imageseq as Plane:
    import image sequence as plane
  21. You will see a file open screen in Blender. Using the file open screen, navigate to the BISE project folder that you just worked on. Go into the project’s output folder. Press the A key to “Select All” (yes, Blender uses the A key as a keyboard shortcut for “Select All”). Then click the Import Image Sequence as Plane button in the upper right corner of the screen.
    import
  22. You won’t be able to see the animation because the cube is on top of it:
    cube hiding pane
    Let’s scale the TV image up so it’s bigger than the cube. In the Outliner, left click on the object named TV. Hover over the 3D View and press S to “scale” the object. Move your mouse up or to the right to make the object bigger. Left click or press the Enter key to tell Blender that this is the size that you want to use:
    scale up
  23. As you’ve probably noticed, even though you’ve made a large rectangle, you’re still not seeing the TV image. That’s because we’ve been working in a preview mode. Blender offers several different Viewport Shading modes in the 3D View window, but the one we’re going to want to use if we want to see textures with transparency in Cycles is the Rendered mode. Click on this icon at the bottom of the 3D View window and choose the Rendered option:
    Viewport ShadingNow you will be able to see the TV image. And look at the nice Cycles shadow that the cube made!
    tv with box

Go ahead and use the left and right arrow keys to skim through your animated sequence. One thing you may notice when the Viewport Shading is set to Rendered is that it takes longer (sometimes a lot longer) to view an image. This is when having a fast CUDA-compatible video card is a huge help.

Here’s what our animation looks like when rendered and converted to anaglyph:

STEREO INSIDE OF STEREO

Here’s a nifty stereoscopic trick that you can do with the Simple Carnival Stereoscopic Camera. You don’t have to use BISE to do this, so in the interest of keeping the Mac and Linux folks in the loop, we won’t. We’re going to place a stereo image inside of a stereoscopic scene. To illustrate this, we’re going to use a stereo pair of a moose with a pirate sword. (Why not?)

stereoimageLstereoimageR

  1. Right-click on each of these images and choose “Save Image As” (or whatever menu option in your web browser allows you to save images) from the context menu. Save these files in your Cube Test Animation/artwork/in project/images folder:moose in directory
  2. Open your Cube Animation Test.blend file in Blender if you haven’t already done so. In the 3D View menu, go to Add -> Empty -> Image:Add EmptyYou will see a new object named Empty in the Outliner. We will use this Empty object as a parent object for our left and right images.
  3. Let’s rename the Empty object in the Outliner. Right-click on the name Empty in the Outliner, choose Rename from the context menu, then enter the word Moose.
  4. Now let’s add the left image. In the 3D View menu, go to Add -> Mesh -> Images as Planes. (Note that we’re not using Add -> Mesh -> Image Sequence as Plane because that only works with images that have been processed with BISE. It’s entirely possible to run your images through BISE, use Image Sequence as Plane, and select only one of the items in the BISE project output folder to import a single image that may or may not have transparency.)
  5. Blender will display the file open screen. Navigate to the Cube Test Animation/artwork/in project/images folder, left click the stereoimageL-300×186.png file, then click the Import Images as Planes button.import left imageA new object called stereoimageL-300×186 will appear in the Outliner.
  6. Repeat steps 4 and 5, but import the stereoimageR-300×186.png file.
  7. Now let’s make stereoimageL-300×186 and stereoimageR-300×186 the children of Moose. In the Outliner, left click and drag the orange triangle icon next to stereoimageL-300×186 and drop it on the Moose object. Likewise, left click and drag the orange triangle icon next to stereoimageR-300×186 and drop it on the Moose object. The structure in your Outliner should now look like this:moose structure
  8. Now let’s put this moose stereo image somewhere interesting in the shot. Left click on the Moose object in the Outliner. Hover your mouse cursor over the 3D View, press G to grab the Moose parent object, then use your mouse to move the object somewhere interesting. You may want to scale the object by hovering your mouse cursor over the 3D View, pressing the S key to scale the object, then manipulating your mouse. The one thing you want be sure that you don’t do is manipulate the stereoimageL-300×186 and stereoimageR-300×186 objects directly. You must always grab, scale, and rotate the Moose parent object, not its children.
  9. Hover your mouse cursor over the 3D View, then press F11 to refresh the Simple Carnival Stereoscopic Camera nodes. Either render this image/animation or open the side by side stereo windows to see that the moose image is indeed showing the different image per eye:moose final anaglyph

The trick to making the Simple Carnival Stereoscopic Camera recognize stereoscopic images is choosing the right name for each image in the stereo pair. If an object name begins with stereoimageL, it will be rendered only in the left eye image. If an object name begins with stereoimageR, it will be rendered only in the right eye image. The Simple Carnival Stereoscopic Camera looks for exactly this text, so if you throw in a couple extra capital letters, like StereoImageL, your image will show up in both eyes.

I deliberately made the example above a little easier than it often is under normal circumstances, as the moose pictures you downloaded already began with the stereoimageL and stereoimageR prefixes, and the Add -> Mesh -> Images as Planes feature automatically makes the object name the same as the original file name. You will need to ensure that the left and right image planes are named properly for the Simple Carnival Stereoscopic Camera to pick them up.

CONCLUSION

We’ve now covered nearly all of stereoscopic tools that I’ve created for Blender. In the next (and final) article, we’ll be discussing the final piece of software in this toolkit — a stereoscopic-centric Windows render farm script.

Posted in Blender, Software, stereoscopic, tutorial | 1 Comment

A Stereoscopic Workflow for Blender Part 4: Digging Into the Animation Template

BlenderDesktopLogo SmallWelcome to Part 4 of my series of articles describing a stereoscopic workflow for Blender. There’s a lot of ground that we covered in the first three parts, and I highly suggest reading them before reading this installment:


In this article, we’re going to learn more about the Simple Carnival Animation Template, and by extension, Blender. Open the Cube Animation Test.blend file that you created in Part 3.

RENDER ENGINES

Take a look at the dropdown at the top of the application that says “Cycles Render”:

cycles render

This is the render engine dropdown box. Blender has two built-in rendering engines: Blender Internal (also known as “BI,” though it’s listed in the dropdown as “Blender Render”) and Cycles. (Blender also has a video game engine, listed as “Blender Game” in the dropdown. Yes, you can create video games with Blender.)

A lot of excellent work has been produced using the Blender Internal rendering engine, but as of 2012, development on the Blender Internal render engine has stopped.

That’s OK, because Cycles is more beautiful:

bedroom - rendered

To me, the most appealing thing about Cycles is how it treats light in an extremely realistic manner. Light naturally bounces around an environment, colors are vividly reflected onto nearby materials, shadows look gorgeous….In Cycles, a skilled artist can play with light in breathtaking ways.

Cycles is not all flowers and unicorns, though. You need to be aware of the following issues:

  • Cycles requires a lot more computer power than Blender Internal. So much power, in fact, that you may need to buy a fast video card that supports something called CUDA to speed up your render times. Heck, if you’re really serious, you might even need to buy several computers with fast video cards. I have seven. Here’s a picture of six of them. (This is a low budget example of what’s called a render farm. If you work for Pixar, ILM, or another major production company, seven computers is nothing.)render farm
  • Since Cycles is still being actively developed, not all of the features in Blender Internal have made their way over to Cycles. Some advanced stuff is missing, but there are usually ways to work around that.
  • Some things, like materials, texture, and render settings, work differently in Cycles compared to Blender Internal. As a result, models do not always convert cleanly between rendering engines. For example, if you download a model from BlendSwap that was meant to be rendered in Blender Internal but render it in Cycles, it’s possible that the model will be missing its textures and materials, looking like a plain gray (or some other color) model.

In short, you will want to leave your render engine set to Cycles, since that’s where the nicest rendering engine is and where the future of Blender lies. However, if you find yourself needing some sort of effect that is only available in the Blender Internal render engine, you can create a new scene that uses Blender Internal and combine it with your Cycles scene, using the Simple Carnival Stereoscopic Camera.

FRAME RATE

OK, now let’s look at another part of the Simple Carnival Animation Template. You will need to look at the top of your Properties window and make sure that the leftmost icon that looks like a still camera is clicked:

Render settings

That leftmost camera icon is your Render tab. All of your render settings will be set in the options below this icon. You may need to scroll down to see the section that is labeled “Dimensions.” Notice the Frame Rate dropdown:

frame rate

In my stereoscopic projects, I usually I use frame rate of 30 frames per second.

Why 30? I’ve found 30 FPS to be a sweet spot for theatrical computer graphics animation. Judder is greatly reduced at 30 FPS compared to 24 FPS, yet things can still feel cinematic. Visuals can feel hyper-smooth if animated on every frame or more “traditional” if animated on every other frame. It should be noted that, if you choose 30 FPS, you’ll run into some logistical issues when screening your films in a real theater. (Some theatrical digital projectors cannot handle stereoscopic material at 30 FPS.) Also, 30 FPS takes 25% more time to render than 24 FPS. So there are a few practical and aesthetic factors to weigh regarding frame rate. The bottom line is that that you may want to change this field to 24 FPS if you want to ensure playback compatibility everywhere.

RESOLUTION

Also in the Properties Rendering tab is your rendering resolution.

resolutionThe rendering resolution here appears to be 1920 x 1080, which is the standard size for HDTV images. However, notice the 50% value below it. When you render an image or animation from this file, it will actually render 50% of 1920 x 1080, which turns out to be 960 x 540. Rendering can take a long time, so working at 50% resolution (or even something lower, like 30%) is a good way to speed up things so you can see a preview of your work in progress. If your computer rendered the Cube Animation Test at an excruciatingly slow speed, change this to a lower percentage. When you’re ready to do your final render, you’ll need to remember to bump this up to 100%.

SAMPLES

Samples is a Cycles-specific setting in the Properties Render tab. You may need to scroll down and expand the word Sampling to see these numeric boxes. (You can expand and contract sections like Sampling by clicking the dark arrow to the left of the word.)

sampling When the Cycles engine draws an image (whether in render or preview mode), it will initially draw the image as fuzzy dots and then refine those dots over and over until it has a tremendous amount of detail. It takes many cycles — get it? — to refine the image and fill it in with all of its detail. The Samples settings let you set just how many times the computer will refine those dots when rendering for real or rendering in preview mode.

I deliberately set the defaults for these fields pretty low. The higher the Render number is, the longer your renders will take. The higher the Preview number is, the harder your computer will have to work if you have your Viewport Shading set to Rendered. (You only need to worry about how hard your computer needs to work if you’re running off of a laptop battery. A high Preview number coupled with having the Viewport Shading set to Rendered will eat through your battery life faster than a lower number.)

My advice is to try to get away with the lowest number of samples that still looks good. If you detect a graininess in your rendered images (a common problem when using low sample numbers in Cycles), double the number of samples in the Rendered field until the graininess goes away. You can always keep the number of Render samples low while performing your test renders, then find the ideal bigger number when you’re ready to do your final render.

THE CAMERA RIG

It’s possible to create scenes in Blender with a Camera object and move that camera around to wherever you please. However, with complicated camera moves, it can become tricky to make the kind of fine-tuned adjustments that are possible with a real-life camera rig.

Let’s say you want to move the camera away from the action as if it were on a dolly, while booming the camera upward and tilting down toward the ground. While it’s possible to pull off this sort of animated camera move with animating a single camera object (or in our case, two attached cameras), it’s easier to tweak the shot if you split out the dolly, boom, and panning motions into separate elements.

If you look in the Outliner and expand the Cam_LOCATION object (by clicking on the tiny + symbol to the left of it) and expand the objects below it, you will see the various hierarchical objects that comprise the camera rig.

camera outlineHere’s what the various elements of the camera rig are meant to do:

  • Cam_LOCATION: Represents where the tripod, dolly, or handheld virtual camera operator is currently residing.
  • Cam_PAN_1: Represents where the tripod is panning, as it would on a tripod pan head.
  • Cam_BOOM: Represents the up and down location of a virtual camera boom/crane.
  • Cam_TILT_VERTICAL: Represents tilting the camera up and down, as it would on a tripod tilt head.
  • Cam_TILT_HORIZONTAL: Represents tilting the camera left and right, as you would with a tripod tilt head. This is the object you would adjust for a Dutch angle.
  • Cam_PAN_2: A second pan head, because you may want to pan on top of a tilt. (If you want to tilt on top of a pan, use Cam_PAN_1 for the pan.)
  • Cam_SHAKE: You can either manually create some camera shake here via the Graph Editor or turn on the soft body physics control to make all your camera motions feel like a human camera operator is swinging the camera around.
  • Camera, L_Camera, and R_Camera: The center, left, and right cameras, respectively. Do not directly change these cameras’ position or rotation — that’s what all of the prior Cam_ objects in this hierarchy are for.

Let’s try moving the camera around. Make sure you have saved your Cube Animation Test.blend file before experimenting with the camera position — just in case you get lost.

Left-click on Cam_LOCATION in the Outliner. Hover your mouse cursor over the 3D View, then press the G key to “grab” the Cam_LOCATION object. Press X immediately afterward to constrain the grab motion to just the X axis. Move the mouse left and right to simulate a tracking shot. Press Esc to ‘let go’ of the Cam_LOCATION object and revert to the previous camera location.

Left-click on Cam_PAN_1 in the Outliner. Hover your mouse cursor over the 3D View, then press the R key to rotate the Cam_PAN_1 object. Press Z immediately afterward to rotate around the Z axis. Move the mouse left and right to pan left and right. Press Esc to ‘let go’ of the Cam_PAN_1 object and revert to the previous camera rotation.

Left-click on Cam_BOOM in the Outliner. Hover your mouse cursor over the 3D View, then press the G key to “grab” the Cam_BOOM object. This particular object is already constrained to moving up and down, so there’s no need to press a second key to constrain the axis of motion. Move the mouse up and down to simulate a camera boom. Press Esc to ‘let go’ of the Cam_BOOM object and revert to the previous camera location.

Experiment with the other elements of the camera rig and, instead of pressing Esc to let go of the object, commit to the new location or rotation by pressing the Enter key. Try contorting the camera rig in various ways and see what it can do. You can undo the various commitments you’ve made by pressing Ctrl+Z. If you want to get really adventurous, try animating the camera in exactly the same way we animated the cube. You will need to right-click on the Location and/or Rotation X/Y/Z fields in the Properties pane to store the camera settings.

THE STEREOSCOPIC CAMERA

The Simple Carnival Animation Template (and by extension, your Cube Animation Test.blend file) already has the Simple Carnival Stereoscopic Camera set up and ready to go. Let’s tweak its settings.

In the Outliner, left-click on the Camera object:

camera in outlinerIn the Properties window, click on the icon that looks like a movie camera (not the icon that looks like a still camera). This is the Camera properties tab.

properties window camera propertiesScroll down in the Properties window. At the bottom of the window, you’ll see the Stereoscopic Camera properties:

stereoscopic cameraThese controls are the same as Sebastian Schneider’s Stereoscopic Camera, and I recommend reading his documentation and watching his tutorial videos to fully understand how these controls work.

Let’s tweak the Camera Separation (i.e. interaxial) value. Go to a frame in your animation where the cube is close to the camera, like frame 90. Create your side by side stereo window view. (If you’re on Windows, press F3. If you’re on Mac or Linux, you have to follow these steps.)

The initial Camera Separation value is 900, which looks like this:

interaxial 900

Change the Camera Separation to 100, then click the Set Stereo Camera button. This value will push the cameras much closer together and flatten the stereo image:

interaxial 100Now change the Camera Separation to 2000, then click the Set Stereo Camera button. This value separates the cameras over twice as far as the original setting of 900. It might help bring out some depth to a faraway landscape shot, but it’s a pretty obnoxious setting for an object close to the camera:

interaxial 2000Just like in the physical world, the ideal distance between the two cameras in a stereo camera rig varies depending on what’s in the shot. Also just like in the physical world, experience is the best teacher. Experiment!

ANIMATED INTERAXIAL DISTANCES

Note that the Camera Separation feature is intended to be used as a static interaxial distance between the cameras. It’s a feature that is intended to be set and forgotten about. Sometimes you may find yourself in a situation where you need to animate the interaxial distance between the cameras during the shot. Here’s how to do it:

  1. Decide on the best value to use for Camera Separation and set it via the Set Stereo Camera button.
  2. Go to the frame where the interaxial distance needs to start changing.
  3. Decide which camera (left or right) that you’d like to move. You can change both of them simultaneously, but for the sake of example we’ll change only the left camera. Go to the Outliner and left-click on L_Camera:
    interaxial b
  4. In the Properties window, go to the Camera tab. Right-click on the Shift X field and choose Insert Keyframe from the context menu:
    Shift X insert keyframe
  5. Now go to the frame where the interaxial distance needs to stop changing.
  6. Your Properties window should already have the Camera tab selected. Change the Shift X value to a greater value if you wish to increase the interaxial distance or a lesser value if you wish to decrease the interaxial distance.
  7. Right-click on the Shift X field and choose Insert Keyframe from the context menu.

You can control the right camera in the same manner; just repeat steps 3 through 7 but left-click on R_Camera in step 3.

GETTING COMFORTABLE WITH NODES

I mentioned the Simple Carnival Stereoscopic Camera nodes several times in Part 3, saying that it was important to hover the mouse cursor over the 3D View and press the F11 key before rendering an image or image sequence. I didn’t explain exactly what the Simple Carnival Stereoscopic Camera nodes are or what they do. Now it’s time to explore Blender’s Node Editor.

If you’ve configured Blender as described in Part 2 of this series, you should be able to hover your mouse cursor over the 3D View and press Shift+F5 to switch to the Node Editor:

node editorThe rectangles in the main area of the Node Editor may not be easily readable. If that’s the case, there are several ways to zoom in:

  • If you’re using a three button mouse, hold down the middle mouse button and move the mouse up and down.
  • If you’re using a two button mouse, hold down the Ctrl and Alt keys and the left mouse button, while moving the mouse up and down.
  • If you have a number pad on your keyboard, hover your mouse cursor over the area that you want to zoom in on. Then use the + and – keys on the number pad to zoom in and out.
  • Press the Home key on your keyboard to zoom and fit all of the objects in the node window.

While some of these techniques may feel a bit awkward at first, they’re important to master, as you can use them on any window in Blender.

node editor close up 2 I’ve zoomed in on the nodes in the Node Editor and have stretched out its Property pane on the right. (The Node Editor has a Property pane just like the 3D View.) Nodes are basically rectangular blocks that can be connected together and route visual signals from one place to another.

Have you ever seen an electric guitarist’s foot pedal board? The guitar’s signal is routed into an effects box, which is then fed into another effects box, and then another, until finally the combined signal is sent to the amplifier. The Node Editor works in a similar way, except instead of connecting effects boxes, we’re connecting visual effects.

When you’re starting out with Blender, you won’t need to set up and connect things on the Node Editor yourself; the Simple Carnival Stereoscopic Camera takes care of that automatically. In the Node Editor Property pane, the section labeled Stereoscopic presets has some very important controls:

  • Create: This dropdown lets you pick what sort of node structure that will be created when you press the Add Nodes button (or press F11). There are three options in this dropdown:

3D nodes – all scenes: I’ve mentioned the Simple Carnival Stereoscopic Camera’s ability to combine Cycles and Blender Internal renders in the same image; that’s what this option allows. We’ll get more into what “scenes” are in a bit. This is the option you’ll want 99% of the time.

3D nodes – only this scene: If you need to render only the current scene (i.e. you’re not combining multiple scenes for multi-rigging or combining Cycles and Blender Internal renders), choose this option.

2D node – only this scene: Renders only the center camera in 2D and puts it into the _CENTER folder in the project’s folder. Choose this only if you need to render in 2D.

  • Add Nodes: This will create the appropriate nodes in the Node Editor and connect them. When you press F11 while hovering over the 3D View, it is the same thing as switching to the Node Editor and pressing the Add Nodes button.
  • Show Anaglyph Preview: If you want to show an anaglyph preview of an image once it’s rendered, check this before clicking the Add Nodes button. Note that these anaglyph previews aren’t stored anywhere. It’s fine to check this option if you’re testing how individual stereoscopic images look in Blender. If you’re rendering an entire animation, make sure that this checkbox is NOT checked, as you’ll be adding unnecessary time to your render.
  • Replace Current Nodes: If this is checked, clicking the Add Nodes button will replace all of the nodes in the Node View with whatever options you have selected. If this is unchecked, clicking the Add Nodes button will add an additional set of nodes over top of what is already there. Unless you’re an advanced user trying to do something tricky with nodes, Replace Current Nodes should always be checked.
  • L Background Image and R Background Image:If you have a stereoscopic image that you’d like to use as a static background image, you can load it here. You will need to turn the Transparent checkbox in the Properties window -> Render tab -> Film on, otherwise the image will not be rendered. I may remove this feature in the future, as I never use it and would rather composite a complicated shot in Sony Vegas Pro.

To go back to the 3D View, hover over the Node Editor and press Shift+F3.

MULTI-RIGGING

In Bernard Mendiburu’s excellent book, 3D Movie Making: Stereoscopic Digital Cinema from Script to Screen, he describes multi-rigging as such:

We have seen that long lenses kill the 3D, and you will most likely encounter one of these telephoto shots with the character’s head detached from a blurry background. Beware. The only way you’ll get his head round is by rendering it separately with a huge interocular, and the composite the image with the background. This technique is called multirigging and was intensively used in Meet the Robinsons and Beowulf. The process is relatively complex.

Fortunately, the Simple Carnival Stereoscopic Camera makes multirigging easier than the process described in Bernard’s book. You might need to composite one part of a stereoscopic scene on top of another for these possible reasons:

  • The elements (foreground and background) need different interaxial distances to stay within a shot’s depth budget.
  • The foreground subjects need converged cameras to feel “round” but the background needs parallel or off-axis cameras.
  • Some element needs a feature only available in Blender Internal, but the rest of the shot is using Cycles.
  • You’re doing some crazy stereoscopic effect where you need to set up a 3D scene with lighting behind a window and the lighting (or objects behind the window) can’t affect anything beyond a particular space.

Here’s a still from shot I worked on that used an advanced application of multirigging:

multirigThe people in the room inside the clock were their own 3D scene and they deliberately weren’t supposed to overlap into the outside world, even though the clock structure was basically a flat plane.

Blender has the concept of scenes. Here’s a very good introduction to scenes. I recommend skimming this to get the basic idea of how this works.

If you’re familiar with the concept of Photoshop layers, then you’re already halfway to understanding how the Simple Carnival Stereoscopic Camera treats Blender scenes. However, I need to be cautious when using the word layers in conjunction with Blender. Blender uses the word layers in a completely different (and confusing) way that we’re not going to touch in these articles. So from here on out, we’re going to be talking in terms of scenes and how we’re going to layer one scene on top of another. Got it? Good.

The default scene in the Simple Carnival Animation Template is called 500 Scene:

scenes
Why 500 Scene? Well, it could be called anything, as long as it starts with a three digit number. You see, the Simple Carnival Stereoscopic Camera looks for a three digit number prefix in the scenes to determine how to layer everything in the Node Editor.

The scenes with lower numbers appear on top of the scenes with higher numbers, just like the order in which they appear in the scene dropdown. So a scene called 250 On top is going to be on top of the scene called 500 Scene. And a scene called 750 Behind is going to be behind 500 Scene:

scenes bEven if you only have one scene in your .blend file, you still need to have that three number prefix. You can have scenes that don’t have the three digit prefix in your project. However, the Simple Carnival Stereoscopic Camera will ignore those scenes. They will exist in your project file, but they will not be rendered.

If you intend to layer one scene on top of another, the upper scenes need to have their transparency turned on. You turn a scene’s transparency on by going into the Properties window, clicking on the Render tab (the leftmost still camera icon), going into the Film section, and making sure that the Transparent checkbox is checked:

transparent

Likewise, if you use the static stereo pair background feature in the Simple Carnival Stereoscopic Camera, you will need to have this Transparent checkbox checked on your bottom-most scene, otherwise the stereo pair behind the scene will not appear.

As you use the Simple Carnival Stereoscopic Camera, you will notice that new scenes will be added with _L and _R suffixes when you hover over the 3D View and press F11 (or press the Add Nodes button on the Node View window). For example, if you have the scenes 250 On top, 500 Scene, and 750 Behind in your blend file, after you hover over the 3D View and press F11, you will see these new scenes automatically added: 250 On top_L250 On top_R, 500 Scene_L, 500 Scene_R, 750 Behind_L, and 750 Behind_R.

L and R scenes

Don’t select the scenes with the _L and _R suffixes. They’re required for stereoscopic rendering, but you as a user should never actually do anything with them. Well, you can delete them…as long as you press the F11 key while hovering over the 3D view before you render.

Pick a Blender scene that you consider your “main” scene. For me, this is usually the scene that starts with 500. That gives me some wiggle room to stack scenes on top of my main scene or perhaps put some scenes underneath. Consider your “main” scene home base. Don’t go to any other scene before you start rendering. That’s right — whatever you consider your “main” scene, that’s the scene that must be active when you start rendering — either in Blender or the Blender Render Farm. 

Blender is a bit strange with how it’s structured. Some parameters are shared between scenes, and some things are unique to each scene. For example, there’s a separate Node Editor for each scene and you can theoretically set up different rendering options for each scene. Sometimes those rendering options are unique to the scene, while other times they’re not. Some rendering options (like Resolution) are used for all of the stacked scenes. For example, if you tell Blender to render when you’re on a scene whose resolution is 3840 x 2160, but the other scenes are set to a resolution of 800 x 600, all of the scenes will be rendered at a level of detail required for 3840 x 2160 — not 800 x 600 and then stretched to the higher resolution. Other rendering options (like Samples) are unique per scene. So theoretically, you could render one scene with a very high sample number but have another scene rendered with a low sample number. It’s confusing.

To avoid problems, I suggest to use multirigging as part of the final tuning of a shot. That is, get your shot looking as good as possible without relying upon multirigging. Then do the following when everything looks good in the shot except for those elements that need help via multirigging:

  1. Make a full copy of your main scene as many times as needed.
  2. Turn on transparency in the scenes that are stacked on top of others.
  3. Remove the elements in the new scenes that you don’t need.
  4. Fix your stereo problems or get your crazy visual effect just right in the new scenes.
  5. Switch back to your “main” scene. Hover over the 3D View with the mouse cursor, then press F11 to set up the shot in the Node Editor.
  6. Render your shot!


CONCLUSION

Whew! We covered a lot in this article, up to and including some advanced stereoscopic production techniques. If you combine what you’ve learned so far with some good Blender books or video tutorials, you’ll be unstoppable!

But wait — there’s more! In the next article, we’ll cover BISE (Blender Image Sequence Editor) and I’ll demonstrate a technique for bringing stereoscopic images and videos into a stereoscopic scene. Yep, we’re going to have stereo inside of stereo!

Posted in Blender, Software, stereoscopic, tutorial | Leave a comment

A Stereoscopic Workflow for Blender Part 3: Your First Stereoscopic Animation

BlenderDesktopLogo SmallWelcome to Part 3 of my series of articles describing a stereoscopic workflow for Blender. We’re going to begin using Blender in this installment, and I’ll assume that you’ve already digested the first two parts of this series:


YOUR FIRST ANIMATION

Let’s start by making a very basic stereoscopic animation. When you launch Blender, you will see the Simple Carnival Animation Template.

animation template

While this initial setup is helpful when conducting short tests, we’re going to go through the entire stereoscopic workflow in these tutorials. This will require not only the Simple Carnival Animation Template (which is loaded automatically when starting Blender), but all of the template’s supplemental files. So let’s do the following:

  1. If Blender is open, quit out of it.
  2. In your operating system, navigate to the unzipped archive of the stereo tools that you downloaded in the installation instructions. Copy and paste the directory Simple Carnival Animation Template to a location on your computer where you would like to save your in-progress animation projects.
  3. In the new location where you just pasted the template directory, rename the directory Simple Carnival Animation Template to something descriptive, like Cube Animation Test.
  4. Open up the Cube Animation Test directory. You should see a file inside named Simple Carnival animation template XX.blend. Rename that file to Cube Animation Test.blend.
  5. Double-click the Cube Animation Test.blend file to open it in Blender.

Let’s make our animation 90 frames long. At the bottom of the application, there are numeric boxes that are labeled Start and End. Click in the numeric box labeled End, type in the number 90, and press the Enter key:

frames 1-90b
Directly to the right of that text box is the Current Frame numeric box. It should contain the number 1:

current frame bIf it doesn’t, click within the numeric box, type the number 1, then press the Enter key. Alternately, you can press the Jump to First Frame button (rewind), which is directly to the right of the current frame numeric box.

Since we’re currently at frame 1, let’s set the position of the cube in the scene at its current location. There are several ways to do this in Blender, but I’m going to show you a way that works with almost any numeric box. In other words, you can animate nearly every parameter in Blender this way.

First, make sure that the Properties pane in the 3D View is visible. I should note that the Properties pane is not the same thing as the Properties window. They are two separate things. This is the Properties window:

properties windowWe want to look at the Properties pane in the 3D View, which is this:

properties pane 2

If the Properties pane is not visible, you can show it by clicking on the tiny plus sign along the right edge of the 3D View:

plus for properties paneNow right-click on the cube to select it. As I mentioned previously, right-clicking on a visual object in Blender means select. It’s a weird convention, but hopefully you’ll eventually get used to it. You’ll see a thin orange outline around the cube, which means that it’s selected:

orange outline around cubeNow let’s tell Blender that the cube’s current location is where we want the cube to located when it’s on the first frame of the animation. In the Properties pane, notice the X, Y, and Z Location fields:

set keyframe 1Right-click on any of those three fields. A context menu will pop up. (In Blender, numeric and text fields behave like a regular desktop application, in the sense that left-clicking puts your cursor into the field but right-clicking brings up a context menu. It’s only visual or graphical objects that require a right-click to select.)

Once the context menu appears, left-click on the Insert Keyframes option.

insert keyframes Immediately after doing so, you’ll see some yellow diamonds on Blender’s Dope Sheet window:

initial diamonds

Congratulations — you just made your first animation keyframe in Blender! Now let’s make this animation do something.

Let’s go to frame 30. You can go to frame 30 by holding down either the left or right arrow keys on your keyboard to fast forward or rewind what frame you’re on (it doesn’t matter where your mouse is hovering when you do this) or you can click on the Current Frame numeric box and type in the number 30 followed by the Enter key.

Now that you’re on frame 30, we’re going to “grab” the cube and move it to a different location. (You may recall me mentioning the grab tool previously.) To grab the cube, hover over the 3D View with your mouse cursor, then press the G key on your keyboard. You can then use your mouse to move the cube around. If you look at the location coordinates in the Properties pane, you’ll see X (left and right) and Z (up and down) changing, but you won’t see Y (depth) changing. That’s because your mouse can physically only move in two directions, and those directions when you’re grabbing an object depend on what direction your 3D View is pointed in.

Hit the Esc key to let go of the cube and bring it back to its original starting position. While making sure that your mouse cursor is somewhere over the 3D View, press the G key immediately followed by the Y key. Move your mouse up and down. This will constrain the object so it can only be moved along the Y axis.

As mentioned previously, in the Simple Carnival Animation Template, the camera is initially set up so the Y axis is depth. Move your mouse down until the cube is fairly far off in the distance. (In the Properties pane, a sensible value for Y might be somewhere around 20.) Left-click when you’re happy with where the cube is located. (Alternately, you can hit the Esc key to let go of your grab action, left-click on the Location Y box in the Property pane, type in 20, then press the Enter key.)

Now let’s set a keyframe for this object. As we did before, right-click on the any of the Location numeric boxes for the context menu. Left-click on Insert Keyframes:

insert keyframes 2Voila! Another keyframe has been created in the Dope Sheet:

keyframes 2You have now actually animated a moving object in Blender! If you want to see what the animation looks like so far, press the space bar to start and stop the animation. (If you followed my configuration instructions, your Blender setup should recognize the space bar as the playback key. If not, try pressing Alt+A. If that doesn’t work, press the play buttonplay button at the bottom of the application.)

You may be surprised to hear music during playback. The music is from the Simple Carnival Animation Template directory that you had copied. You can replace this audio file with any audio file of your choice. (The actual music file is located here in your project directory: artwork\in project\audio\audio.wav)

Now let’s add some finishing touches to make the cube pop out at the viewer. Go to frame 60. Make sure your cube is selected (if it doesn’t have the orange outline, right-click on it). Make sure your mouse cursor is hovering over the 3D View, then press the G key followed immediately by the Y key. Move your mouse up to make the cube go near the viewer’s face. A sensible value for Y is around -8. When you’re happy with your Y location, press the left mouse button:

at -8This is a tad bit too close to the bottom of the screen, so hover over the 3D View, press the G key followed immediately by the Z key. This will constrain your grab action so it only moves along the Z axis, which in Blender is up and down. Move your mouse up and down until you find an acceptable spot for the cube near the center of the screen. A Z value of 1.73109 looks pretty good to me:

centered cubeNow let’s set our keyframe as we did twice before. Right-click on any of the Location numeric boxes and choose “Insert Keyframes” from the context menu. You’ll see a third set of yellow diamonds in the Dope Sheet.

Go ahead and press the space bar to play back your animation. Pretty impressive, huh?

VIEWING THE ANIMATION STEREOSCOPICALLY

OK, now let’s see what our masterpiece looks like in stereo. If you’re running Windows and you properly installed/configured everything as previously instructed, simply press F3 and you’ll see a side by side stereo image (really, two separate windows, one for the left eye and one for the right) appear on top of Blender:

sbs cube demo

If you’re running Mac or Linux, you’ll need to jump through a few extra hoops to get these stereo windows to appear:

  1. Move your mouse cursor over the ridged area near the upper left hand corner of the application. Your mouse cursor will turn into a cross when you’re in the right spot:sbs grab 2
  2. Hold down Shift while left-clicking and dragging that ridged corner thing to the right.
  3. A new Info window will pop out of Blender (the size of that window may be different than what’s shown in this screenshot):sbs window pop out
  4. Select the option from the Layout dropdown that says SBS LEFT:
    select left layout
  5. Resize this window to be an appropriate size by clicking and dragging the window’s lower right corner.
  6. Repeat steps 1-5 to make a second window, except choose the SBS RIGHT layout in step 4.
  7. Move the second window directly to the right of the first window.

Here’s a video demonstrating a manual setup of the 3D side by side view:

Once your side by side windows are set up, press the space bar to view this animation in stereo. You can either parallel freeview the side-by-side stereo windows or use the Pocket 3Dvu or a plastic Lorgnette viewer to see it in full color stereo.

CARE AND FEEDING OF YOUR SIDE BY SIDE VIEW

There are a few caveats to using the side by side view:

  • As you create and close the side by side windows, Blender will build up a bunch of extra “layouts” in your project file. The layouts have  a prefix of .###, where # is a three digit number. These layouts make it harder to find the layouts that you really need, and presumably take up space in your Blender project file that could be put toward more useful things. For example, look at how many extra SBS LEFT entries are in this particular Layout dropdown:
    too many layoutsThe solution to keeping your Layout dropdown tidy is to occasionally run the Simple Carnival Clean Screen Layouts feature. You can find this in Blender’s Info menu under Window:
    clean screen layouts
  • You will need to refresh the Simple Carnival Stereoscopic Camera nodes after deleting objects from your scene. To refresh the Simple Carnival Stereoscopic Camera nodes, hover your mouse cursor over the 3D View, then press the F11 key. If you delete objects from your scene without refreshing the nodes, the objects will remain in your left and right views while having disappeared from your center view.
  • If you render your Blender animation from my Blender Render Farm script, you will need to make sure the side by side windows are closed before saving your project. Otherwise, Blender will be confused and rendering will fail.

My recommendation is to use the side by side view as a temporary test when creating your scene, then immediately close those windows when you don’t need them.

RENDERING AN IMAGE

Let’s render a single image from within Blender:

  1. Close any side by side windows.
  2. Go to whatever frame you want to render by holding down the left or right arrow keys or by clicking on the Current Frame numeric box and typing in the frame number you want to render.
  3. While hovering your mouse cursor over the 3D View, press F11. This will refresh the Simple Carnival Stereoscopic Camera nodes and ensure that the left and right images that will be rendered will accurately reflect what is in your project file.
  4. Press the F12 key. Blender will open a new window and render the left image followed by the right image.

If you minimize Blender and go back into the folder where the Cube Animation Demo Blender project exists, you’ll see two new folders, _LEFT and _RIGHT:

cube animation test directoryInside each of those directories are your rendered images, using the format limg####.png and rimg####.png. You can import these images into StereoPhoto Maker, Stereoscopic Player, Sony Vegas Pro, or another stereoscopic program to display a single image stereoscopically.

RENDERING AN ANIMATED SEQUENCE

Let’s render the entire animated sequence you created from within Blender:

  1. Close any side by side windows.
  2. While hovering your mouse cursor over the 3D View, press F11. This will refresh the Simple Carnival Stereoscopic Camera nodes and ensure that the left and right images that will be rendered will accurately reflect what is in your project file.
  3. Press Ctrl+F12. Blender will open a new window and render each frame of the animation, starting with the left image followed by the right image. Since this is a 90 frame animation, it will take 90 times longer to render this compared to the single image. You may want to grab a cup of coffee or two.

If you would like to stop Blender from rendering, do one of the following:

  • Close the render window.
  • Press the Esc key while the render window is highlighted.
  • Press the X button to the left of Blender’s render progress bar (it’s located at the top of the main application window):
    render x button

In the folder where the Cube Animation Demo Blender project exists, you’ll see the _LEFT and _RIGHT folders (as you saw when you rendered a single image). These directories contain all of the left and right frames of your rendered animation. However, once you first render an animation, you’ll also see the _PLACEHOLDERS folder:

placeholders The _PLACEHOLDERS folder serves an interesting purpose. If you have multiple networked computers simultaneously rendering the animation from the Cube Animation Test.blend file, there needs to be a way for all of the computers to know whether a frame has been rendered by another computer. The _PLACEHOLDERS folder contains tiny black PNG files that correspond to the frames that have been — or are being — rendered.  The Simple Carnival Animation Template is set up so that it won’t render the left and right images for a particular frame if it detects a file in the _PLACEHOLDERS folder that has the same frame number. So if you want to perform a “clean” render, either delete your _PLACEHOLDERS folder before rendering or turn on the Overwrite checkbox in the Properties window’s Render tab:

overwriteMake sure to turn this off if you’re planning to render simultaneously from multiple computers or if you want the files in the _PLACEHOLDERS folder to be honored.

Now that you have your left and right PNG files, you can create left and right AVI files that can be manipulated in your favorite video editing software.

You may be asking yourself why we’re rendering out to PNG files and not to a single movie file. After all, a single AVI file would be more convenient, wouldn’t it? Actually, it’s not. When you’re working with a shot that takes days to render and your computer crashes halfway through, you will need to render your entire animation again if you’re rendering to an AVI file. Likewise, if you have to re-render only a few flawed frames, it makes no sense to re-render the entire shot from beginning to end. By deleting only the files in the _PLACEHOLDERS folder for the frames that you want to re-render, you will save a lot of time.

You may also be asking yourself why we’re rendering images to two separate _LEFT and _RIGHT directories and not rendering out to anaglyph, side-by-side, over/under, or any one of the other common 3D formats. My intent in creating this stereoscopic workflow was to keep things as flexible and future-proof as possible. Anaglyph is a great format for cheaply distributing your stereoscopic content, but it’s suboptimal if you’re aiming for quality. (Plus, it’s downright wrong if you’re looking to eventually display your work on a stereoscopic TV or cinema screen.) Side-by-side or over/under are useful non-theatrical distribution formats, but there have been times when I needed to run some sort of image processing on all of the files in a directory. I didn’t want the hassle of worrying whether the effect I was applying would inappropriately smear over into the image belonging to the other eye.

So I eventually concluded that the most straightforward, future-proof method was to keep rendered images separated into individual _LEFT and _RIGHT directories, make lossless AVI files from the images in those directories, and manipulate those AVI files in a video editing program. (I use VirtualDub to make the individual left and right AVI files and Sony Vegas Pro to combine, edit, and adjust the stereo convergence of the AVIs.) The video editing program takes care of translating the individual AVI files into the final stereoscopic format, whether it’s anaglyph, side-by-side, over/under, or back to individual image files to make a cinema DCP.

A RENDERED FINISHED PROJECT IN ANAGLYPH

So here’s what the finished rendered project looks like in anaglyph:

You can see that the cube moves outside of the default overhead light’s perimeter when it gets close to the camera. While this particular animation example won’t win any awards, the process of making it demonstrated some very basic Blender features and the general idea of this stereoscopic workflow for Blender. There’s much more to Blender, the Simple Carnival Animation Template, and the stereoscopy tools. We’ll delve into these a little deeper in Part 4.

Posted in Blender, Software, stereoscopic, tutorial | 1 Comment

A Stereoscopic Workflow for Blender Part 2: Installing Blender and Its Stereoscopic Tools

BlenderDesktopLogo SmallThis is the second installment in my series of articles about a stereoscopic workflow for Blender. Make sure you’ve read Part 1 before proceeding.

In this article, we’re going to jump right into the technical details of installing and configuring Blender for a stereoscopic workflow. We’re also going to make some changes to Blender so it’s a little easier to use. If you’re not comfortable with downloading, unzipping, installing, and tweaking various pieces of software, give this article to your local computer guru so he or she can do your dirty work. You may still want to skim through this article to understand what we’re going to be changing with Blender and the reasons why we’re changing it.

INSTALLING BLENDER AND ITS STEREOSCOPIC ADD-ONS

  1. If you haven’t already done so, download and install the latest version of Blender from www.blender.org. (I’m using Blender 2.73a to write these articles. A newer version than 2.73a should work. If you run into problems, you can always downgrade to 2.73a to guarantee that what’s in these tutorials will precisely match what’s on your computer.)
  2. Download the stereoscopic-blender-tools archive and unzip the result to a folder on your computer.
  3. You’ll see these five files in the root directory of the stereoscopic-blender-tools archive:
    simple_carnival_clean_screen_layouts.py
    simple_carnival_io_import_images_as_planes.py
    simple_carnival_io_import_imageseq_as_plane.py
    simple_carnival_select_children_and_parent.py
    simple_carnival_stereoscopic_camera.py

    Make sure Blender is not running. Copy these five files into Blender’s add-on directory. The add-on directory for your particular operating system can be found here.

CONFIGURING BLENDER

Let’s activate the Simple Carnival add-ons inside Blender.

  1. Launch Blender.
  2. Go to File -> User Preferences.
  3. Click the Add-ons button on the top of the screen.
  4. On the left side of the window is a text box with a magnifying glass. Type sim in that text box. You should see all five Simple Carnival add-ons appear in the list.
  5. Check the checkbox to the right of each of the Simple Carnival add-ons.
  6. Click the Save User Settings button at the bottom of the screen to save your changes.

install add-ons2


If you have a fast video card that’s compatible with Blender, let’s make sure that it’s enabled in Blender.

  1. Click on the System button on the top of the File -> User Preferences screen.
  2. Look at the Compute Device section. If there’s a button labeled CUDA, click it. Then select your video card from the dropdown list beneath the button. (If the only button you have is None and CPU is the only option you have in the dropdown, your computer can still run Blender. However, your computer will render images much slower than a computer with a powerful CUDA-compatible video card.)
  3. Click the Save User Settings button at the bottom of the screen to save your changes.

CUDA


We’re going to be working with the Simple Carnival Animation Template for the rest of these articles. Although we’ll be making a copy of the template’s directory and working from that, I recommend making the animation template the default file that’s loaded into Blender (it makes quick tests easier):

  1. In Blender’s main window, go to File -> Open.
  2. Navigate to the unzipped archive of the stereo tools that you downloaded earlier. Go to the directory Simple Carnival Animation Template.
  3. Select the file called Simple Carnival animation template XX.blend.
  4. Click the Open Blender File button.open file
    The Simple Carnival Animation Template will be loaded into Blender. It will look like this:animation template
  5. Go to File -> Save Startup File. You will be confronted with a tiny confirmation window. Once you’ve confirmed that you indeed want to save this file as the startup file, you will see the Simple Carnival Animation Template as your default starting point each time you start up Blender.

BONUS CONFIGURATION OPTIONS

Blender ships with a few really dumb defaults that we’re going to change. You don’t have to make these alterations, but you will find Blender much less frustrating if you do.

The first one is a biggie. If you’ve used any audio recording, video editing, or animation software before, what’s the keyboard shortcut for playback?

Here’s a hint.

keyboard2

Yep, it’s the space bar. The space bar is easy to find without looking, it requires only one finger (or foot) to activate, and it’s the standard key for playing/pausing in almost every form of content creation software since the 1980s.

Except Blender’s default keyboard shortcut for playback isn’t the space bar.

It’s Alt+A.

I’m all for defying convention if it means an improvement, but ergonomically, Alt+A is a huge step backward over that impossible-to-miss space bar.

I have a theory why Blender’s developers didn’t choose the space bar as the playback option. In Blender, the space bar brings up the Search Menu — a way of searching for a Blender feature from anywhere in the program. (The Search Menu is similar to Microsoft’s Intellisense feature in Visual Studio or Google’s automatic suggestions in their search box.)

Search Menu 2
The Search Menu is actually a useful feature, and I suspect that it was implemented long before Blender had the ability to play back animation. Since the Blender users at that time probably depended on the space bar for the Search Menu, I’d imagine the developers decided to pick something else for animation playback…which turned out to be Alt+A. (I should emphasize that I have no inside information as to why Alt+A is the playback key, but this theory seems pretty plausible, don’t you think?)

Anyway, being able to search for Blender commands via the Search Menu is useful, though not as useful as being able to easily play back animation. So we’re going to change the playback key to the space bar and the Search Menu feature to Ctrl+Spacebar (the same keyboard shortcut that Microsoft uses for their similar Intellisense feature in their programming tools):

  1. In Blender, go to File -> User Preferences.
  2. Click the Input button on the top of the screen.
  3. Type play animation in the text box on the top right with the magnifying glass. You will see several Play Animation entries appear.
  4. Click on the button that says Alt A.
  5. Press the space bar to replace that keyboard shortcut with the space bar.
  6. Click the Save User Settings button at the bottom of the screen to save your changes.
    play animation
  7. Now enter search in the text box with the magnifying glass. You will see a keyboard shortcut for Search Menu. Note that the shortcut key will say Spacebar.
  8. Expand this keyboard shortcut by clicking the triangle on the left side of the shortcut. Check the box that says Ctr. Note that the shortcut key now says Ctrl Spacebar.
  9. Click the Save User Settings button at the bottom of the screen to save your changes.

space bar


If you’ve tried left-clicking in the 3D View window, you might have noticed an annoying circular candy cane thing that appears where your mouse cursor clicked:

3d cursor

This is the 3D Cursor. It can be useful when using some of Blender’s advanced modeling tools. For the Blender beginner, though, the only thing that you need to know about the 3D Cursor is that, when you create a new object, it initially appears in the location of the 3D Cursor. When you’re starting out, you really won’t want to move the mouse cursor much (if at all). However, you’ll still need to know where the 3D Cursor is when you add a new object. Therefore, you don’t want any accidental left clicks to move the 3D Cursor to a location where you can’t find it. I like keeping the 3D Cursor at the coordinates 0,0,0 and making it difficult to accidentally move. So instead of making the mouse’s left click button move the cursor, let’s change things so you have to also hold down Shift at the same time:

  1. In Blender, go to File -> User Preferences.
  2. Click the Input button at the top of the screen.
  3. Type 3d cursor in the text box on the top right with the magnifying glass.
  4. Click on the white triangle to the left of the option that says Set 3D Cursor under the 3D View header. This will expand the selection.
  5. Check the checkbox that says Shi.
  6. Click the Save User Settings button at the bottom of the screen to save your changes.

shift 3d cursor 2


OK, here’s another enhancement. If you have a hierarchy of objects in Blender and want to select the entire hierarchy, you must perform the following unintuitive sequence of actions:

1. Click on the parent object in the Outliner.
2. Hover your mouse cursor over the 3D View, press Shift+G,  
   select Children. (The parent object will become 
   unselected.)
3. Re-select the parent object in the Outliner (hold down Shift 
   while doing so)

The Simple Carnival Select Children and Parent add-on script removes the annoying behavior of the parent object becoming unselected and then having to reselect it while holding down the Shift key. Also, it dispenses with having to hover your mouse cursor over a particular window when performing these options. Basically, it reduces the above sequence to this:

1. Click on the parent object in the Outliner.
2. Press Shift+G.

You’ve already installed and activated this add-on, but you won’t be able to actually use it until you do the following:

  1. In Blender, go to File -> User Preferences.
  2. Click the Input button at the top of the screen.
  3. Type select grouped in the text box on the top right with the magnifying glass.
  4. Uncheck the option that says Select Grouped under the Object Mode header.
  5. Click the Save User Settings button at the bottom of the screen to save your changes.

remove shift G


You may not yet know what Zoom to Mouse Position and Rotate Around Selection do, but you are headed toward a world of pain when moving around the 3D environment if these options aren’t turned on:

  1. In Blender, go to File -> User Preferences.
  2. Click on the Interface button at the top.
  3. Make sure Zoom to Mouse Position and Rotate Around Selection are checked.
  4. Click the Save User Settings button at the bottom of the screen to save your changes.

Interface

 


Have you ever repeatedly used the Undo feature on a program, only to find that you can’t undo back as far as you need to go? For some reason, Blender’s defaults don’t provide you with as many undo steps as the program is capable of handling. Let’s change that:

  1. In Blender, go to File -> User Preferences.
  2. Click on the Editing button at the top.
  3. Increase the Undo Steps field to 64.
  4. Click the Save User Settings button at the bottom of the screen to save your changes.

Editing


Blender presumes that you are using a three button mouse. If you don’t have a three button mouse or you’re using some sort of mouse substitute that doesn’t support three buttons, you will need to do the following:

  1. In Blender, go to File -> User preferences.
  2. Click on the Input button at the top of the screen.
  3. Make sure that the Emulate 3 Button Mouse checkbox is checked.
  4. Click the Save User Settings button at the bottom of the screen to save your changes.

Input


Remember how I said that any window in the screen layout can change into another window type? Well, as you get up to speed with how stereoscopic rendering works in Blender, you’re going to need to switch back and forth between the 3D View and another window type called the Node Editor.

The default keyboard shortcut for the 3D View is Shift+F5, and the default keyboard shortcut for the Node editor is Shift+F3. Since you will be spending a lot of time going back and forth between these two window types, I find that it’s easier to mentally associate 3D View with the number 3 — or in the case of the function keys on the keyboard, F3. If you feel the same way, then you’re going to want to swap these two keyboard shortcuts. Here’s how to do it:

  1. In Blender, go to File -> User Preferences.
  2. Click the Input button on the top of the screen.
  3. Type context set enum in the text box with the magnifying glass. You will see a list of keyboard shortcut items. The ones we’re interested in are the ones that have the shortcuts Shift F3 and Shift F5.
  4. Click on the triangle to the left of the Context Set Enum entry with the Shift F3 shortcut. The selection will expand.
  5. Notice the Value text box, where it says NODE_EDITOR:input 01
    Click inside this text box and change the text to say VIEW_3D (all caps):input 02
  6. Now expand the Context Set Enum entry that has the Shift F5 shortcut. You will see a Value text box that says VIEW_3D:input 03
  7. Replace this text with NODE_EDITOR (all caps):input 04
  8. Click the Save User Settings button at the bottom of the screen to save your changes.

ADDITIONAL INSTALLATION AND CONFIGURATION FOR WINDOWS

Wait — you mean there’s more?

Actually, if you’re using Blender on Windows, you have access to a few additional pieces of stereoscopic software that you may find very, very useful. Here’s what you’ll need to do to install and configure them.

You’ll need to download and install two free macro programming utilities, AutoIt and AutoHotKey, to run some of the Windows-only stereoscopic software.

First, download and install AutoIt. Leave all of the default options as-is when installing.

Now download and install AutoHotKey. Leave all of the default options as-is when installing. You will need to manually put a shortcut to AutoHotKey in the Windows startup folder so that the application runs every time you boot your computer. Otherwise, you’ll need to remember to manually start up AutoHotKey in order to run the Create SBS View script.


The Create SBS View script automates the process of creating the left and right side-by-side real-time stereoscopic windows in Blender. See these two small windows in front of Blender?

animation template with SBS windows highlighted

Those windows represent a live side-by-side stereo image. You can either parallel freeview the side-by-side stereo image or use something like the Pocket 3Dvu to see it in full color stereo. Those side by side windows will be created automatically when you press the F3 key. Mac and Linux users will have jump through a few hoops to achieve the same thing.

Here’s how to install this functionality on Windows:

  1. Navigate to the unzipped stereoscopic tools directory, then to the Windows\Create SBS View directory.
  2. Open the file Create SBS View.txt in Notepad.
  3. Copy all of the text in that file to the clipboard.
  4. Run AutoHotKey. If it asks you whether you would like to create a sample default script, choose Yes. You will see the AutoHotKey icon (a green square containing the letter H) in your system tray:ahk in system tray
  5. Right-click on this icon and click Edit This Script from the context menu.
  6. Notepad will open, with a simple AutoHotKey script for opening the Windows calculator. Paste the text in your clipboard at the top of the script.
  7. In Notepad, go to File -> Save.
  8. Close Notepad.
  9. Right-click on the AutoHotKey icon in your system tray and choose Reload This Script from the context menu.
  10. Now you will need to disable the default shortcut for F3 in Blender so it doesn’t conflict with launching the Create SBS View script. Open Blender if it’s not already open and go to File -> User Preferences.
  11. Click on the Input button at the top of the screen.
  12. In the text box with the magnifying glass,  type repeat. You will see a shortcut for Repeat History that has a keyboard shortcut of F3. Make sure that the checkbox for this keyboard shortcut is unchecked.
  13. Click the Save User Settings button at the bottom of the screen to save your changes.

repeat history

 


BISE, which stands for Blender Image Sequence Editor, is a tool for creating a Blender image sequence (with transparency) from individual PNG files. It’s intended to be used with the Simple Carnival Import Imageseq As Plane Blender add-on.

bise2
This tool is basically a workaround for the fact that Blender requires an image sequence to have an image for every single frame. For example, if I have a PNG file called EPiano 41.png and I want to display it on frame 1, 2, and 3 before switching to the next image in the sequence, I will need to have three copies of EPiano 41.png in the same directory and rename them to be something like Image0001.png, Image0002.png, and Image0003.png. If you have hundreds of images in a sequence like this or you want images to change on specific frames, it’s an incredibly tedious activity to manually piece this together.

BISE is also a workaround for the fact that Cycles does not recognize PNG alpha transparency without making separate black and white alpha images and doing a lot of manual tweaking in the material compositor. We’ll explore BISE’s capabilities in a later article. Anyway, here’s how to install it:

  1. Navigate to the unzipped stereoscopic tools directory, then to the Windows\BISE directory.
  2. Launch the file setup_BISE_XX.exe (the XX being a version number). Step through the installation wizard and accept all of the default options.

There are a couple other Windows-specific AutoIt scripts from the stereoscopic toolset that we’ll dig into later (Blender Render Farm, Monitor Blender Slave Dir). You will need to alter these scripts before running them on your computer. A future article will provide detailed instructions on how to use these scripts.

CONCLUSION

Whew! That wraps up our installation and configuration of Blender and its stereoscopic tools. Not only is your computer ready to make stereoscopic images with Blender, but your Blender setup is a bit easier to use than the default installation.

In the next article, we’ll actually start using Blender. Imagine that!

Posted in Blender, Software, stereoscopic, tutorial | 6 Comments

A Stereoscopic Workflow for Blender Part 1: A Blender Overview

BlenderDesktopLogo SmallThis is the first in a series of articles about a stereoscopic workflow for Blender. Blender is a free 3D modeling and animation application for Windows, Mac, and Linux. It provides the ability to model and animate sophisticated Toy Story-style computer animation. Blender can even handle Jurassic Park-style animation, where 3D computer graphics can interact with live-action visuals.

Blender is remarkably powerful, and in the right hands, can create impressive results:

sintel2_bigsintel1_big 06_laundromat_test_render_big 06_final_test_med_big

For the purpose of these articles, I will assume that you know a lot about stereoscopy, a little bit about modern computer graphics, and nothing about Blender. Since our main area of focus will be stereoscopic rendering in Blender, perhaps the best place to start is to define what rendering is.

RENDERING

When working with a program such as Blender, graphics are usually shown in a preview mode. Preview modes don’t require massive amounts of computer power, but they also typically don’t show a tremendous amount of detail:

Preview mode

It took no time at all for my computer to display this image. I can “walk” around within this scene in real time, as if I were playing a video game.

Rendering — in the way we’ll be using the term for these articles — is the process where all of the computer’s power is put toward making images with the maximum amount of detail.

Here’s the same bedroom image, except this time it’s been fully rendered. It took nearly three hours to render this image in Blender with a powerful video card:

bedroom - renderedAs you can tell, there’s quite a difference between an image in preview mode and an image that has been fully rendered.

In the movie Gravity, nearly all of the sets, costumes, and props are computer-generated. For example, the only photographic images in the outside-the-ship shots are Sandra Bullock’s and George Clooney’s faces. Everything else is essentially a photo-realistic computer-generated animated cartoon — even though the movie certainly didn’t feel like a cartoon.

According to the filmmakers, it took 10 hours to render each frame of the film. That means that this 90 minute film — running at 24 frames per second — took 900 solid days of computer rendering. And that’s just for one eye!

So why write about stereoscopic rendering in Blender? Well, despite the fact that Blender has a highly professional feature set, and despite the fact that it allows you to model and animate in a 3D space, as of this writing, Blender has no built-in stereoscopic rendering features. (I should note that this is changing in the near future. There’s a promising Blender feature under development called Multi View, which can provide a built-in stereoscopic camera ability. I’ll be keeping an eye on Multi View and will likely be incorporating it into this stereoscopic toolset.)

Over the past year, I spent countless hours of trial and error creating my own stereoscopic workflow for Blender. I ended up modifying other peoples’ tools as well as building my own. All of the software I’ve written for Blender is located at https://github.com/simplecarnival/stereoscopic-blender-tools and can be downloaded for free.

While there are aspects of this software that could use further refinement, I feel that it’s solid enough that it should be made available to others who want to work stereoscopically. Although Blender has an enormous user base, it appears that there are very few Blender users working with stereoscopy. In fact, it feels downright lonely being one of the only people seriously using Blender to make stereoscopic images. I hope that my software and these articles will help change that.

CAVEATS

Before we delve into a high level Blender overview, there are two warnings regarding what we’re about to cover:

1. Modern computer graphics is a HUGE field.
There is a lifetime of concepts and techniques to master in 3D computer graphics, so it’s natural to feel a bit intimidated when first jumping in. I recommend using Blender to explore the one part of modern computer graphics that you’re most interested in exploring, and then branch out from there. For example, if you’re interested in 3D modeling, learn Blender’s 3D modeling tools before moving onto animation. If you’re more keen on animation, download someone else’s models through Blendswap to familiarize yourself with how Blender’s animation features work. Then you can eventually move onto modeling and rigging your own characters. The bottom line is, if you try to learn everything there is to know about modern computer graphics at once, you will be overwhelmed. It takes time, patience, and a lot of trial and error to become even moderately proficient.

2. Blender’s learning curve resembles a wall…followed by a mountain.
I’m not going to sugarcoat this. Learning Blender’s user interface is like being hazed by a fraternity. Once you’re in, you’re in. But until you’re officially a proud Phi Beta Blender brother (or sister), you will be frustrated, humiliated, and ready to uninstall the application more than once. (For the record, I uninstalled Blender twice over the years before buckling down and becoming determined to figure it out once and for all.) My goal in these articles is to not get you onto the mountain, but to have you peek over the wall and determine whether learning modern computer graphics and Blender is worth your time. Although we’ll be covering some Blender basics, this will not be an in-depth exploration of the program. I’ll be skimming over some nuances and simplifying some concepts so as not to weigh you down with Blender’s gazillion options. Therefore, you will need to learn additional basic Blender skills beyond what I’m going to demonstrate within these articles in order to do anything useful. Fortunately, Blender is quite popular and there are many outstanding free educational resources. These two are my favorites:

  • Blender 3D Design Course: A superb free college-level video tutorial course from Tufts University. This is the best introduction I’ve found for Blender beginners.
  • Blender Guru: Andrew Price is one of the most talented and engaging Blender teachers out there. Blender Guru is his web site, but you can jump to his YouTube channel and pick a video that teaches something that you want to learn.

Note that neither of these resources will help you with using Blender stereoscopically. That’s what these articles are for.

BLENDER SCREEN LAYOUT

When you launch Blender, you will see a screen similar to this:

initial screenThis screen layout looks slightly different than Blender’s out-of-the-box configuration, as it is using what I call the Simple Carnival Animation Template. (The Simple Carnival is my band and I’ve been creating a series of stereoscopic animated music videos for it.) Once you’ve installed all of the necessary stereoscopic software on your system (which will be described in the next article), your initial screen layout will look nearly identical to this.

Blender’s user interface is split up into several resizable, non-overlapping windows. I’ve placed yellow circles with numbers in them for the most important windows:

  1. 3D View: This is where you will view your models and animation.
  2. Outliner: This is where you can see an alphabetized overview of all of the objects within your scene.
  3. Properties: This is an extraordinarily complex window that contains many details about your scene and the objects within it. Among hundreds of other things, you can set your render quality here, as well as camera settings (focal length, depth of field, aperture).
  4. Timeline: The Timeline window is supposed to show what happens on which frame of your animation, but it’s lacking in so many basic features that are more competently handled elsewhere in Blender that I decided to hide most of it. Now it looks like a skinny bar with a menu and a few controls. However, it contains four important parts of the user interface that are good to have: the start and end animation frames, the current frame, and the animation transport buttons. Feel free to ignore everything else in that skinny bar.
  5. Dope Sheet: The functionality missing from the Timeline window can fortunately be found in the Dope Sheet window. The term dope sheet is a holdover from the 2D hand-drawn animation days, where paper sheets would indicate what action needed to happen on which frame of film. In this modern 3D computer-generated animation world, the Dope Sheet window indicates what computer-generated animated action will happen on which frame in your animation. In Blender, those actions are represented by little yellow or white diamonds called keyframes.

BLENDER QUIRKS

As mentioned previously, Blender is an immensely powerful program and can create beautiful visuals. But Blender is full of surprises — and not always good ones. While an entire book could be written about Blender’s unusual user interface, I’d like to cover the most important quirks that will help you get you over Blender’s initial learning curve.

QUIRK #1: YOUR MOUSE CURSOR LOCATION MATTERS

If you’re planning to be minimally productive with Blender, you will need to memorize some keyboard shortcuts. Blender has literally hundreds of keyboard shortcuts. You won’t need to memorize all of them to get up to speed, but you will need to memorize a few. While rote memorization of arcane keyboard shortcuts is an exercise that only nerds (and robots) might enjoy, that’s still not the strange quirk I’m about to describe.

The strange quirk is that, when you use a keyboard shortcut, the location of your mouse cursor matters. I cannot emphasize this enough, so I will say it again: When you use a keyboard shortcut, the location of your mouse cursor matters. In fact, you will need to be hyper-aware like never before about where your mouse cursor is located before pressing a keyboard shortcut. The reason is because whatever window your mouse cursor is hovering over will receive the keyboard shortcut.

So what exactly does this mean? Here’s an example.

We’ll first start by selecting an object in the 3D View. Blender’s default screen layout (as well as the Simple Carnival Animation Template’s default screen layout) contains a cube object:

before selecting an object
You can select that object by right-clicking on it with the mouse. Yes, you select an object in Blender by right-clicking. (I warned you that Blender’s user interface was weird.)

When an object in the 3D View is selected, it will have an orange outline:

after selecting an object

One of the most useful keyboard shortcuts for manipulating 3D models — whether you’re animating or modeling — is the G key. The G key lets you “grab” a selected object and move it to another place in Blender’s 3D environment.

Since our cube is already selected, make sure your mouse cursor is somewhere inside the 3D View, then press G. Now when you move the mouse, you will also be moving the cube. Press the Esc key to let go of the cube and have it return to its original position. (The Esc key gets you out of all kinds of messes in Blender.) Here’s a video of what selecting and grabbing a cube looks like:

Now, if some animation keyframes are selected in the Dope Sheet window (selected keyframes will look like small yellow diamonds; if they’re not selected, then they look like small white diamonds) and you aren’t paying attention to where your mouse cursor is when you press the G key, you might accidentally move the keyframes around in time — inadvertently altering the behavior of your animation:

The bottom line is, a keyboard shortcut means one thing when your mouse is hovering over one type of window, but it may mean something else when your mouse is hovering over a different type of window. So always be aware of where your mouse cursor is located before pressing a keyboard shortcut.

QUIRK #2: RIGHT-CLICK TO SELECT OBJECTS

We just touched on this quirk, but it bears repeating because it’s so fundamental to learning Blender: right-click with the mouse to select objects in the 3D View window.

Likewise, you will right-click with the mouse to select keyframes in the Dope Sheet window. Right-clicking is used for selecting objects in the other window types as well.

You can click with the left mouse button to put your cursor into text or numeric fields.

QUIRK #3: Z IS UP AND DOWN

You may remember learning about the X, Y, and Z axes from high school math. In a 3D coordinate space, you may have been taught that the X axis was left and right, the Y axis was up and down, and the Z axis was forward and backward (i.e. depth).

3D historian and artist Ray Zone used to say that 3D was “art along the Z axis.” That’s not the case in Blender. In Blender, the Z axis is up and down.

coords

Blender is not the only program that uses the Z axis for up and down, but it can be disorienting if your mental model of 3D coordinates assume that depth should be the Z axis. While it’s possible to trick Blender into thinking that the Y axis is up and down, it will mess up some of Blender’s other features, and it’s not worth the hassle of working around the problems that it introduces. In Blender’s universe, Z is up and down, period.

Using the initial camera setup in the Simple Carnival Animation Template, X is left and right, Z is up and down, and Y is depth.

QUIRK #4: THE TINY CONFIRMATION WINDOW

One of the few keyboard shortcuts that means the same thing no matter which window your mouse cursor is hovering over is Ctrl+S, which saves your project file. However, pressing Ctrl+S demonstrates yet another Blender quirk — the tiny confirmation window.

A small box resembling a pull-down menu (but with only one selectable option) will appear, confirming that you really meant to do what you just said you wanted to do.

confirmation window

Your options, when confronted with one of these mutant floating menu window things, are to tell Blender “yes” or “no.” There are two ways to say “yes”:

  • Press the Enter key on the keyboard while the blue highlighted text is highlighted.
  • Click on the blue highlighted text with your left mouse button.

There are three ways to say “no”:

  • Press the Esc key. (As is often the case, the Esc key can get you out of places in Blender where you didn’t mean to go.)
  • Move the mouse cursor far away from the tiny confirmation window and wait until the window disappears.
  • Click with either mouse button anywhere outside of the tiny confirmation window.

You will see a tiny confirmation window not just when you press Ctrl+S, but when you select certain menu options. If you’re not prepared to see one of these confirmation windows, you may be under the impression that you’re saving your work or performing some sort of menu operation, when in reality you actually just told Blender “no.”

QUIRK #5: ANY WINDOW IN THE SCREEN LAYOUT CAN CHANGE INTO ANOTHER WINDOW TYPE

Along the top of its user interface, Blender has something that looks like a main menu, but it’s not. Notice this little icon to the left of the “menu”:

highlight main window icon

When you click on this icon, you will see a dropdown list that allows you to change that “main menu” (technically, an “Info” window) into any other type of Blender window:

all window options

You may notice some of the window types that we’ve already touched on in that menu, like the 3D View, Outliner, Properties, Timeline, and Dope Sheet.

Likewise, you can click on the 3D View icon…

3d view icon…and change that window into an Info window. Or a Dope Sheet window. Or anything else. Later on, we’ll be flipping back and forth between changing the 3D View window to a Node Editor window to check our 3D render settings. For now, just know that every window in Blender’s layout is flexible in terms of what type of window it can be.

Besides, being able to turn any window into any other window type allows you to make completely impractical screen layouts like this:

useless layout

It can also let you optimize the screen layout to make things more useful. The Simple Carnival Animation Template is an example of a custom screen layout that’s streamlined for a particular application — stereoscopic animation. We’ll get more into the Simple Carnival Animation Template in a later article. Before we can do that, however, we will need to get your computer running Blender and install all of the appropriate stereoscopic software.

CONCLUSION

This wraps up our high level overview of Blender. In the next article, Installing Blender and Its Stereoscopic Tools, we’ll be configuring Blender to handle the stereoscopic tools and making your Blender setup as efficient as possible.

Posted in Blender, Software, stereoscopic, tutorial | 5 Comments