3D Text always blurry

Hi there,

in my current project, I want to render some text and I want to do this directly in my game view and not as GUI text.

Anyway, I perfectly managed to create my text, which isn’t too difficult anyway :slight_smile: “Game Object > Create Other > 3D Text”.

Now that I got my text, it always seems to be really blurry. I tried to change the character size in inspector and then manually size it down, using the size tool, but that doesnt do the trick.

I even tried to import a new .ttf and use that one instead of the default font, but that didnt help either.

Maybe someone can show me the right direction, as it seems to be possible somehow. When I checked on the “Text Mesh” example in the reference manual, it appeared, as if they had a big text perfectly sharp.

Thanks in advance!

Did you change the font size in the import settings for the font? It should probably be at least 90 if you want decent-sized text, and that should result in a texture size somewhere around 1024x512, depending on the character set you choose.

–Eric

1 Like

Well, I remember importing the font by drag and drop. Simply placed it into my project view. So, I missed something, obviously. How would you correctly import a font? Thanks

Click on the font and then click on “Settings…”.

–Eric

1 Like

Thanks man! Awsome, that did the trick :slight_smile: Thanks again for saving the newbie :slight_smile:

I’m reviving a 5 years old post, but thanks for the tip, it’s working perfectly!

There is another (somewhat easier way) to fix this problem as well, and it doesn’t require importing a new font. (For anyone who just wants to use the standard Arial!)

After adding the 3D Text object, just scale the object down (say the x, y, and z scale components to 0.1) and then scale the Font Size of the Text Mesh up (say to 100). This will give crystal clear text without having to import new fonts!

17 Likes

If you’d use text mesh, the text can still end up looking a bit jaggy if character size is too big and you have scaled text down, or the text can end up looking blurry if your character size is too small and text is scaled too big. For example, if you work on mobile platforms, depending on dpi resolution and screen resolution, the text mesh can look bad on one device even if you tweaked it to be perfect on another.

So, I’d like to mention my new addition to the asset store. It works like text mesh, but you only need to set the size in world units, with no need to set some arbitrary size and then scale the text. And then it figures out the best actual pixel size to render text with…

Check out Dynamic Text in Asset Store.

The Dynamic Text component is used for displaying pixel-perfect camera-facing text. The size and position are defined in world units. If compared to Unity’s built-in text components, Dynamic Text is sharp like built-in GUIText, but part of the scene like TextMesh.

The same dynamic fonts are used what you would use with TextMesh, and also the same standard font material and shader are in use. It works both with orthogonal and perspective cameras, and suits best for situations where font size on screen stays mostly static. Regardless of font’s unit size on screen or camera distance, the text will be renderer pixel-perfect.

Dynamic Text website has more info (e.g. interactive demo for Unity web player or a YouTube video of the demo).

The web site actually has some example images to describe the exact problem I mentioned first which one can get when working with built-in GUI Text or TextMesh.

1 Like

I fixed this by simply changing the Character Size. I made it 0.1 and then everything went super smooth.

3 Likes

Adjust in the Text Mesh: 1. Increase the Font Size; 2. Decrease the Character Size.

3 Likes