謎の歩行生物(仮)【PART48】~TextMesh Proを使ってみた~

LINEで送る
Pocket

前回導入したPost Processing Stackに続いて、今度は『TextMesh Pro』を入れてみました。

こちらは以前からあったAssetですが、今後のUnityエディタ(Unity2017以降)に統合されるようで、無償でダウンロード出来るようになっています。UnityにはデフォルトでテキストのUIがありますが、それよりも遥かに多機能で使い勝手が良いので、今後テキストの表示はこちらを使っていこうと思います。

今回は「導入方法」「日本語の設定の仕方」を紹介します。あとほとんどの人は大丈夫だと思いますが「ダウンロードした際に起きたエラーとその対処方法」も書いておきます。

 

目次

ダウンロード

まずはUnity Assetからダウンロードします。

016

インポートが終わればプロジェクトに「TextMesh Pro」というフォルダが作成されます。

017

普通ならこれでOKなはずです。

ただ私の場合、インポート後にゲームを実行しようとしたらエラーが発生しました。

018

error CS1704: An assembly with the same name `TextMeshPro’ has already been imported. Consider removing one of the references or sign the assemblyAssets/TextMesh Pro/Plugins/TextMeshPro.dll (Location of the symbol related to previous error)Assets/TextMesh Pro/Plugins/Runtime DLL/TextMeshPro.dll (Location of the symbol related to previous error)

こんなエラーが出てゲームが実行できません。調べてみたらどうもUnity5.5から5.6にバージョンを上げて、そのままインポートしたせい?ではないかと。

とりあえず、以下の手順を行ってみたら無事解決しました。

①インポートしたフォルダを削除

②UnityAssetから一度ログアウト

③Unityからサインアウトして閉じる

④Unityを起動しサインイン

⑤UnityAssetにログイン

⑥Assetの上にあるダウンロードマネージャーを開いてダウンロード履歴を開く

⑦TextMeshProをダウンロードし直す

019

⑧再度インポートする

これでOKでした。

正確かどうか分かりませんが、Unityを5.6にアップデートした際、UnityAsset側では5.5という認識だったためRuntime DLLがおかしかった…のではないかと。もし同じような症状が発生した人がいれば試してみて下さい。

 

フォントの設定

インポートが終わったらフォントを入れて好きな文字を使えるようにします。その際の設定の仕方を解説します。

まず自分の使いたいフォントをプロジェクトのフォルダに入れておきます。(ファイル形式が.TTFとかって奴です)

そしたら、メニューの「Window」→「TextMesh Pro」→「Font Asset Creator」をクリック。

020

そうすると下のようなウィンドウが開きます。

021

ここでそれぞれの項目の設定をします。

①Font Source…先ほどプロジェクトに入れたフォントを選択します。

②Font Size…[Custom Size]に設定。値を48程度に。

③Font Padding…デフォルト[5]のままでOK。

④Packing Method…デフォルト[Fast]のままでOK。

⑤Atlas Resolution…英数字のみの場合はデフォルト[512×512]でOK。日本語を登録する場合は[4096×4096]に。

⑥Character Set…英数字のみの場合はデフォルト[ASCII]でOK。日本語も登録する場合は[Custom Range]に変更。すると「Character Sequence(Decimal)」という枠が出るので、そこにこちらの数値(japanese.txt)をコピペします。

⑦Font Style…デフォルト[2]のままでOK。

⑧Font Render Mode…[Distance Field 16]に設定。

⑨Get Kerning Pairs?…チェックは外したままでOK。

⑩上記の項目が終わったら「Generate Font Atlas」をクリック。

すると下の画像のようになります。

022

※今回のゲームでは日本語は使わないので、このような結果になっていますが、日本語も設定していればちゃんと日本語も表示されています。

問題がなければ「Save TextMeshPro Font Asset」をクリックし、名前を付けて保存します。

 

TextMeshProを使ってみる

では、さっそくこのフォントを使ってみます。

ヒエラルキービューの「Create」から「UI」を見ると他のUIと同じように「TextMeshPro – Text」があるのでこれをクリックします。

024

新しいテキストのUIが追加されるので、フォントを設定していきます。

025

「FONT SETTINGS」の「Font Asset」の項目に、先ほど作ったフォントのアセットを設定します。

デフォルトのテキストと比べて私が「これはイイ!」と思うのはまず「Auto Size」。これにチェックを入れておくとオブジェクトのサイズに合わせて自動でフォントのサイズを変更してくれます。地味に便利。

そして「Spacing Options」で文字や行の間隔を設定もできる。これもイイ!

後はOutLineやBevelなど文字の装飾もかなり細かく出来るので、凝った文字を作ることもできます。

試しに作ってみたのがコチラ。

023

一番上の文字のみデフォルトのテキストです。デフォルトのテキストは文字がぼやけていますが、TextMesh Proだと拡大縮小してもかなりクッキリ表示されます。また一番下の文字のように凝った作りにすることもできます。

今まであまりテキストを使うゲームは作ってきませんでしたし、使うとしても全て画像として用意していましたが、これからは積極的にテキストも使っていこうと思います。

 

スポンサーリンク

スポンサーリンク

LINEで送る
Pocket