12
$\begingroup$

I have search the web for a solution to my problem, but most of the solutions out there seem to be created for a "fixed" view-angle.. For instance: http://www.dalaifelinto.com/?p=1009

That would only create a "flat" movie with depth.. but what If I actually want to create a spherical 360 stereoscopic top-down(or side by side) video for playback in VR?

Simply using the above solution and turning on Panoramic->Equirectangular wouldn't do it.. since after all.. the cameras(left and right-eye) has to rotate around the center of the cameras/eyes.. enter image description here

As you might notice.. the problem with only using a Equirectangular is that as soon as the user turns his/her head to any other direction than the direction the cameras was pointing to.. the stereoscopic-effect will "break".. or you will end up with a "cross eye"-effect..

Any ideas of how to solve this.. any tutorials around that you are aware of?

Br, Inx

$\endgroup$
2
  • $\begingroup$ You should check vrais.io/tutorial and their presentation from the blender conference. Look at the results yourself by using their app and a cardboard. As written, you need the special blender build for that. $\endgroup$ Commented Mar 3, 2016 at 14:17
  • $\begingroup$ You can try this solution for creating 360 degree stereo without any stitching. cv-foundation.org/openaccess/content_cvpr_2016/papers/… $\endgroup$
    – user27462
    Commented Jul 12, 2016 at 6:48

4 Answers 4

6
$\begingroup$

Starting from Blender 2.78, there will be a 'Spherical Stereo' checkbox in the camera panel which does exactly what Sybren has described. It will pivot the stereo camera per pixel to give you always the correct stereo offset for any direction.

enter image description here

Read official release notes for more details.

$\endgroup$
3
  • $\begingroup$ Great. But with my quick search I found this will be available since Blender 2.78, not 2.76. Release notes $\endgroup$
    – hakatashi
    Commented Sep 23, 2016 at 18:37
  • $\begingroup$ You can download a working pre-release of 2.78 here: download.blender.org/release/Blender2.78 $\endgroup$ Commented Sep 24, 2016 at 0:07
  • 1
    $\begingroup$ You need to check "Views" under the layers tab for the Stereoscopy section to appear in the camera properties $\endgroup$
    – Steve
    Commented Apr 18, 2017 at 22:08
2
$\begingroup$

As far as I know, what you suggest, rotating the camera pair in small steps and stitch them together, is exactly what Blender's Multiview feature does. It doesn't need explicit stitching, as it effectively rotates the camera pair for every rendered pixel.

You can find more info in the Multiview section of the Blender manual. The Camninandes VR demo also doesn't have any issues on the left/right/rear.

$\endgroup$
1
$\begingroup$

This is a really hard problem that nobody has fully solved.

Here's the issue: Cleanly stitching together a panorama relies on a single-viewpoint constraint. But with two cameras, it's geometrically impossible to rotate them around, keeping them side by side while maintaining that constraint. A full solution would require either separate video for every possible viewing angle, or some sort of real-time re-projection based on saved 3D information.

Various compromises are possible. For example, Google has made a really interesting attempt based on data from their Jump camera rig. Their trick is to treat parallax as a fixed angular shift as a function of distance. This approach is imperfect at the edges of the display, or when looking up or down, but it's not a bad approximation.

If you're happy with Google's approach, you may be able to render to the same format that their rig records (by using multiple cameras in your scene), and submit the videos to Google for post-processing.

One approach you might try with Blender is to render your video in several concentric spherical shells by setting the near and far clipping distances, and rendering with transparency. You would then need to create a viewer that superimposes the shells, rotated different amounts in the direction of eye separation, to simulate parallax.

$\endgroup$
1
$\begingroup$

The method in the link you gave actually does render fully stereoscopic 360 panoramas. You get an output of two 360 images as you can see in the third image in your link, one for each eye, and it works in all directions. I've tested this in Google Cardboard.

Here is the official documentation: https://www.blender.org/manual/render/workflows/multiview.html

Here is a GIF of an image pair I rendered as a test. You can clearly see there is a left, right image offset over the full panorama.

left right view alternated

$\endgroup$
5
  • $\begingroup$ If you compare these images carefully, you'll see that the offset is reversed for the objects behind you, and there's no offset at all for objects to your right and left. $\endgroup$ Commented Feb 2, 2016 at 3:48
  • $\begingroup$ I don't follow, you can clearly see that the whole helicopter interior is shifting around you between the images. Here is a photosphere image of only the left view from the above pair to get your bearings in the panorama. The outside scene isn't moving between left and right images as it's so far away that you don't have a 3D effect there. If you do want a 3D effect for far objects you must increase the interocular distance in the Blender settings, resulting in hyperstereo. $\endgroup$
    – cybrbeast
    Commented Feb 2, 2016 at 3:59
  • $\begingroup$ The rear window shifts to the left in the same frame that the front window shifts to the right. That would create reverse parallax when you look behind you. And the chairs to your sides don't shift left/right - they just become nearer and farther. $\endgroup$ Commented Feb 2, 2016 at 4:04
  • $\begingroup$ Awesome image, by the way! :-) $\endgroup$ Commented Feb 2, 2016 at 4:08
  • $\begingroup$ Thanks! I think the implementation is correct, it's just hard to intuit how the image pair should look. In the link you can also read the paper this method is based on: Synthetic stereoscopic panoramic images. In my experience it does work correctly in 3D as I've been able to test with Google Cardboard, no reverse parallax or anything. I might set up a more rigorous test scene for further testing. $\endgroup$
    – cybrbeast
    Commented Feb 2, 2016 at 4:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .