cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic Font is flickering in Gear

joehannouch
Honored Guest
Hello all,
As we've been debugging and trying to solves issues together, I've encountered yet another problem with the dynamic text fields in Unity 4.6.2 (I had to roll back from Unity 5 since my builds were crashing).

So everything is working perfectly, and my UI is implemented, of course i'm using a World Space canvas to show in the VR, and i have a Text in the scene.

Problem is, the text is too jittery-y (the edges are flickering when you move your head) when it's far.
The problem is not present when you get closer to the text (or when the text is bigger).

This is probably due to Z fighting, but since the buffer is static, there are no direct fixes.
I was able to "reduce" the effect by changing the "Dynamic Pixels Per Unit" down to 0.5 in the Canvas Scaler (which clearly states that it affects dynamic text).
But that only affected the minimum distance from the text before the flickering stops since i have a moving camera rig.

Just imagine a bulletin board on the other side of the room, and the camera rig is animating towards it. That's basically my setup.

i've tried disabling all antialiasing (OVRCamera Settings, Unity Settings, and Camera Post Processing),
Tried playing with the Dynamic Pixels Per Unit and Reference Pixels Per Unit (in the Canvas Scaler).
Also tried changing the Eye Texture Format and Depth from the OVR Manager with no success.

I wish i could show you what's going on, but the results are only visible in the VR headset (nothing in the editor).

Would appreciate any thoughts.

Best
4 REPLIES 4

joehannouch
Honored Guest
As an addition, in order to recreate the issue you can:
Open a new scene,
Add the OVR Camera Rig
Create a Canvas and change it to World Space (only way to show in the Gear)
Create a Panel
Create a textfield (Light color)
Write anything in it.
Move it away from the camera (as if it's on the other side of the room).
Add a background (dark)
Build and run

You can see how the small font is shiny/flickering

Hope anyone will get to see it and find an alternative/fix

Best
Joe

joehannouch
Honored Guest
Taken from the official Oculus_Best_Practices_Guide.pdf Page 43:

Art Assets
Although Oculus continually works to improve the resolution of the Rift, pixel density still lags
behind conventional displays. Your content can still provide an immersive experience as long
as it is mindful of this limitation. As the scale of objects approaches the size of a single row of
pixels, detailed rendering will become problematic. The thinner an object is, the worse the
clarity when viewed on the Rift. Fine detail—such as text or small, thin objects—will have a
tendency to get lost between the pixels. Similarly, objects made up of thin repeating elements,
such as fences and patterns, can be problematic to display.
When creating your worlds, make sure to view them on the Rift at all stages of the design
process. Be on the lookout for objects that seem to flicker in and out of existence. Avoid
extremely small objects; if possible, avoid making thin objects. These recommendations apply
to textures just as much as they do to geometry. Be sure that text is large and clear enough for
a variety of people to easily read it.


So i believe that's my answer
Small text (or far text) in my case will flicker no matter what, it's a hardware issue and i will have to find a workaround for it, probably control a canvas group's alpha based on the distance of the viewer.

I hope this thread helps others, and i hope someone can find other workarounds (generic) and share his thoughts

Joe

eric_neuman
Honored Guest
Did you ever figure out a solution or workaround to this issue? I just got my feedback from the review board and apparently the only thing holding my app back is flickering text.

vrdaveb
Oculus Staff
Apart from antialiasing and larger text, you might want to try signed distancie field font rendering. It helps to interpolate the font glyph textures. https://github.com/Chman/Typogenic