4
$\begingroup$

In am interested in setting up cameras and rendering settings to create a stereoscopic image or animated scene.

I have found easily how to export one image where the red and blue channels are slightly off (which is good for stereoscopy that involves red/green glasses).

But what I am trying to achieve is stereoscopy that can be looked at without glasses, for a short period of time, by crossing one's eyes. Such as this image, in which the left and the right views are combined in one image (courtesy of Wikipedia):

enter image description here

I have found stereoscopy settings in the right-hand side menu of the viewport, as well as settings in the Scene properties panel, but my various attempts didn't result in two images side-by-side being produced, but always them overlapping.

The closest I have gotten to what I'm trying to obtain are these settings in the Camera panel:

enter image description here

I quickly run into the limits of the two fields and the resulting images are not rendered with their own colors. The angles of the cameras are also hard to figure out.

Ideally, the two left and right views would have all their colors, and be exported as one image side-by-side. This way, only one image would be exported for each frame in case I create an animation with this technique.

$\endgroup$
  • $\begingroup$ I think this will answer the image format question: blender.stackexchange.com/questions/42289/… Regarding cross-eyed images. I think if you flip the left and right image you will get what you want. $\endgroup$ – reden May 9 '16 at 6:06
  • $\begingroup$ There's also another way to do it here: blender.stackexchange.com/questions/6277/… $\endgroup$ – 360ueck May 9 '16 at 6:09
  • 1
    $\begingroup$ The easiest way is probably using two different camera objects in your scene instead. $\endgroup$ – Duarte Farrajota Ramos May 9 '16 at 14:56
  • $\begingroup$ I can't seem to make use of these comments. Anyone got a screen grab of what it looks like on their end? (viewport + rendered version). Ideally both cameras should point to an object's origin, not away from it... $\endgroup$ – MicroMachine May 11 '16 at 3:51
  • 1
    $\begingroup$ I don't think people have been getting your comments. I have asked precisely about this before, and unfortunately Stack Exchange doesn't notify users about comments unless you ping them like you just did to me. Anyway I'll try and think of a solution and post an answer as soon as I can, but my computer is currently busy rendering a project I have limited usability, I probably wont be able to until tomorrow. $\endgroup$ – Duarte Farrajota Ramos Jul 13 '16 at 23:17
4
$\begingroup$

OK, after some fumbling around I found a workable, if a bit hacky, solution for this.

Stereoscopic Render

The main issue here is that Blender's compositor, according to this question, was designed assuming all frames and image are the same sizes, and thus wasn't really made for handling different sized renders or composing images of random dimensions.

Anyway it's a bit of a involved process that will rely on a three scene system Scene A, Scene B and scene Size

Three Scenes

  1. Create you scene Scene A regularly (set up your render objects, meshes, lights, etc)
  2. Make sure you add all objects to a certain group with Ctrl + G (that we shall call for the sake of example Group) including lights but excluding your camera objects
  3. Make sure this group's center is at the scene 0,0,0 coordinate
  4. Create you camera object wherever desired but do not add it to the group
  5. Set up your render size and render preferences all as desired
  6. Now add a new scene Scene B to your Blender using the option Copy Settings

Add new scene

  1. In the new scene add a new group instance of the previously created Group
  2. Make sure this group instance center is also at the scene 0,0,0 coordinate
  3. Go back to Scene A select your camera object and link it to Scene B by pressing Ctrl + L > Make Links > Object to Scene > Scene B
  4. Go back to Scene B and select the linked camera and make it's object unique by pressing U > Object. This will keep the camera settings linked and in sync with the previous one, but allow you to move them independently.
  5. Now Place this camera as many units to the side as desired. If you want them both 'centered' you may want to consider moving one X units in one direction in Scene A and the other one -X units in the opposite direction in Scene B. If they are somehow rotated in global coordinates you may double press X > X to move them in local X axis.

Your scene should now be setup, now you need to setup the rendering system to automate image assembly.

Add a third empty scene called Size using the New option from the menu. This scene will only exist as a hack to setup an image size. Disable everything in the render layers so it will render instantly. The only important thing to do here is to make sure you setup render size double the width of the previous Scene A and Scene B.

Disable render settings

Say if scene A and B have a rendering size of 800 x 600 (and the must be kept in sync manually) scene Size must have a rendering size of exactly 1600 x 600 so images can be correctly combined side by side.

Add a camera to the scene Size (anywhere is fine, it won't be used much anyway) and set it as active.

Now you must specifically set up compositing in scene Size and configure your compositing nodes as shown bellow so Blender will automatically fetch the renders from the other scenes and compose them into one large stereoscopic image.

Compositing

You must always render from scene Size from now on to obtain your stereoscopic images automatically, and you will probably have to update each scene's render manually from the little rendering buttons in the nodes themselves (instead of just pressing F12) to render from other scenes otherwise Blender will probably render them in the incorrect size because it was never meant to render this way.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.