Search Unity

  1. The Unity Pro & Visual Studio Professional Bundle gives you the tools you need to develop faster & collaborate more efficiently. Learn more.
    Dismiss Notice
  2. Improved Prefab workflow (includes Nested Prefabs!), 2D isometric Tilemap and more! Get the 2018.3 Beta now.
    Dismiss Notice
  3. Want more efficiency in your development work? Sign up to receive weekly tech and creative know-how from Unity experts.
    Dismiss Notice
  4. Participate with students all over the world and build projects to teach people. Join now!
    Dismiss Notice
  5. Build games and experiences that can load instantly and without install. Explore the Project Tiny Preview today!
    Dismiss Notice
  6. Improve your Unity skills with a certified instructor in a private, interactive classroom. Watch the overview now.
    Dismiss Notice
  7. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice

How to implement rendering logic for stereoscopic 360 video

Discussion in 'AR/VR (XR) Discussion' started by dimatomp, Dec 5, 2018 at 9:34 AM.

  1. dimatomp


    Oct 20, 2016

    I am trying to implement my own 360 stereo renderer and I'm not going to use any existing solution for this task; the reasons are specific to my scenario. I understand that the 360 stereo image is usually produced by rendering two cubemaps (one per eye) and converting them to equirectangular projection - my question generally concerns the first part.
    Currently I know about three implementations of cubemap rendering logic:
    • Camera.RenderToCubemap renders all 6 cubemap parts according to provided stereo separation, target eye, etc. I believe that it works fine but it does not render world space UI (see the issue) which is crucial in my particular case.
    • Helios asset package simply places Camera at -IPD offset for left eye and IPD for right eye. It is not obvious to me why this works at all: e.g. if a viewer looks to the left, they will see the left image being 2*IPD "closer" than the right image when it should be 2*IPD "to the left" from the right image.
    • VR Panorama asset package: I have no experience of using it. Helios was a disappointment for me because of its really poor design; I am not sure if it is not the same with VR Panorama and I don't want to buy it without a preview.
    There is also a Google article about 360 video: it suggests rendering the equirectangular image per-column. While this approach obviously works, it is pretty expensive in terms of rendering time - especially if you want to render 8K stereo and thus would have to perform thousands of passes.

    If I am wrong anywhere above, comments are appreciated. Any suggestions about the right way to render 360 stereo content?
    Last edited: Dec 5, 2018 at 9:39 AM