unity 追加したテキストやボタンの文字が表示されない時の解決方法!

Unityの勉強を久しぶりに再開したもののテキストを追加してもボタンの文字を変更しようとしてもその文字が表示されない。

ググってもみんな文字は出ている様子。フォントサイズを大きくするとかオーバーフローに設定するとかそういったことが書かれていたが、試してみても関係ないようで。解決するまでに2時間ほど時間を浪費した。

環境

2021.3.3fのバージョンで発生した。

起きている問題

ボタンやテキストを設置してもデフォルトの文字が表示されない。

unity 画面 文字が表示されない

色が背景色と同じとかそういうことでもなさそう。

拡大すると「T」とだけ表示されている。

unity Tだけ表示される
only shown T

怪しいところを探したところ、フォントがNone(TMP_Font Asset)になっているのが気になる。

fontがNone

そして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を選ぶ。

unity_TMP_import-menu

出てきたImport Unity Packageの画面の下にあるimportボタンをクリック。

import unity package dialog

プロジェクトを確認するとTextMeshProのデータが作成されていました。

この段階でフォントが選べるようになるが選んでも反映されないのでUnityのプロジェクトを再起動。

これで文字が表示されるようになります!

おまけ 日本語に対応させる

このままだと英語のみ表示されるので、日本語にも対応させたいとおもいます。

探してみたところ以下のサイトを参考に実施したところ日本語も表示できました。

【Unity】TextMeshProで日本語を表示する方法

フォントの場所が参考元と異なりImport TMP Essential Resourcesで作成されたフォルダを利用しましたがなんとかなりました。

unity fonts asset

無事に日本語も表示。

ただGoogleフォントではなく別のフリーフォントを使ったところうまくいかず。何をミスったのか。

おわり

青のTの文字は拡大すると残ったままだったのでテキストエリアを示すマークなのかな。

勉強する手前でだいぶ時間を消耗してしまいました。早く中身をいじれるようになりたいものです。

Unity

Posted by Nakamoto