cancel
Showing results for 
Search instead for 
Did you mean: 

Unity 5 Virtual Reality Supported: Text shimmering / aliasing when running on GearVR

saldavonschwart
Explorer

I've spent the last 2 days trying to figure this out but have not come up with a conclusion. I'd appreciate if anyone has experienced the same and any thoughts.

Basically, I'm noticing that if I have a scene with text in it (world canvas and UI text component), when I build for GearVR with Unity's VR support, the text aliases like crazy. To be honest I'm not even sure 100% if it is plain old aliasing. The text just constantly shimmers. 

  1. I tried moving things around in case, for some reason, I was getting z fighting on the canvas but it seems it is not.

  2. I tried enabling anti aliasing from the quality settings and neither does it seem to make a difference. Also seems like I need to create a new quality preset and set it as the default for Android for the antialiasing to even take effect when running on the GearVR.

  3. I tried tweaking the Canvas Scaler Dynamic and Reference pixels/unit settings (which are not entirely clear to me from the docs btw). But at most, I was able to make the text slightly blurry as mentioned in the Unity VR guide and it barely helps.

  4. I tried making the canvas and text huge and then scaling the canvas down to 0.05.

  5. finally I tried making my text bold and bigger. And that seemed to mitigate the shimmering to a certain extent but not 100%.

But I've seen Unity apps for GearVR that don't exhibit this shimmering issue. So I am wondering what else might I be missing. I'm on 5.3.3.p3 if it makes any difference.

1 ACCEPTED SOLUTION

Accepted Solutions

vrdaveb
Oculus Staff
Most likely the issue is with texture filtering, not antialiasing. Make sure you have mipmaps for your text. Counter-intuitively, a large font texture is not going to help shimmering - consider using a lower-resolution for the text glyphs to reduce minification of the textures. TextMesh Pro makes this easier, but it should also be possible with Unity's built-in text rendering. I haven't tried this, but you may be able to set Text.mainTexture.filterMode = FilterMode.Trilinear. Also try changing the rendering mode of the fonts you're using.

View solution in original post

3 REPLIES 3

Fulby
Heroic Explorer
John Carmack just published a blog on Facebook about aliasing - may be worth a read in case the problems you're seeing are related:

https://www.facebook.com/permalink.php?story_fbid=1818885715012604&id=100006735798590

vrdaveb
Oculus Staff
Most likely the issue is with texture filtering, not antialiasing. Make sure you have mipmaps for your text. Counter-intuitively, a large font texture is not going to help shimmering - consider using a lower-resolution for the text glyphs to reduce minification of the textures. TextMesh Pro makes this easier, but it should also be possible with Unity's built-in text rendering. I haven't tried this, but you may be able to set Text.mainTexture.filterMode = FilterMode.Trilinear. Also try changing the rendering mode of the fonts you're using.