Jump to content

[Unity] Text quality in world space on Vive Flow


Recommended Posts

Hello everyone,

I'm working on some VR game and one of it's elements in interactive banner which has to display some hits and storyline text. Displayed text should be well readable from max. 4 units of distance. I cant manage to make it good quality.

I'm using TextMeshPro to render text and I tried to:

- play with scale of canvas / tmp and font size (current settings are 0.05 scale of canvas, 1 scale of tmp and 12 font size)

- changing dilate of tmp

- changing text size in dynamic resolution settings (20 - 30 -40)

- changing background and foreground color

- playing with z-order of text

- adding outline and underline 

but text still seems to be not good. It' blinking and shimmering. Am I missed something? In comparison to text in Flow menu, text in my game looks very bad. 

I have a good experience in Unity but this is my first VR project. Please, help me with some advice. 

Link to comment
Share on other sites

Hi @Kolorowezworki

Text in VR tends to be a tricky issue. Readability of text seems to be a difficult issue and it's also somewhat subjective. Trying different settings and searching for how to tune textmeshpro for vr seems to be a good starting point. There's a ton of bells and whistles there, and making sure that the font is generated at a larger resolution helps a lot. For extreme cases, some have suggested pre-rendering an image and displaying that, but I don't think I've ever gone that far.

Some of the techniques in this video seem to be a good starting place.

Related to shimmering and blinking - when and how does this happen and what does it look like when it does happen? Do you have multiple cameras in your scene or only the main xr rig?


Link to comment
Share on other sites

  • 4 weeks later...

@Alex_HTC Thanks for you reply. I will try to play with TMP settings and video you provided will be useful for sure. 

I tried to prepare text on images but result was even worst than in TMP. I could't find proper resolution to make that better.

About shimmering and blinking, it's just blinks. No matter if I'm moving head or not. I think, the angle of view may makes different but at all everytime it's blinking more or less. 

I have one main camera on my XR Rig and second on controller (for raycasting I think, its default set from Controller Input Module)

Edited by Kolorowezworki
Link to comment
Share on other sites

@KolorowezworkiIt can be tricky for sure. I think I was misremembering and there was a game review where there was a specific suggestion to pre-bake text in an unusual way, the suggestion may have actually been to bake it as a mesh -- it has been a while.

Using a larger font size and scaling it down has given me better results at times - in your case 12 point font may be too small of an initial size if it is still blurry. Try switching fonts (especially the built in ones or ones in tmp extras) that were baked at different sizes and onto different textures, that usually yields results more quickly.

A reasonable summary of the best practices seems to be something like this, but it is a little in depth and still incomplete, as it is a topic that requires some iteration. https://news.ycombinator.com/item?id=12183340 . The modern suggestion of using TMP is a good starting point, but it certainly has a lot of dials to get aliasing correct and using the correctly sized texture (with the appropriate options) can also be a whole rabbit hole. But perhaps this helps push things in a better direction.

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...