Unityの勉強を久しぶりに再開したもののテキストを追加してもボタンの文字を変更しようとしてもその文字が表示されない。
ググってもみんな文字は出ている様子。フォントサイズを大きくするとかオーバーフローに設定するとかそういったことが書かれていたが、試してみても関係ないようで。解決するまでに2時間ほど時間を浪費した。
環境
2021.3.3fのバージョンで発生した。
起きている問題
ボタンやテキストを設置してもデフォルトの文字が表示されない。
色が背景色と同じとかそういうことでもなさそう。
拡大すると「T」とだけ表示されている。
怪しいところを探したところ、フォントがNone(TMP_Font Asset)になっているのが気になる。
そしてNone以外の選択肢はなかった。
解決方法1 バージョンを変える
2021.3.3fのバージョンではText Mesh Proという文字しか扱っていないからなのかなんなのか、以前使ったことがあった2021.3.10.f1のバージョンではArialフォントがあり表示されたのでてっとり早い解決方はバージョンを変えることかもしれない。
解決方法2 Import TMP Essential Resourcesする
フォントを追加しようとしたもののFont Assetがフォントデータをドラッグアンドドロップしただけでは生成されず。Font Asset Creatorを使っても全くimportできずどうしたものかと思っていたところ「Import TMP Essential Resources」というのがあることを知ったので実施。
Import TMP Essential Resources実施手順
Window→TextMeshPro→Import TMP Essential Resourcesを選ぶ。
出てきたImport Unity Packageの画面の下にあるimportボタンをクリック。
プロジェクトを確認するとTextMeshProのデータが作成されていました。
この段階でフォントが選べるようになるが選んでも反映されないのでUnityのプロジェクトを再起動。
これで文字が表示されるようになります!
おまけ 日本語に対応させる
このままだと英語のみ表示されるので、日本語にも対応させたいとおもいます。
探してみたところ以下のサイトを参考に実施したところ日本語も表示できました。
フォントの場所が参考元と異なりImport TMP Essential Resourcesで作成されたフォルダを利用しましたがなんとかなりました。
無事に日本語も表示。
ただGoogleフォントではなく別のフリーフォントを使ったところうまくいかず。何をミスったのか。
おわり
青のTの文字は拡大すると残ったままだったのでテキストエリアを示すマークなのかな。
勉強する手前でだいぶ時間を消耗してしまいました。早く中身をいじれるようになりたいものです。