Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Daydream Lightmapping and Rendering Best Practices?

Discussion in 'Daydream' started by goddestroyer, Dec 20, 2017.

  1. goddestroyer

    goddestroyer

    Joined:
    Jan 11, 2017
    Posts:
    12
    Hello community,

    I have read all relevant manual pages I can find in the Unity manual, searched forum posts, and read Google, Oculus, and Unity VR guides. My unanswered questions right now can be boiled down to trying to achieve the following goals:

    MY GOALS:

    • To understand the ideal Lightmapping settings for Daydream. Specifically, lighting mode, indirect resolution and lightmap resolution texel settings.

    • To understand which default shaders on objects are best for Daydream, and why.

    • To have a ballpark target in mind for total tris/polys, total draw calls per frame, and total size and dimensions and number of textures and other maps.
    MISC QUESTIONS IN HELPING ME ACHIEVE THESE GOALS

    • I've read the documentation on the different lighting modes-- Baked Indirect, Shadowmask, and Subtractive, but which one in practice will have the best results and performance balance on Mobile VR?

    • "GPU Skinning" option on player settings. I read one guide suggesting to always use it for mobile VR. when checking that box, Unity tells me the features is experimental. should I use it? does anyone have a more in-depth explanation of what this does and how or why it can help? can anything potentially adverse happen from enabling this option?

    • Which built-in shader should I select for objects in my scene, specifically targeting Daydream platform? There are SO MANY built-in shaders to select from, and 'best practices' in VR seems to be moving so fast right now that everything I read about these shaders is already out of date. Should I set everything to "standard" shader? is there some other shader specifically optimized for Daydream or for mobile VR? what are the limitations/implications?

    • Can I PLEASE get a clear explanation of the following "Lightmapping Settings" fields: Indirect Resolution, Lightmap Resolution. I understand what a lightmap is, and I think I understand that a "texel" is-- the number of pixels in the lightmap that spans 1 "Unity unit" on the model in space, correct? What are reasonable settings for these fields, targeting Daydream VR in mind (best quality at max efficiency)? I currently have indirect: 1texels per unit, lightmap resolution: 1 texels per unit. Lightmap size: 1024px. I have chosen these values fairly arbitrarily just to get reasonable quick baking times, but i want a better understanding of how to maximize quality with these settings.

    • I now see there is something released called Daydream Renderer: https://developers.google.com/vr/develop/unity/renderer . has anyone played with this much? does it solve everything? is it something good to use in conjunction with all the best practice answers to my above questions?
    • What are ballpark targets for verts and draw calls to have in mind in the profiler, for a finished daydream app that maintains 60fps+?I have an extremely stripped down scene right now with a train car model sitting on a road of dynamically tiled terrain, shown here with 7 tiles of the same terrain model. it builds and plays at a fast 60+fps on my daydream device, but the profiler shows I'm already at 31 draw calls, 125k tris, 248k verts, and i plan on adding a lot more variation and detail to the modeling. I am basically flying blind for finding what is an appropriate number of verts and draw calls for my finished application.

    Thank you for reading, pointing me to any relevant information!!!!

    I am currently using Unity 2017.3. I am a pro at documentation reading, if you just have links for me to any article or documentation that you think clearly answers these issues, i will gladly study them.
     
  2. jmitcheson

    jmitcheson

    Joined:
    Oct 21, 2016
    Posts:
    96
    Such a huge list of questions! I'll pick off a few easy ones but may come back later and post more on the other points

    - GPU skinning is not a big help - for me it is actually slower with this on. Recommend to leave off.
    - Definitely don't use the standard shader. The fastest shader is Mobile/Vertex-Lit. Use that if your art style and lighting can handle it. Otherwise, use Mobile/Diffuse.
    - If you are starting a new project, I would recommend to use the Daydream Renderer. I have no idea if it works cross platform with GearVR, though.

    The answers to your other questions are complicated. The short version is that what will kill you on mobile VR is switching textures. Quick advice would be to forget about it; bake everything with Meshbaker at the end of your project and if it runs at 60FPS you can stop there.
     
  3. goddestroyer

    goddestroyer

    Joined:
    Jan 11, 2017
    Posts:
    12
    thanks for your response, and the tip on shader. We are only targeting Daydream at first. after that may make a rift/vive version of the experience.