この記事でのバージョン
Unity 2021.3.8f1
UImGui 4.1.1
概要
Dear ImGuiのUnityでの使用の際、デフォルトのフォントでは日本語を表示できません。
日本語を表示できるようにするために、日本語に対応したフォントに変更する方法を解説します。
Dear ImGui自体の紹介や導入方法は以下の記事を参照。
limegame.hatenablog.com
フォント変更方法
1.フォントファイルの用意
日本語に対応したフォントファイルを用意します。
フォントは権利周りが複雑なので選び方については割愛しますが、
今回はGoogleのNotoSansJapaneseを使用します。
fonts.google.com
2.フォントファイルの配置
以下の場所にダウンロードしたフォントファイルを配置します。
Assets\StreamingAssets\
3.読み込み用関数の追加
MonoBehaviour継承のクラスに以下の関数を記述します。
public void InitializeFont(ImGuiIOPtr io) { string fontPath = $"{Application.streamingAssetsPath}/NotoSansJP-Regular.ttf"; // フォントサイズは任意(今回は18) io.Fonts.AddFontFromFileTTF(fontPath, 18, null, io.Fonts.GetGlyphRangesJapanese()); }
結果
これで日本語が表示できるようになります。