Search Unity

Enable Video Surface

Discussion in 'Daydream' started by Claytonious, Oct 5, 2017.

  1. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    904
    What does this option Daydream settings do?

    upload_2017-10-4_16-28-0.png
     
  2. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Claytonious likes this.
  3. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    That is correct.
     
    Claytonious likes this.
  4. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    While we are here...

    One idea I had for that was using it to create a loading/splash screen at the very start of the app, to replace Unity's cubemap thing. Or for a loading screen inbetween levels.

    Does that sound like a sensible usage? Any has anyone reading this tried it yet?
     
  5. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    Google is working on adding some simple integration support in their SDK for that. Supporting that feature is a fairly complex activity and they are trying to make it simpler.

    BTW, the 17.3 docs that have information on that option are not published yet and still going through a re-write. Hopefully we'll have something out for VR Doc updates in the 17.3 timeline.
     
  6. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
    @jmitcheson I don't think you'll be able to replace the splash screen but it might be usable as an interstitial, though that isn't it's intended target. The intended use (as I understand it) is to allow for high quality, high frame rate video rendering that should be unlocked from the Unity rendering thread.
     
  7. Claytonious

    Claytonious

    Joined:
    Feb 16, 2009
    Posts:
    904
  8. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Thanks for the info!
     
  9. joejo

    joejo

    Unity Technologies

    Joined:
    May 26, 2016
    Posts:
    958
  10. rrrus

    rrrus

    Official Google Employee

    Joined:
    Jul 13, 2015
    Posts:
    14
    We are working on adding support for this new feature to the GVR Unity SDK video plugin to make it easy to use. It has some limitations, like it only supports monoscopic video projected on a flat quad, no stereo video or curved meshes.

    @jmitcheson, using this for a loading screen is an excellent use of this feature. The video path this enables is completely independent of Unity and its render loop and as such can render video in VR smoothly while Unity may stutter and stall during scene or content loading.

    As @joejo mentioned, the main use of this feature is to render smoother, higher fidelity video content in a VR scene, as the video frames undergo only one pass of texture sampling instead of the usual two pass of Unity rendering into an undistorted buffer, then GVR rendering that buffer again on screen, distortion corrected. This feature also enables the use of protected surfaces for use with DRM content.

    We are also working on expanding the capabilities of the video surfaces to support stereo video and curved meshes.
     
  11. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    If anyone is interested, I tried it out as an initial application loading screen. I used a black cube with a quad for the video surface and I set the Unity splash loader to be black.

    It worked well, however the time taken to load even a small scene was a little problematic.

    What did work well was enabling the standard Unity splash screen, and then my video loading scene as the first scene. In that case, the delay in loading the scene and video is not noticable.
     
  12. IK_Pegasi

    IK_Pegasi

    Joined:
    Feb 10, 2016
    Posts:
    1
    I am having trouble to make it work. Would you mind sharing your project? Thanks very much!
     
  13. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Sure. It's from 2017.3.0b3, although in theory any 2017.3 should work.

    Link

    The project is slightly messy - relevant scene is called 'Loading' and in the code of 'VideoLoader' you can see a hard-coded string of next scene to load. I used the GVRDemo scene as the scene to load, but there is nothing special about that. Also perhaps don't re-use or re-publish the example loading video since it's not mine but something pretty I found from a YouTube user.
     
    IK_Pegasi likes this.