Welcome to the Oculus Developer Forums!

Your participation on the forum is subject to the Oculus Code of Conduct.

In general, please be respectful and kind. If you violate the Oculus Code of Conduct, your access to the developer forums may be revoked at the discretion of Oculus staff.

Text looks blurry in my game. What can I do to fix this?

Text looks blurry in my game. What can I do to fix this?

Answers

  • Text is particularly challenging to display with a high degree of clarity and legibility in the Rift. There are several reasons for this. Firstly, and similarly to other texture assets, limitations in display pixel density impact clarity. The lens distortion correction shader also results in varying display pixel density over the field-of-view, with lower densities towards the extremities of the display. This, coupled with the head-tracked viewports mean that we cannot guarantee how text positioned in 3D space will appear in screen-space. It would be non-trivial to develop ‘pixel perfect’ techniques as are common to traditional displays and applications.

    For optimum clarity and legibility it is recommended to render text using a signed distance field approach as opposed to using traditional bitmap fonts. Bitmap font rendering references coordinates of a texture containing the character set. This has the drawback that characters can't be scaled up or viewed at close-range without losing detail. Signed distance fields encode the distance from each texel to the edge of the character using a reference bitmap. A threshold shader is then used to compute edges in real-time. Text rendered using the signed distance field approach has the appearance of vector art that maintains clarity at high magnification levels. This can also noticeably reduce visual artifacts such as ‘shimmer’ that can appear at the edges of bitmap fonts.

    Unreal Engine 4 natively supports signed distance field text rendering. You may need to generate the signed distance field font using a tool such as this. Unity 4 does not support signed distance field text rendering natively. There are various commercial plugins that implement this functionality in Unity 4 such as TextMesh Pro.

Sign In or Register to comment.