用白色填充字体字符?

时间:2016-01-16 22:47:27

标签: text unity3d fonts unity5

我的字体有一个空的"内部"。如下所示:

带白色背景的字体:

White Background

蓝色背景字体:

Blue Background

我们如何制作"内饰"文字总是白色的,不使用背景?我将使用Unity游戏引擎。

当然,我无法编辑.ttf文件。正如@itchee所指出的:TTF字体总是只有一种颜色。它只能指定不透明和透明的部分(从技术上讲,只指定不透明部分,其他所有部分都是透明的)。显示该字体的应用程序可以为不透明部分选择一种颜色。但它不能使某些部分变黑并且某些部分变成白色。我的问题是如何实现我想要的使用Unity游戏引擎。欢迎任何C#脚本。

正如@fafase所说,对于每个角色,寻找包围区域并填充它们的填充算法将是理想的。

2 个答案:

答案 0 :(得分:1)

您可以使用位图字体。 它们本身不受统一支持,因此您可以使用名为CJFinc: Bitmap Font Tools的资产商店中的资产。如果你不愿意支付那么多,我找到了一个很好的教程here

但到目前为止,我最灵活的想法,也许我要做的就是创建第二种字体,你可以放在第一种字体后面。您可以将原始字体保持为黑色。第二种字体是简单的形状,适合您的填充形状,并设置为您想要的任何颜色。这是我的意思的快速草图:

explain

您可以使用fontforge创建自定义字体。这可能需要你花费相当多的时间,但它将始终如一地工作,而且不需要对脚本进行太多更改。

答案 1 :(得分:0)

虽然可以编辑TTF字体,但不能将“背景”设为白色。

TTF字体只能指定不透明和透明的部分(从技术上讲,只指定不透明部分,其他所有部分都是透明的)。显示该字体的应用程序可以为不透明部分选择一种颜色。但它不能使“某些部分变黑而某些部分变白”。