【ハルシオンブログ】TextMeshProを使ってみる。めんどいのははじめのフォントファイルを作成だけなんすよね。
はい、こんにちは。坂内です。
今週末は魚津に行ってきます。
こちらです。
https://www.city.uozu.toyama.jp/event-topics/svTopiDtl.aspx?servno=776
「つくるUOZUプロジェクト参加者製作ゲーム体験ブース(両日開催)」
始めの方こちらに参加してたのですが、様々な理由により撤退したのですが、せっかくなので見に行こうと思います。
皆さんどんなゲームを作ってるのかなぁ~
あと、これですね。
http://www.city.uozu.toyama.jp/event-topics/svTopiDtl.aspx?servno=4058
なんか和尚の講演会があるそうです。
さて、本日のUnityネタ。
TextMeshPro(TMP)の使い方。(Unity2018.2)
TMPって重そうだけど、ほんと綺麗に文字を表示できるんすよね。

左(uGUIのTextにOutlineを付けたもの)
右(TMPのOutline)
※両方ともTextSizeは36になっています。
①フォントファイルをTMPで使えるようにする
FontAssetCreatorで、使いたいフォントファイルをTMPに対応させる必要があります。
デフォルトのフォント(LiberationSans SDF)だと、日本語(2バイト文字)が対応していないため、文字が出ません。
[Window]⇒[TextMeshPro]⇒[Font Assets Creator]を選択。

[Font Source]に使いたいフォントのttf等ファイルを指定し、[Generate Font Atlas]をクリック。


この時に以下に注意してください。
【Atlas Resolution】
ベースは512x512ですが、これではASCII文字(半角の英字(a~z、A~Z)やアラビア数字(0~9)、記号、空白文字、制御文字など128文字)くらいしか作成できません。
そのため、カナ・漢字などもTMPで使いたい場合は、2048や、4096x4096等のサイズにしないといけません。
【CharacterSet】
どの文字をTMPで使うか指定する場所。
ベースでは ASCIIだけになっているので、半角の英字(a~z、A~Z)やアラビア数字(0~9)、記号、空白文字、制御文字など128文字だけがTMPで使えるようになっています。
カナ・漢字を使う場合はここを変更する必要があります。
Custom Charactersに変更し、Custom Character Listに使う文字をすべて入れればその文字が使えるようになります。
https://qiita.com/kgsi/items/08a1c78b3bee71136156
Qiitaのこちらに日本語(基本的なの)の一覧があるので、そちらからごっそり文字の一覧をコピーしてCustomCharacterListにコピペしてください。
さて、Generate Font Atlasを押して、数分~数十分待つとこんな感じになります。こうなったら、完成です。

②TMPのオブジェクトを作成し、①で作ったフォントを指定。


こんな感じで使えます。
ということで、TextMeshProの簡単な使い方の紹介でした。
では、あでゅ~ノシ
今週末は魚津に行ってきます。
こちらです。
https://www.city.uozu.toyama.jp/event-topics/svTopiDtl.aspx?servno=776
「つくるUOZUプロジェクト参加者製作ゲーム体験ブース(両日開催)」
始めの方こちらに参加してたのですが、様々な理由により撤退したのですが、せっかくなので見に行こうと思います。
皆さんどんなゲームを作ってるのかなぁ~
あと、これですね。
http://www.city.uozu.toyama.jp/event-topics/svTopiDtl.aspx?servno=4058
なんか和尚の講演会があるそうです。
さて、本日のUnityネタ。
TextMeshPro(TMP)の使い方。(Unity2018.2)
TMPって重そうだけど、ほんと綺麗に文字を表示できるんすよね。

左(uGUIのTextにOutlineを付けたもの)
右(TMPのOutline)
※両方ともTextSizeは36になっています。
①フォントファイルをTMPで使えるようにする
FontAssetCreatorで、使いたいフォントファイルをTMPに対応させる必要があります。
デフォルトのフォント(LiberationSans SDF)だと、日本語(2バイト文字)が対応していないため、文字が出ません。
[Window]⇒[TextMeshPro]⇒[Font Assets Creator]を選択。

[Font Source]に使いたいフォントのttf等ファイルを指定し、[Generate Font Atlas]をクリック。


この時に以下に注意してください。
【Atlas Resolution】
ベースは512x512ですが、これではASCII文字(半角の英字(a~z、A~Z)やアラビア数字(0~9)、記号、空白文字、制御文字など128文字)くらいしか作成できません。
そのため、カナ・漢字などもTMPで使いたい場合は、2048や、4096x4096等のサイズにしないといけません。
【CharacterSet】
どの文字をTMPで使うか指定する場所。
ベースでは ASCIIだけになっているので、半角の英字(a~z、A~Z)やアラビア数字(0~9)、記号、空白文字、制御文字など128文字だけがTMPで使えるようになっています。
カナ・漢字を使う場合はここを変更する必要があります。
Custom Charactersに変更し、Custom Character Listに使う文字をすべて入れればその文字が使えるようになります。
https://qiita.com/kgsi/items/08a1c78b3bee71136156
Qiitaのこちらに日本語(基本的なの)の一覧があるので、そちらからごっそり文字の一覧をコピーしてCustomCharacterListにコピペしてください。
さて、Generate Font Atlasを押して、数分~数十分待つとこんな感じになります。こうなったら、完成です。

②TMPのオブジェクトを作成し、①で作ったフォントを指定。


こんな感じで使えます。
ということで、TextMeshProの簡単な使い方の紹介でした。
では、あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】UnityEditor上でGameビューのキャプチャーをショートカットキーで取る | 【ハルシオンブログ】VisualStudioでショートカットを変更したかった。 »
コメント
| h o m e |