TextMesh Pro - Advanced Text Rendering for Unity - Beta now available in Asset Store

Please excuse if I am asking dumb things but it is late over here. Better said 2:30 AM :wink:
When the Unity Manual is talking about their build in Texmesh stuff they are also talking about road signs. I tried do it and failed. After a lot of trial and error the text mesh at least doesn’t get rendered above everything. But still it lacks in some vital areas like usefull normals.
I don’t want to do Rocket Science Stuff. All I need is a working text on top of a road sign. Text mesh seems to be able to handle that task but I better ask before I buy. As far as I can see you are working on a U4.6 compatible version and I hope a 5.x version will follow. I’d love to use the new standard shader for my fonts in order to make them behave like the rest of the sign. However that failed because of missing normals and the simple fact that TTF fonts are allways black and the diffuse color is multiplied. Can I add whatever shader I want to the text meshes of TMP?

TIA

There are no dumb questions. Thank you for taking the time to ask.

Using TextMesh Pro’s surface shaders (mobile and non-mobile) will do that. Take a look at the Surface Shader Web Demo in my signature.

Once I am done with the support for Unity 4.6, my focus will be shifting to Unity 5.0. Interestingly, I already have users using TextMesh Pro with Unity 5.0.

TextMesh Pro requires special shaders since it uses a different text rendering system.

TextMesh Pro includes different shaders. The surface shaders which allow the text to be affected by scene lighting would be the ones you would want to use for your application. Take a look at the following video which should be informative but more relevant you can see how moving a light affects the text around 8:51 into the video.

In terms of the new PBS shaders in Unity 5.0, I will have to take a look and see if it makes sense to create additional shaders for TextMesh Pro that would use PBS. I am uncertain at this stage how much they would offer vs the surface shaders considering we are talking about text.

1 Like

Thank you for your answer! The video is looking great and somehow a big load of ideas how to use it are popping up in front of my inner eye :wink:
Regarding the shaders. the Demo looks really impressive. However it is still hard to tell how they behave next to symbols using the standard shader. It wouldn’t be much of a problem I guess if the textmesh is somewhat stand alone.
But anyway I am most likely going to buy TMP. Btw. in my oppinion the auto API updater works not as expected. I already had the situation that multiple reimports of the same asset into the same project lead to anything between 100% functionality and compiler errors making the project unable to build.

Cheers

You will have to experiment with all of that. I think it will be ok visually because in the case of a sign, the material of the sign isn’t expected to be the same as the text otherwise the text would not be readable. Now since both the sign material and the text will be affected by the same lighting I doubt there will be much visual difference in terms of the lighting itself.

So far the Unity 5.0 updater has worked for me but once I get around to the Unity 5.0, I will be updating all those component references and changes. Having to use the updater is just temporary.

1 Like

Font Asset Padding
When creating an SDF Font Asset in TextMesh Pro, the padding determines the spread on the distance field. The spread affects the range of most property like Dilation, Outline, Underlay, Glow, etc…

Typically a padding value of 5 for a 512 X 512 Font Asset is fine for most use. However, there may be times where you need extra range on Glow or Shadows for instance. In these cases, you can increase the padding size. Here is an example of a Font Asset where the padding was increased from 5 to 12.

Increasing the padding size will result in a smaller sampling point size for the font which means it won’t be as accurate as a larger font. This can be a marginal thing depending on the font. Larger padding size will result in the computation of the Signed Distance Field asset taking potentially a lot more time to compute. A padding of 5 in a 512 X 512 is the same as padding of 10 in a 1024 X 1024 Font Asset.

Great Explanation! Thanks. (Btw, how is the input coming along? ;))

Just a variation on the above text with added texture, bevel and glow + UV animation

I just got it.

Very intuitive and very slick looking.

Thanks for making this awesome add on!

Sorry for the double post, but does anyone know how to change the text in JS?

Thank you for your support and choosing TextMesh Pro.

Here is a post from the TextMesh Pro User Forum explaining how to get it to work with Javascript.

http://digitalnativestudios.com/forum/index.php?topic=224.0

1 Like

Hi Stephan,

I have a few fonts that only have Capital characters so when I generate my font I only include these characters. However when using unity standard text mesh a lowercase character would display the correct uppercase. Text mesh pro does not do this. Figured it might be a welcomed addition.

Thanks!

That is a good suggestion which is why I added this feature to TextMesh Pro maybe a week ago or so along with the ability to force Uppercase, Lowercase and Smallcaps styles. See this post for some additional information.

1 Like

Does TextMesh Pro support realtime (3D) shadows being cast on the text?

The text can cast shadows in the scene using the surface shaders but cannot receive shadows.

Drat, because that is the thing I need. :frowning:

The issue comes from text being transparent and thus rendered in the transparent queue which is after the other objects which would cast a shadow on it have been rendered.

This isn’t a TextMesh Pro thing or even a Unity thing but how rendering works.

Just purchased this, it made a big difference using the Oculus Rift DK2! Is there a way to set/replace Unity’s default text system /globally with TMP? Otherwise there are other assets with code in them for text that I would have to hunt & replace… I am not a programmer and would just like an easy button… tell me there is an easy button ok? :smile: I’ve looked around in Unity for a way to swap it… the only thing I found was the UI/Default Font shader in the Graphics settings. I don’t know how your code works if it would be as simple as changing the shader but maybe you might know if it’s good to or not good to completely swap Unity’s Font/shader System?

I wish there was an easy button to replace all the fuzzy and bad looking text in one swoop :wink:

What makes the text render better is a combination of the shaders, Signed Distance Field font asset and custom data passed to the shader. So replacing the shaders alone won’t do it.

Which other Unity text system do you currently use and would like to replace?

TextMesh Pro can already easily replace TextMesh and GUI Text and with the latest beta release, replace the Unity 4.6 Text as well.

I’m running in to an error with Unity 5.0.0b14 x64 and TextMesh Pro v0.1.46B2.4 when I open the font maker.

To me it looks like an issue with an x64 version of the dll being missing?