🍗

TextMeshProのフォント設定おぼえがき

2020/10/27に公開

undefined.jpg

TextMeshProで(特にドット風フォントを)なるべく綺麗に表示したいとき用
UnityでせっかくTextMeshProを使っているのに何故かやたらと文字が滲んでいる気がする私向け

用意するもの

使いたいフォント (※規約をよく読み、再配布可能なものを用意すること!)
TextMeshPro(基本的にはPackageManagerから導入する)

手順

1.フォントからTextMeshPro用のFontAssetを作ります
2.生成したFontAssetのAtlasから、RenderModeを設定します
3.生成したFontAssetのMaterialの設定を調整します

フォントからTextMeshPro用のFontAssetを作ります

赤枠の項目に気を付けましょう
その他は文字量などやデータのサイズなどのバランスを取りつつお好みで
undefined.jpg

Packing Method
テスト用ならFastでもいいですが、最終的にはOptimumにしましょう

Render Mode
ほぼSDF16一択です(SDF32でも可っぽい)

(大体この生成の設定で9割9分くらいは決まってきます)

生成したFontAssetのAtlasから、RenderModeを設定します

undefined.jpg
(※AtlasとMaterialはここ↑)

undefined.jpg
デフォルトでBilinearですが、角丸に仕上がるっぽいのでPointを選択
(好み次第なとこもあるかも)

生成したFontAssetのMaterialの設定を調整します

undefined.jpg
くっきりさせるのにいじるのは概ね赤枠内です

Softness
ひたすらくっきりさせたいならとりあえず0でいいです
1に近づくにつれガウスぼかしみたいのが掛かります

Dilate
綺麗に表示させたいならとりあえず0でいいです
白黒二値で考えたときの境界をどこにするかみたいな…?
-1で文字が消えて(細くなりすぎて)、1で文字がとても太くなります

Gradient Scale
初期値は6
どうにもならないときの最終手段で、ここを大きくすると境界がくっきりします
ただし大きくしすぎると、
Boldなど文字を拡張する系の効果が掛けられなくなったり(↓)
undefined.jpg
文字サイズが小さすぎると文字の一部が欠けたりします(↓)
undefined.jpg

だいぶ諸刃の剣ですね
(そしていまだにどういうパラメータなのかがよくわからない…)

Sharpness
ひたすらくっきりさせたいならとりあえず1でいいです
0に近づくほどぼんやりしていきます

おしまい!

結局は目で見ながら一番ちょうどいいパラメーターを探るしかないんですかね~

Discussion