テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

Unityの3D Textで文字が滲む問題の対策

修正版をアップしました
Unityの3D Textで文字が滲む問題の対策(修正版)

追記
どうもこの記事を「uGUIのText表示」で来る人が多いみたいですが、この記事は3D Text用です。
uGUI(UI)のテキストはこちら。
tsubakit1.hateblo.jp


Unityで3D Textを使用する場合、文字が若干滲む事がある。特にUnityを初めて使った人が3D Textを使った場合は、何も考えず滲んだままの文字が表示されている。

スクリーンショット 2014-06-21 17.57.26 
これは単純に「3D的に大きなフォントを表示しているのに、フォントのサイズが小さい」事が原因だ。そのため、フォントのサイズを大きくしてテキストの大きさを調整する事で対策出来る。

例えば、フォントのサイズを128に変更後、オブジェクトのスケールを(0.1, 0.1, 0.1)に設定すると、初期状態の大きさ(1m)の大きさに一致した状態で文字を綺麗に表示出来る。

スクリーンショット 2014-06-21 18.05.42 

スクリーンショット 2014-06-21 18.05.55 

ただし、これはフォント用に確保するテクスチャのサイズ大きくなる事と同義なので、この方法で文字を大きくし過ぎると恐ろしい勢いでメモリを消費する。サイズを大きくすれば綺麗にはなるが、それによって発生するデメリットはちゃんと認識しておくべきだ。


この辺りが面倒な人のため(具体的には自分)に、コンポーネントを付けるだけで自動的に設定してくれるコンポーネントを作成した。このコンポーネントをアタッチするだけで、フォントサイズとオブジェクトのスケールを調整してくれる。