Search Unity

Resolved Render quality looks lower than expected in VR project

Discussion in 'VR' started by zelrender, Oct 26, 2020.

  1. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Hi all,

    I'm new to VR development but not new to Unity, having released a game last year. I am trying a small project involving displaying photos of real like paintings on walls in a VR space. The image fidelity of the paintings is of course an important factor in this project and currectly everything looks a bit blurry in the headset. The texture is high resolution and when close to it in the VR project it looks like that, just a few steps back and its kind of blurry. I've tried using XRSettings.eyeTextureResolutionScale and that makes the project run slower when upped but I cant see a difference in the resolution. Help appreciated.

    Here's some specs:
    Quest 2 headset: 1832 x 1920 resolution for each eye
    Painting texture resolution: 5017 x 3345 (currently not yet compressed, left Texture Type as Default)

    upload_2020-10-26_15-56-21.png

    upload_2020-10-26_15-56-58.png

    upload_2020-10-26_15-57-48.png

    upload_2020-10-26_15-58-37.png
     
  2. TheNullReference

    TheNullReference

    Joined:
    Nov 30, 2018
    Posts:
    268
    Do the paintings look blurry in the viewport? Could the actual headset lenses and resolution be causing the blur?
     
  3. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Not blurry in the viewport. It could be the lens/max res of the headset but I've seen clearer rendering in other games/apps on the headset. Also the texture is pretty crisp close up, makes me think its a camera setting perhaps?
     
  4. Psajmon_unity

    Psajmon_unity

    Joined:
    Oct 18, 2019
    Posts:
    10
    Check Anisotropic texture quality setting in imported texture.
     
  5. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    These are my settings, so already using Aniso on import.

    Image Quality settings.jpg
     
  6. arfish

    arfish

    Joined:
    Jan 28, 2017
    Posts:
    782
    Hi,

    Mip Maps on Textures usually kills the details.
    Have you tried without Mip Maps?
     
  7. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    I have and its no good either.
     
  8. Geist2501

    Geist2501

    Joined:
    Jun 29, 2019
    Posts:
    25
    If you install the Oculus Metrics Tool you will see that the Quest 2 does not actually render at the native resolution of the Panel, sadly. And more sadly, there is not way to change that other than the following 2 ADB commands.

    "adb shell setprop debug.oculus.textureWidth 1832"
    "adb shell setprop debug.oculus.textureHeight 1920"

    You can run these easily using SideQuest each time you power on your HMD. There is a API/Plugin command to scale the eye texture, but since the default form which it scales is not the native aspect ratio, that as well results in non-integer scaled frame buffers that still look slightly blurry, unless you over-sample to ridiculous degrees (1.5x +).

    I suggest, from what i tested with, to use a MSAA level of 2 and a render scale of 1.25 for the best picture to performance ratio. As a starting point from where to adjust at least.

    Until Unity5.4 you could use the global mip map bias to push all the mip maps further out, to keep textures clear, but that stopped working with later versions on Android/ARM devices for some reason - I only noticed that first when working on the N3DS, not sure if that works again now (with newer Unity versions). Gonna test that in a bit, since, yeah, textures no matter how big looks like vomit form about 3 meters distance on the Quest 2...

    @zelrender I wrote this a bit more detailed for anyone else who might have these kind of problems, even though you already looked at some things. For you specifically i would also suggest to look at the Android specific texture options, you only show the standalone(pc) option. There is a global overwrite for texture compression in the build settings window. i think it is usually set to ETC (with looks horrible) by default, try ATSC or DTX, depending on what looks better for the texture in question.

    Edit: I just checked the mip map bias thing and read, "Also note that mip map bias does not work with MaterialPropertyBlocks, and some platforms, e.g., OpenGL ES based do not support it without custom shaders.", which is weird since i am 100% sure it worked in older version... Now if Vulkan would not crash after about 1 minute that would be something to test i guess ;)
     
    Last edited: Oct 29, 2020
    svolodko_unity likes this.
  9. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Good to know. My target platform was likely going to be PCVR not Quest 2, I just happen to have a Quest 2 which I am using via Link cable to work on the project.

    So are you saying that on a "real" PCVR headset (like the Rift S) Textures from 3M distance may look less blurry than through the Quest 2?
     
  10. Geist2501

    Geist2501

    Joined:
    Jun 29, 2019
    Posts:
    25
    If you are using Link make sure you have your Oculus PC app and the quest 2 updated - Link just got updated and looks much clearer now, though there are still noticeable compression artifacts, around text especially.

    When i run link for testing the Quest 2 runs at 24xx pixels² per eye - still native it would be considerable clearer - also while USB-C 2 works, now with the updated link version i see quite some difference if i plug in my USB-C 3 cable...

    There is tons of videos on the Tubes right now, about how to use the Oculus Debug tool (located in Program Files\Oculus\Support\oculus-diagnostics), to up the bit rate of the link transfer. Give that a shot...
     
  11. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Thanks very much. This explains a lot of my issues. Seems likely to be a Link cable problem. Will investigate that road. Do you know of a way to Run Unity projects in VR through Virtual Desktop on the Quest?
     
  12. Geist2501

    Geist2501

    Joined:
    Jun 29, 2019
    Posts:
    25
    You can use Virtual Desktop to stream over Wifi, yeah - also ALVR is an free alternative, since Virtual Desktop will cost you some. There are actually multiple other options available on SideQuest, but i heard, that the new link update pretty much is on par with with the streaming solution (in terms of quality) - haven't compared that for myself yet though.
     
  13. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Are we talking really new? when was the update out?
     
  14. Geist2501

    Geist2501

    Joined:
    Jun 29, 2019
    Posts:
    25
    2 days ago (here) or something i think. My Quest2 updated yesterday to it. But it started to roll out a few days ago...

    edit: the updates are not rolled out to everyone at the same time as you might or might not now.
     
  15. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Ok interesting, I will make sure I'm updated.
     
  16. zelrender

    zelrender

    Joined:
    May 11, 2015
    Posts:
    47
    Got my Unity project playing through Virtual Desktop on the Quest 2. It is clearer than through Link cable. VD struggles a bit to keep up since the res of the texture is so high and the PC has to stream the visuals now, but it tells me enough that the project looks good with enough PC power and there isn't an issue with the headset or Unity as far as displaying nice textures in VR. Once Link works better none should have a problem running it with these high res textures. I'll have to optimise of course but at least for now I can get on with building the project.
     
    Geist2501 likes this.
  17. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Ugh. I wish you'd said that in the beginning! This is a completely different situation than building a Quest app, which is what I thought you were talking about until this point in the thread.
     
    Geist2501 likes this.
  18. Geist2501

    Geist2501

    Joined:
    Jun 29, 2019
    Posts:
    25
    @zelrender Hey, i just realized i did not tell you, the update i was talking about is a beta update and you need to switch to the test channel for that to be effective... Sorry, i am on the beta channel since the day i got the quest last year, so that was not on my mind.

    If you still have compression issues make sure you do check that public test channel thing.
    upload_2020-11-7_18-28-6.png
    In ya quest as well...
     
  19. StudioZ7

    StudioZ7

    Joined:
    Nov 13, 2021
    Posts:
    10
    Man, after two years I saw this thread and you didn't notice that you should change the quality of your android setting. Change level Normal to High (your second image attached).