A Unity ID allows you to buy and/or subscribe to Unity products and services, shop in the Asset Store and participate
in the Unity community.
Separate names with a comma.
Discussion in 'UGUI & TextMesh Pro' started by MadJohny, Aug 22, 2014.
Works like a charm. Thanks for that.
I didnt have such problems in the screen space modes, but did have this problem in the world space. The easiest way to fix the problem and works well is to change the dynamic pixel settings on the Canvas Scaler component. This setting will vary much depending on the size of the canvas. Increasing the number of dynamic pixels will increase the resolution. Warning! i am not sure how this effects performance! Obviously, the more pixels that must be rendered the more processing it takes to render. I am not sure if this has a dramatic effect on performance.
While this can make text appear less blurry, it's pretty unreliable when paired with a Canvas Scaler—unless you do all sort of finicky dynamic adjustment. We could really just use better text in Unity's UI, full stop. TextMeshPro is not a complete solution without an InputField (teased for over a year) and it comes with the risks of investing in a 3rd party plugin, besides.
Ya this trick is nice, but doesn't seem to work with layout group (e.g. vertical)
I just want a simple text for a score number and not all Canvas baggage or DirectX stuff.
I will be using it for Mobile. Nothing Unity3d has done in their scripting is easy. Everything
takes hours and hours to work. I write nearly all of my own functions and only use Unity for
the 3D engine. I should do the same as my son (GTA director) and program in C++ not
Just using this topic to a relevant doubt:
There is any way to have a sharp text in a World Space Canvas? Everytime the camera gets too close of my text, the text looks blurred and pixelated. Canvas Scale doesn't help if I change the camera distance, and I cant figure out a proportion between Dynamic Pixel Per Unit and the distance between the text and the camera to create a dynamic update function. I'm still stuck on using GUIText and doing the conversion of the 3D space position to 2D space position. I expected more from a game engine... It's unbelievable have to buy an asset like TextMesh Pro to have a decent text when using a professional game engine, or I'm doing something very wrong on my configurations.
Dang. So what good did all those bugs do? This is still an issue many months later. If I want crisp text I have to make a huge canvas, scale down, then make huge fonts and scale those down. Super stupid. I just get blurry fonts now because I use font sizes as references and if I skew them just for crispness it makes my life pretty painful.
I hear "File bugs, file bugs" and RARELY do I ever see a response like, "Ok we fixed it" or "Ok we find the issue and are now working on a fix". It's like filing bugs are just a nasty black hole.
This issue is still relevant for our project. Different objects with the same text settings render either perfectly, or corrupted. The type of corruption depends on how you render the font (smooth/hinted raster etc), but they are corrupted none the less. We have buttons with scroll windows to show detail text that look fine in one panel hierarchy, and corrupted in another - and the settings are identical.
Still an issue especially in World Space. Seems the only way to work with this is to scale down the text object and set the font size higher. If this is what consistently works then it would be nice if Unity would integrate it into their font rendering so that we don't have tremendously sloppy layouts. It's a pain to work with this and try to use any of the layout groups.
I had enough of this and invested in TextMesh Pro. All problems gone plus I have plenty of new features not available in the standard Unity. Grab it before it goes out of beta and will be even more expensive. If you have a lot of text that needs to be sharp, this purchase is no brainer.
Wow, after 2 years and this is still an issue? I wouldn't like to do the scaling fix since it's not reliable and it just seems like a hack...
The main issue I believe is with the Canvas Scaler which changes the scale of the canvas Rect Transform...
One thing that I did notice that "helps" is when you set the canvas scaler to "Scale with Screen Size" and then play with the width and height so the canvas Rect Transform's scale is close to 1,1,1.
The other one which I don't like one bit is to set the UI Scale mode to Constant Physical Size but then it doesn't scale depending on the device resolution...
Does anyone else have any other solution to this?
I am that this response is too late for some (say many, I have seen the comments and are old enough) if they have the solution I think this is the most feasible ..... forgive my English'm using google translator
to create a dropdown that comes with an invisible gameobject "enabled" which brings another more ...... template-viewport-content-iten this brings a gameobject "label"; activate all gameobject father and modify the size, scala and the text size that fits pole the longest option group option ..... like when we get the text look better to scale them
I am newbie like any rookie but I have to try to disaggregate things
I hope you run to me run
I'm using google translator understand me a little my English is lousy
I'm using a Scroll view thang for a score and rewards page... I use transparent png for the text, as an image from gimp and the text is super crispy... I realize its not really text its a picture of text... but works very nicely for Headings and text that doesnt need to be changed by script or updated or whatever... just thought that might help some people a bit?? a bit of a crazy option but kinda works =)
It is quite simple, just change the tañano of the text font, at first disappears, but then climbed to the "T" key .... Daria us and just change the size the object with the "R" key ...
Hi everyone—I recently ran into this problem and found an elegant fix in this forum post by laurentlavigne: New UI text is useless for scaled pixel art games
Hope this helps someone!
It works ! It does work ! Pixel art with all fonts at last !
increase Canvas > Canvas Scaler (Script) > Dynamic Pixels Per Unit .
that should fix it.
setting the font import settings "character" option to "dynamic" made the text very sharp for me
- or you can use the other options but increase the font size in the import settings
(based on this thread
dynamic is less performant than the other options)
I had the same Issue.
I Scaled the object Text Half on X=> 0,5 and Y=>0,5. Works Perfect for me.
Now I can scale up my font size without having "pixeled" text
you saved my life!
The problem with using dynamic font and then increasing the font size while using 0.5 scale, is that you are actually making the characters double the size in the internal Atlas texture, which potentially will make you use a bigger atlas texture. If you are targeting mobile, that could be a huge problem.
If you keep an eye on the active memory usage it could be fine, but as soon as you start switching languages or using lots of texts in your scene, it could become a problem.
Any updates when this will be fixed? Maybe in next 10 years?
Not holding my breath
It was fixed recently https://blogs.unity3d.com/2017/03/20/textmesh-pro-joins-unity/
You can close the thread now.
Dam finally someone figured it out
So what worked for me was scaling down the text to about 0.3 and then increasing the font size to about 50. lol...
This tutorial goes through the process of sharpening a font and it works extremely well, I'm currently using this process for all my pixel fonts.
The problem with fonts in Unity is that the filter mode of the texture is set to Bilinear whithout an easy ability to change it.
The solution I use right now is by first setting the character of the font to Unicode, and then creating an editable copy, which exposes the texture thus allowing you to change its filter mode.
The problem with that is the new versions of Unity are broken and can't create editable fonts.
The way to get around this is by using Unity 2017.1.5 where it isn't broken.
Set `character` to `Unity` that should work.
You can use TextMesh Pro to make your Text looks crisper. Look it up for more
Just use TMP