Skip to main content
Up and Coming
October 9, 2013

360x180 CG Renders

I'm facing a problem when rendering any pair of equirectangular images from inside a 3D modelling package (Maya in my case, but no doubt the same issues apply to many different packages). The attached (side-by-side format) image is an example. I'm hoping the good folk on this forum can help.

I render out my panorama (I use the Lat-Lon Mental Ray lens plug-in) and it looks as you'd expect. Looking at it through the excellent VRPlayer, it works well. I then shift my camera to another position approx 6.5 'virtual' cm to the side of the first position and re-render. Again this panorama works fine on its own.

I was hoping that I could just place these x2 renders side-by-side (as they are in the attached example) to make a 3D version of the scene. Not so. What's happening is that the 'forward' view works fine but the depth gets reversed towards the peripheries of the image (which just looks bad) until the 'back' view is completely inverse (and so look pretty much OK again).

Logically I can see that the reason is that the 'Right camera' becomes the 'Left camera' as it renders the part of the view directly behind itself. However, I haven't got a clue how to fix it and output an equirectangular panorama that works in 3D. Help!

    165 replies

    Up and Coming
    April 14, 2015
    There is Domemaster3D shader for Vray now;

    https://github.com/zicher3d-org/domemas ... 3D-Install

    There are such parameters as 'neck offset', 'parralax distance' - are they relevant for rendering panorama for Oculus? Anyone has experience with this?

    Also, we have stereo camera shader, and LatLong stereo shader - I guess LatLong is irrelevant for stereoscopic panorama render for Oculus?
    New Participant
    April 20, 2015
    "RyuMaster" wrote:
    There is Domemaster3D shader for Vray now;

    https://github.com/zicher3d-org/domemas ... 3D-Install

    There are such parameters as 'neck offset', 'parralax distance' - are they relevant for rendering panorama for Oculus? Anyone has experience with this?

    Also, we have stereo camera shader, and LatLong stereo shader - I guess LatLong is irrelevant for stereoscopic panorama render for Oculus?


    I've tried it but on the zenith and nadir there's a kind of swirl, on the horizon it look good, but when looking up or down the scene has this deformation.

    Has anyone else experienced this problem?
    Up and Coming
    April 21, 2015
    I will be soon releasing a Unity asset that can be used for rendering stereo 360 videos directly from Unity. Here you can find more info.
    https://forums.oculus.com/viewtopic.php?f=29&t=22443
    New Participant
    May 12, 2015
    Hello folks,
    I'm a little late for this topic, and I confess I read it diagonally, so I'm sorry if this is not new.
    I've been making some tests using the 1º FOV stripes mosaic method with 3dsMax + VRay lightcache, with very interesting results.
    I began using two cameras rotating around a dummy, but then I realized that after calculating 2 separate lightcaches, 1 for each camera, I ended up having, well, two different lightcache approximations, and the result was that the difference in both GI calculations popped up to the eyes when viewed through the rift.
    My solution to this was to use a single camera that rotates twice: once to the right and once to the left side of the dummy, in a single animation: on frame 359 it moves to the right eye position and spins again another set of 360 frames.
    This way I had a single lightcache fly-through file to load from when rendering the frames.
    Attached follow both tests.
    Thank you very much for all the information. I must now try and use one of the scripts and plugins you've been working on.
    Regards,
    LUCAS
    Up and Coming
    May 28, 2015
    I am trying to achieve something similar in unity. Can anyone point me in the right direction.
    New Participant
    June 8, 2015
    Hello all,

    The latest Vray 3.2 update for 3dsmax has full stereoscopic support for the spherical camera and stereoscopic helper.
    Only noticed it myself listed in the enormous update list just a few days back. Heres a couple frames of something to look at.

    http://i375.photobucket.com/albums/oo19 ... rppazd.jpg

    http://i375.photobucket.com/albums/oo19 ... ijs5rp.jpg
    Up and Coming
    June 9, 2015
    Hello everyone,

    Using the panoramic strips technique in Unity, I was able to make some nice looking 360 stereo videos to act as trailers for my DK2 experiences. Instead of rotating a pair of parallel cameras, I'm literally spawning at the start 2k+ cameras to cover the whole area and rendering all of their respective stripes to a unique RenderTextre, then compressing this texture to a mp4 video top-bottom in 2kx2k (at 60 FPS). Costs me something like 7h of render time for 2 minutes of footage on a MSI GT70.

    I would like some feedback on the result, here is the link to a video. Works fine on the GearVR v360 player :

    http://we.tl/dCsETHwsz9

    I got some weird artifacts recently, maybe because of shadows. I may also use in the future monoscopic cameras for top/bottom views, or add a feature to smoothly "decrease" eye disparity when the cameras go higher. I use mutliple cameras for each view strip (can be configured, since they are spawned at initialization). No stitching method is employed.

    Conversion from RenderTexture to video is done through AVMovieCapture (http://forum.unity3d.com/threads/releas ... re.120717/) but it might be done by anything else. You just need to save the RenderTexture as a screenshot at each frame (since the 2k+ cameras will have rendered the texture) and make a movie out of it.

    For those who wish to explore this kind of technique, here is my Unity package. It can also choose to make a "toed-in" stereo rendering, but I never got results as good as with simple parallel renderings. It requires to be given a RenderTexture, to apply the camera's renders on it. Any feedback on this is welcome :)

    Edit: I modified the code to try out different behaviors, such as depth fading at the poles & screenshots. I do seem to have some weird artifacts when using soft shadows, and the vertical disposition of my cameras produce distortion on the shadows too.. There is till some work to be done on this

    Edit2: wetransfer link has expired and I forgot the scripts in the package -_-. Modified initial rig to have only one pair of cameras... The main script should be sufficient to understand what I do to capture the videos
    Up and Coming
    June 17, 2015
    The unitypackage posted does not contain any scripts, only prefabs. Very excited to have a look at this.

    Also, the wetransfer link does not work.
    Thanks.
    Up and Coming
    June 17, 2015
    Sorry, it expired. I will repuload it later on dropbox. Replaced the camera rig with prefabs-only with just the main script for my panoramic cameras
    Up and Coming
    June 25, 2015

    https://www.assetstore.unity3d.com/en/#!/content/35102

    With this asset you can Render VR Panoramic 360 Stereo Image Movie Sequences directly from Unity for Oculus Rift, Gear VR, Google Cardboard and other VR HMD devices.



    VRPanorama is fast and easy way to make fully functional stereoscopic panorama movies for VR Headsets like Oculus or Gear VR.

    FEATURES
    -Output Stereoscopic (and monoscopic) 360 panorama image sequence movies directly from Unity to VR HUDs or video streaming services.
    -PNG or JPG sequence output.
    -Support for deferred and forward rendering with screenspace image effects.

    USAGE
    -Place VR Panorama Camera prefab into your scene and animate it. You can do it by right clicking in Hierarchy View and selecting VR Panorama Camera, or in menu Game Object/VR Panorama Camera.
    -Set rendering settings for VRPanorama by modifying VR Capture Component (attached to VR Panorama Camera object). Note that some Screen Space image effects (like adaptive Tonemapping) could introduce artifacts, but majority of them will work just fine.
    -Place Your Image effects on a camera named 360 Camera (under VR Panorama Camera).

    Panorama Type:
    Can be Equidistant stereo, or Equidistant Mono. Use stereo for VR HUDs, and Mono for 360 video streaming services.

    Image Format Type:
    Can be JPG or PNG. JPG is faster to render, but it introduces some compression artifacts. PNG is loosless but requires more space and is slower to render.

    Folder:
    Folder under Your project folder, where your image sequence will be stored. If folder doesn't exist, a script will create it for you.

    FPS:
    Image sequence framerate. Can be any, set it in base of your final device. Note that if you don't have fast moving objects, it can be as low as 25 fps.

    Resolution:
    For most devices (Gear VR) it should be 2048 for stereoscopic VR panorama movie.

    Number of frames to render:
    Your final sequence lenght. A scene will stop playing after this number of frames.

    IP Distance:
    Interpupillary distance. Default for average human is 0.064, but I suggest using 0.066 as for people with larger IP distance, 0.064 can be really unconfortable.

    Open Destination Folder:
    When rendering finishes, script will open a destination folder for you.

    Compensate Driver:
    If selected, it should compensate for some broken graphics hardware drivers that shift textures by one pixel. If you note that your panorama have a black line on a rear side, activate this option.



    GENERAL INFORMATION ON STEREOSCOPIC 360 PANORAMA MOVIES

    Be aware that VR 360 panorama suffer some stitching artifacts.
    Unfortunately, these artifacts can't be avoided for stereocopic VR panoramas (in general, it applyes to all tecniques). It will happen when objects are near camera (they are bigger as object gets closer to camera, but they will get smaller or eventually dissapear for objects that are far away). Due to a paralax difference between eyes, you can't correct them in any way without breaking stereoscopic illusion. There are different techiques for minimising (one of them is usage of vertical scanline rendering technique, but it works only with static stereoscopic panoramas, as for animation, it would introduce heavy wobbling and temporal distortion. For example, if an object move, it will get streched and would look distorted, like it was made from a Jelly, also, this technique would be very slow for rendering.

    Here are some tips on how to minimise stitching artifacts:

    -place camera in a way that those stitching edges always look at objects that are far.
    -Project your animations in a way that they capture viewers attention at zones that are artifact free.
    -Avoid using thin vertical objects.
    -On near planes like floor use textures that don't have large checker or stripe patterns. High frequency textures or uniform colors work better.

    VRPanorama asset is made to use psico-optical perception illusion: these artifacts are more visible in unwrapped image than in VR - one eye has almost perfect stiching, while other no - our brains will reconstruct this image most of the time almost perfectly.

    https://www.youtube.com/watch?v=zTJK87g1jo0

    NOTE. VR Panorama isn't a realtime renderer and doesn't support any type of video streaming. However, it is quite fast - on a modern computer it will render 1 minute 360 sequence for Gear VR in 10 minutes.