皆さん、こんにちは。
ぶんじゃくです。
残暑厳しい中いかがお過ごしでしょうか。
さて、先日最新バージョン(2022.3.7f1)のUnityを使ってやろうと思ったら、
GameObjectから「Text」が消えていたので一瞬戸惑いました。
どうやら、TextMeshProというものを使うようになったようです。
ちなみにTextは、GameObject > UI > Legacy > Text、に残っていますので、まったく使えなくなったわけではないです。
さて、TextMeshProを使うにあたり、いろいろとやることが増えているみたいなのでまとめておきます。
TextMeshPro本体の導入については、今回は省きます。
はじめからこれが導入されているUnityバージョンだとして説明します。
フォントアセットの作成
Textは、例えば適当な.ttfファイルなどをセットしてフォントを使用できたのですが、TextMeshProは「フォントアセット」をセットする必要があります。
まず、Window > TextMeshPro > Font Asset Creator、でFont Asset Creatorを開きます。
Source Font Fileに.ttfなどのフォントファイルをセットします。
Character SetがデフォルトではASCIIになっていると思いますので、これでは日本語等が使用できません。
そこで、Character SetをCustom Charactersにします。
すると、Custom Characters Listというテキストボックスが表示されるようになるため、ここに使いたい日本語を入れます。
が、いちいち「あいうえお、、、」などやっていては日本語の場合きりがないため、以下のサイトからファイルをダウンロードしてきます。
https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4
右上の「Download ZIP」からファイルをダウンロードし、中身を解凍します。
中身のテキストをテキストエディタで開くと、文字が並んだファイルとなっているので、すべてを選択してコピーします。
そして、さきほどのCustom Characters Listのテキストボックスに貼り付け、Generate Font Atlasボタンを押します。
(生成に時間が少しかかりますが待ちましょう。)
完了すると、Generation completed in: ~、と表示されるので、Saveボタンを押してフォントアセットを保存します。
これで、Assetsフォルダ内に新しく.assetフォントファイルが保存されます。
TextMeshProの使用
TextMeshProを使用する場合は、新しくTextMeshProのGameObjectをCreateします。
Inspectorで見ると、TextMeshProコンポーネントがあり、そこにFont Assetという項目があるので、
そこにさきほど作成したフォントアセットをセットします。
テキストボックスに任意の文字列を入れれば、その文字列が表示されるようになります。
ちなみに、スクリプトからこの文字列を変更する場合は、usingにTMProを追加する必要があります。
(スクリプトで具体的にどうやるかは今回は割愛。)
いかがでしたでしょうか。
以前のTextを使うよりも、若干下準備が面倒ではありますが、TextMeshProの方がきれいで見栄えも良く、そしていろいろな設定が可能です。
また、Textがない!詰んだ!とならないよう、この記事が少しでも参考になれば幸いです。
今回は以上になります。
それでは、また。