テラシュールブログ

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

NGUIでフォント使用-RGBチャンネル収納編

fontpack.png

以前「NGUIでフォントを設定する方法」の記事があったけど、今回はその発展編。

画像のRGBA(赤緑青アルファ)の各チャンネルに情報を収納することによって、
同じサイズに4倍の文字を入れるという技術について。
フォントをパックする方法ともいいますか。

すごいですな。

ちなみに今日の記事はグラフィック担当の六信が書いてます。
グラフィッカでも簡単にできました。
なぜなら基本的なことを設定したら、後はツールがやってくれるから。有能ツール万歳!

今回は1種類のフォント丸々(約1万文字)を1枚のテクスチャに出力しました。



具体的な手順
1.Bitmap Font Generatorのソフトを起動。
(ソフトについては前記事参照)
2.使いたいフォントとサイズを通常どおり設定。
3.出力したい文字を選ぶ。
4.メニューの「オプションoption」→「エクスポートオプションExportOption」
  「Texture」のサイズを任意で設定(Width1024 Height1024とか)
5.その下の項目「Bit depth」を「32」に設定
6.次の行「Pack chars in multiple channels:複数のチャンネルに文字をまとめる」にチェック
7.下から二番目の「Texture:出力形式」をtgaファイルに設定
8.以上。出力。
  
これで↑のタイトルみたいな極彩色のお化け画像が出力されます。やったね!
ちなみにフォトショップで開くと、チャンネルごとに文字がちゃんと収まっているのが確認できます。(みても意味はないけど)



非常に参考になったチュートリアル動画。
「NGUI:Packed Fonts」
英語だけど、画像だけ見てたら大体何やってるかわかるはず。



応用すれば、文字以外でも単色の画像をRGBAチャンネルにそれぞれ保存して使うなんてこともできそうだけど、きょうび単色の画像なんて、もはやほとんど使われないから、使う機会は限られそう。