Search Unity

Are there any Daydream specific settings to make text more crisp?

Discussion in 'Daydream' started by vonbetelgeuse, Jun 19, 2018.

  1. vonbetelgeuse

    vonbetelgeuse

    Joined:
    Aug 28, 2014
    Posts:
    126
    I've been through the Canvas settings and individual Text settings in terms of size and scale, but are there any Daydream specific settings I can tweak to make the text more legible?
     
  2. fredsa43

    fredsa43

    Official Google Employee

    Joined:
    Aug 31, 2016
    Posts:
    7
    There aren't any Daydream specific settings for text.

    However, you can find good instructions on how to achieve excellent results in:User Interfaces for VR under "Free antialiasing on text for VR".

    Note that the following global settings will impact text readability as well:
    1. XRSettings.eyeTextureResolutionScale (previously known as XRSettings.renderScale)
    2. QualitySettings.antiAliasing (this is the "anti-aliasing" setting under Quality Settings, also known as MSAA)
    Eye texture resolution scale controls the actual size of eye textures as a multiplier of the device's default resolution. Higher resolution provides more detail (allowing for finer font features), but comes at a performance cost. Lower resolution helps your app render more quickly, at the cost of detail.

    Although increasing MSAA can be expensive (especially on mobile), doing so helps eliminate jagged edges and pixel crawl in text, issues that are often more noticeable when rendering to lower resolution textures.

    If you increase MSAA you'll see a warning at build time in the Unity console about mobile performance. Although the prevailing wisdom is that MSAA is too expensive on mobile, I encourage you to measure performance (using performance HUD) with different levels of MSAA. As you increase anti-aliasing you'll likely need to reduce render scale to regain performance. Find the best tradeoff / settings that work for your app.

    Here's the basic recipe:

    While running on your target hardware with a representative load (that is with your real/final scene)…
    1. Adjust eyeTextureResolutionScale, renderViewportScale and MSAA to balance aesthetics and performance (again, use Performance HUD).
    2. Follow the Free antialiasing on text for VR instructions, being sure to view the scene on device, inside the Daydream View headset, so you're seeing the final result that your users will.
    Since the tradeoffs you're making are constrained by performance, be sure to review VR Performance Best Practices to better understand performance costs, and see if you can uncover new ways to make your app more performant.
     
    vonbetelgeuse likes this.
  3. vonbetelgeuse

    vonbetelgeuse

    Joined:
    Aug 28, 2014
    Posts:
    126
    Excellent, thank you for the response I'll study the suggestions carefully :)