NaninovelでUnityWebGLビルドしたら日本語テキストが消える件
最近ノベルゲームを作ろうとして
Naninovelに手を出してみた。
Naninovelとは
Unityで使用できるノベルゲーム制作Assets
https://naninovel.com/ja/guide/
Naninovelで作ったプロジェクトをUnityエディタ上でBuild&Runすると正しく日本語が表示されているのに、WebGLビルドすると日本語のテキストが消える。
”WebGL Unity 日本語消える”とかでググると
いろいろ同じ境遇の人がいっぱいでてくる。
原因
Unityエディタ上だとフォントフォールバック機能が動いているが
WebGL上ではフォントフォールバックが機能しない事が原因とのこと。
フォントフォールバックとは?
指定フォント内に対応する文字が存在しない場合、他のフォントから文字引っ張ってきて穴埋めする処理のこと
解決策
この問題を解決するには
・WebGLビルドでも何かしらでフォントフォールバック機能を有効にする
・テキストを表示している箇所に日本語が存在するフォントに入れ替える
前者はよくわからんので、みんなと同じ後者の対策をする
Naninovelでテキスト表示してるのってどこ?
さて、本題。
Naninovel上はどこでテキスト表示しているかというと
インポートしてきたAssets
Naninovel->Prefabs->TextPrinters
以下に、たくさんある。
Naninovel上で、自分が使用しているTextPrintersすべてのフォントを入れ替える必要がある。
例えば、デフォルトだとDialogのTextPrintersなので、
Dialogのプレハブを選択し開く。
このプレハブの子であるAuthorNameText、DialogueTextを選択し、
そのコンポーネントにあるFont(Robo-Regular)を日本語を含むフォント(例えばNoto Sans JP)に変更する。
英語のフォントも少し変わってしまうけど。そこはお好みの日本語フォントを見つける方向で。
以上、WebGLビルドでNaninovelの日本語テキストが表示できるようになった。