Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
francis_lavergn's avatar
francis_lavergn
Honored Guest
6 years ago

MSAA Anti-Aliasing Quality in Oculus Quest with Unreal Engine

I'm developing an application for Oculus Quest using Unreal Engine 4.22, everything is fine except the Anti-Aliasing which looks bad. Edges in high contrast keeps flickering and it's very distracting to the eyes. 

Using the default VR template for testing, I tried turning MSAA ON (2x, 4x, and 8x) and OFF, and there's never any differences. I also tried a few console commands (in config files and device profil) like r.MobileContentScaleFactor, vr.PixelDensity, r.MobileMSAA, r.MobileOnChipMSAA, r.PostProcessAAQuality, and still nothing... Also, when I turn Mobile HDR on, the app just don't open inside Oculus Quest. I know there's a few posts on this online already, but I could not find any solution, except using Unity instead. 

This documentation seem to imply that MSAA is configurable:
https://developer.oculus.com/documentation/quest/latest/concepts/quest-msaa/

The guy here also says that it's possible:
https://www.youtube.com/watch?v=hEtu-ciPc7g


Is there anyone who succeeded to change the Anti-Aliasing quality with Oculus Quest or Go in Unreal Engine 4.22? If yes, how exactly?
Is Mobile HDR supposed to work with Oculus Quest? If so, I would be interested in knowing how to make it work as well.
Is it possible to render at a higher resolution?

Thank you!

14 Replies

Replies have been turned off for this discussion
  • Anonymous's avatar
    Anonymous
    Approved
    very interesting. I am running into the same issues when it comes to AA. I am getting black artifacts.
    see screenshot below:


    No matter if I change the MSAA 2x, 4x, 8x

    It's a super simple setup, just with primitive objects and I can't figure out why it's doing it.

    VIDEO EXPLANATION:
    https://youtu.be/U1sdR8S73P4

    Updated Scene File:
    In my latest Project File, I added a rotating head-sculpture. I wanted to see the performance when an object is rotating. As expected, frames drop. For the rotation I am losing about -20 FPS. 

    DOWNLOAD PROJECT FILE Unreal 4.24.2:
    https://mega.nz/#!gWJREKYI!XIlBMFzjC9OKbHffLKr8aKF6kZ6MdFQJBhPN-RzzBE8

    My Documentation about Debugging and my Developing-Process for the Quest can be found here:
    https://fattybull.com/oculus-quest/

    Sorry for my current mess.. I am planing to structure the post this weekend, so people can actually follow step by step.

    Another issue I am currently experiencing:
    - the geometry seems to "jump" or it's kinda "jittery"

    and I can't figure out what's causing it, even if I am just using a plane and one cube.

    Curious about your thoughts & ideas.
    Thank you so much for any little hint, I really do appreciate that.

    happy pixeling,
    cheers
  • Anonymous's avatar
    Anonymous
    Approved
    I was running additional tests.. but that problem seems to be consistent, no solution yet to fix it. Is this just a major bug?
  • For the MSAA always at x4 issue, the code sets r.MobileMSAA to the OVR system recommended MSAA value:

    ...\Engine\Plugins\Runtime\Oculus\OculusVR\Source\OculusHMD\Private\OculusHMD.cpp In 'FOculusHMD::ApplySystemOverridesOnStereo' starting at line 2628:
    #if PLATFORM_ANDROID
        static IConsoleVariable* CVarMobileMSAA = IConsoleManager::Get().FindConsoleVariable(TEXT("r.MobileMSAA"));
        if (CVarMobileMSAA)
        {
          CVarMobileMSAA->Set(CustomPresent->GetSystemRecommendedMSAALevel());
        }
    #endif

    Since it's set by code, it won't be overridden by DefaultEngine.ini.  You'll need to comment out this section or otherwise rework it if you'd like to set a different MSAA value.
  • YORK1's avatar
    YORK1
    Honored Guest

    I ran into this same issue with Unity 2021 using URP, it turns out in addition to the URP Asset Settings (I had mine set to 4x MSAA with no visible change in headset) you also need to turn on Anti-aliasing in the camera component in the inspector. I set it to FXAA there, and it started working for me.