Update: It turns out it’s a “feature” for mobile, which can be turned off. See this comment by UE: By default mobile uses half precision in pixel shader calculations to improve performance. You an either perform the texture coordinate math using full precision by checking the “Use Full Precision” checkbox in the material (under Mobile), or by using a Customized UVs to perform the UV math in the vertex shader, which always uses full precision, and passing the result to the pixel shader. There’s an extra nuance for external (media) textures which can make them use half precision even when using Customized UVs. If you notice this, use the Full Precision checkbox.
(Edit: I’ve submitted a bug report, since no one pointed out anything obviously wrong with my code.)
I’m running into an issue that I feel like may be a bug specific to UE on the Quest. Here’s a simple project that exhibits it:
https://www.dropbox.com/s/2rynxhhhmf…_4_23.zip?dl=0
Launch that on the Quest and click the right Touch trigger, A, B and grip. What it’s doing is using a texture from a 2048x2048 image file that has the same image repeated four times. Then there are four materials, each of which is using one quadrant of it for the texture sample. The buttons let you switch between which material you’re using.
The bug is that only the top-left material is non-blurry/pixellated. If you use any of the other three, there’s a weird effect happening that makes the texture look bad. This affect only happens on the native Quest application. If I run the same app using Oculus Link (on the Quest), it looks fine. If I run it as a desktop application (no VR), it looks fine.
I have tried this in 4.23 as well as 4.24 with the same result.
Maybe I’m doing something wrong. I got to this point with this simplified example because I was originally trying to do stereoscopic video from files that were side-by-side or over-under. I found the exact same effect when trying to use half of the image for one eye and half for the other. The half that wasn’t the first half of the video frame would always get pixellated.
If anyone would like to try this out and comment “yeah, I get it, too” or “it’s not happening on mine” or even “that’s because you’re not doing ___________”, it’d be helpful. Keep in mind it’s not just an image texture thing but also happens with video. And it only happens on the Quest native app and not on Oculus Link or the PC. Thanks!
Here are my materials. For all of these, I changed no settings at all other than assigning the Texture Sample’s Texture property (all of them use the same texture, test_texture.png). Everything else is as it would be by default.