ゲームにいろんなフォントを使えるようにしたい!日本語も表示したい!
本記事の内容
・フォントを追加する方法
・TextMeshProを日本語で使う方法
Unityにフォントを追加したい!
フォントはゲームの世界観を伝える重要な要素!
フォントは、ゲームの世界観を作る上で非常に重要な要素です。。
UNDERTALEのテキストは、フォントでキャラクターの性質を表現していますよね。
スプラトゥーンでは、ゲームのポップで明るい雰囲気がフォントだけでも伝わってきますよね。
画像引用元
https://automaton-media.com/articles/newsjp/20230531-249693/
https://store-jp.nintendo.com/list/software/70070000016033.html
自分の入れたいフォントを、Unityに導入するための方法を解説します。
フォントを入手する
まずは、フォントのダウンロードです。
今回はGoogleFontsという無料サービスを使って、DotGothic(ドット文字のフォント)というフォントをダウンロードしました。
↓DL先リンク↓
https://fonts.google.com/specimen/DotGothic16
(右上のあるDownloadFamilyボタンからダウンロード出来ます)
また、フォントの配布先サイトなどの個人開発のオススメ素材配布サイトをこちらにまとめているので、よかったらこちらも見てみてください。
フォントをダウンロードするときは、対応文字を確認するとよいです。
日本語は、漢字を含めて非常に文字数の多い言語のため、ひらがなのみであったり、英字のみの対応としているフォントも多くあります。自分の作るゲームに合わせたフォントをダウンロードしましょう。
ダウンロードしたフォントをUnityにインストールする
こちらはフォントファイルを、Unityのプロジェクトウィンドウにドラッグアンドドロップするだけです。
このままでも、旧式のTextであれば使うことは可能ですが、TextMeshProを使う場合は、ひと手間加える必要があります。
TextとTextMeshProの違いについては以下の記事で解説しているので、わからない人は確認してください。
このままの状態だと、まだTextMeshProで先程インストールしたフォントを使うことはできません。
TextMeshProの日本語フォントデータを作る
では、先程インストールしたフォントデータを使うために、TextMeshPro用のフォントファイルを作成します。
TextMeshProで使われる文字を、Atlasデータ(文字をテクスチャ画像にまとめたもの)に変換する必要があります。
(このサイトは原理はともかく使い方を学ぼう!というサイトなので、大分説明端折っています。詳しくはこちらのサイトがわかりやすいです・・・)
TextMeshPro用のフォントデータの作成手順は以下の通りです。
画面上部の ウィンドウ > TextMeshPro > フォントアセットクリエイター を選択する。
こちらのサイトにアクセスし、日本語の文字コードの一覧を取得し、コピペします。
ここで選択した文字が、TextMeshProで使用出来る文字、ということになります。
Rawボタンを選択して、
表示されている文字をすべて選択して、右クリック+コピー(Ctrl + C)。
以下の通り設定をして、GenerateFontAtlasというボタンを押します。
設定項目 | 設定値 |
---|---|
Source Font File | 追加したフォントを設定 |
Sampling Point Size | AutoSizing |
Padding | 5 |
Paccking Method | 高速 |
Atlas Resolution | 4096 * 4096 |
Chareacter Set | Custom Charactors |
Charactor List | Step2でコピペした日本語の文字一覧を貼り付け |
RenderMode | SDFAA |
しばらく待つとフォントデータ(Atlasデータ)が作成されるため、SaveAsボタンを押して適当なフォルダにフォントデータを格納しましょう。
これで完了です!
Atlas Resoulutionの設定について。
モバイルゲームなどデータ容量を考慮したゲームを作る場合は、一番大きな8192×8192のサイズで作成することはオススメしません。フォントデータだけで100MBを超えてしまうため、アプリサイズを圧迫してしまったり、GitHub(プロジェクトデータの共有・共同編集などが出来るツール)と連携しずらくなるためです。
ただ、上記の日本語に対応する場合、4096×4096はないとフォントがキレイに表示できないので、4096にしています。日本語や漢字の数を絞るなどをして容量を減らす、という方法もあります。
これで準備は完了です。実際にTextMeshProでインストールしたフォントを使ってみましょう。
TextMeshProのテキストを表示する
TextMeshProを配置
ヒエラルキーウィンドウで右クリックし、UI > テキスト-TextMeshPro を選択します。
インスペクタウィンドウから、FontAssetに先程作成したフォントを設定。
すると、取り込んだフォントのTextMeshProを表示することができました!凄いぜ!
まとめ
以上、フォントをUnityにインストールして、TextMeshProで使用する方法でした。
それでは素敵なゲーム制作ライフを!
コメント
コメント一覧 (1件)
[…] あわせて読みたい Unityのフォント追加方法・TextMeshProを日本語で使う方法 ゲームにいろんなフォントを使えるようにしたい!日本語も表示したい! […]