フォントTextコンポーネントを使わずにゲームを作るってことも中々なくて、多分みんなが使ったことあるコンポーネントだと思います。Styleとして『Bold』や『Italic』を選択できるのは周知の事実ですが、これを使うときには注意が必要です。自分でフォントをインポートするときになってから気付きやすい問題点なので、「なんじゃこりゃああああ!」とビビること請け合い。SierraUnity2018.1.0f2どんな現象が起こるかまずはこちらをご覧いただこう。Unityデフォルトで使われるフォントである『Arial』を使って表示したText。Styleは『Normal』でセットしています。Styleを『Bold』にしたもの。お分かりいただけただろうか。Boldは特に闇を感じる正解は、英字部分はちゃんとBoldになっているのに、その他の部分は横に拡大されてしまう、でした。pocket【Unity】フォントをインポートして文字を表示する実験https://ekulabo.com/import-fontsUnityのデフォルトのフォントは日本語表示には向いていません。英字はともかく、漢字とひらがなの太さが合ってなかったりと、ゲームをリリースするにはきつい状態。外部からフォントをインポートしてイケてるテキストを表示しましょ。フォントのインポートについては上の記事で扱ったのですが、これを書き終わった後、インポートしたフォントで『Bold』を選択しても同じように横に拡大されたので「うわぁ......Arialが残念だからインポートの話をしたのに、そのフォントでBold選んでも残念じゃん......やべぇよやべぇよ」と焦って調査したのが今回の出発点。いうかArialだとなんで英字だけ太字になってるのさ。1p』をBoldにするとこんな感じに。3行目だけBoldに3行目だけ横幅が拡がっています。1p』を使った場合、Arialとは違い英字部分も横に拡大されました。なんじゃこりゃあ......。1p』のRegularを使っていたので、単純にBoldが見つからなかったのかも。1p』のBoldをインポートして再挑戦。Boldをインポート......が、変わらず。1p』のBoldを設定すればいい、ってのは確かにそうなんだけど、リッチテキストでBoldタグを含めたいときに上と同じ現象が起きちゃうので避けたいところ。StyleのフィールドでRegularとBoldを切り替えたいんです。Styleの動き調べてみると、どうやらシステムにインストールされたフォントの中に有るか無いかが鍵のようで。Forumでも同じような現象に行き合った人がいました。Unityのデフォルトで設定されているフォント・Arialの場合、WindowsやMacでは標準フォントとして元からインストールされているので、そのBoldスタイルを見にいっているみたい。StyleとしてBoldを選んだ場合、システムのArialの英字部分だけ読み取って太字で表示しているようです。日本語部分は謎のフォントだったらしく、私のMacには存在せず、太字にはなりませんでした。1p』のBoldをMacにインストールしてみることに。フォントファイルを使ってインストールを行い、FontBookでインストールされたことを確認。Windowsだとコントロールパネルのフォントから確認できます。Book続いてUnityを再起動。起動時にシステムにインストールされたフォントを見に行ってるようで、エディタを開きっぱなしだと反映されませんでした。再起動後、Textコンポーネントの設定を以下のようにしました。StyleをBoldにリッチテキストで一部をBoldに上記設定で画面に表示したものがこちら。できた!意図通りにBoldになってくれました。これで問題解決!......。......そんなふうに考えていた時期が私にもありました。リリースするときどうするの?エディタ上ではうまくいっていますが、リリースするときはどうなるんでしょうね?ポイントとなるのは、ゲームの実行環境にフォントがインストールされているかどうか。試しに上記のテキストコンポーネントを表示するゲームをビルドしてみます。1p』のBoldがインストールされている状態なのでエディタと同じように表示されました。1p』のBoldをアンインストールした上で同じゲームファイルを実行します。すると横広がり現象が再発。Italic)を選択する場合は、ゲームの実行環境に該当のフォントファミリー、そのBoldがインストールされている必要があるということ。UnityデフォルトのArialの場合、Windows、Macには標準フォントとしてインストールされています。iOSもインストールされていますが、Androidだと入っていないことも多いです。なると、デフォルトのArialですら、Androidアプリでは正しくBoldを表示してくれないことに。なんとキツイ条件でしょうか。「このゲームを遊ぶには、フォントをインストールしてね!」なんて感じでリリースしたら各方面から怒られそう。Styleを使うのではなく、プロジェクトにBold用のフォントファイルをインポートしてしまうのが無難かな。Styleの設定だってTextコンポーネント毎のものだから、フォントファイルの違うコンポーネントがあるのと同じです。動的に変えたいときはスクリプトから変更可能なので、Textフィールドの値を変えるときに一緒にフォントを変えておけば良さそう。リッチテキストを使って文中でBoldにするのはちょっと難しいかも。あとBold用のフォントファイルをインポートする分、ビルドしたゲームの容量が大きくなるのも目を瞑る必要があります。日本語フォントだとファイルサイズが大きいので結構ダメージが......。まとめTextコンポーネントでBoldを使うときに気をつけるべきことをピックアップ。システムにインストールされたフォントに依存するまさかの仕様だったので、最悪リリースしてから気付くこともあるかも。最初からBoldのファイルをインポートするのが無難そうです。ゲーム開発の攻略チャートを作りました!「ゲームを作ってみたいけど、何から手を付けていいか分からない!」そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。投稿一覧Unityを使ってアプリを作ったり、Assetを作ったりしてる個人開発者。Unity全般ネタとAsset開発の情報を扱っています。Asset開発は日本語の情報が少ないのよね。ことで些細なネタでも情報を蓄積するのが目的です。2018.06.07Unityのデフォルトのフォントは日本語表示には向いていません。2018.06.09複数のフォントファイルをインポートしたときに、スクリプトから動的に切り替えるサンプルを用意しました。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。todoUnityのアセットを作ったり、スマホ向けのアプリを作っています。このブログではUnity初心者に向けたチュートリアルやテクニックを放出しています。詳しいプロフィールはこちら。お仕事の相談や現在提供中のサービスについては、こちらの『サービス内容』のページをご覧ください。Explorers_todoオンライントレーニングのサイトをオープン!エクスプラボを運営しているtodoが、より集中的にゲーム作りについて学べるオンライントレーニングのサイトをオープンしました。エクスプラボのトレーニングルーム』です。勉強したことの進捗も表示できるようになっているので、どれだけ頑張ったのかが分かるようになっています。ゲーム開発の攻略チャート』というe-bookをプレゼントしています。メルマガではゲーム開発のテクニックを中心に役立つ情報をお届けします。詳しくはこちら!お仕事の依頼はこちら!ゲーム開発のサポートも可能!エクスプラボではゲーム開発のサポートのサービスも行なっています。いう場合にオススメのプランです。普通に開発依頼をいただいてもOKです。【Unity】ポストプロセシングを使って簡単にプロっぽいゲーム画面を作るゲームの作り方を学べるオンライン講座のサイトをオープンしました!【ゲーム開発】ゲーム開発者こそ体を動かしてアイディアを出すべきRANKING【Unity】Mathfの切り上げ、切り捨て、偶数丸め。使い分けが大事よねMathf【Unity】ゲームといえばランダム要素。(12)作ったアプリ空とにゃんこと風船と癒し系縦スクロール避けゲーの『空とにゃんこと風船と』(TODOWORKS名義でリリース)気軽に遊べるスマートフォン向けアプリです。ボクセルアートで彩られるどこかレトロ、でも新しい世界で癒されてみませんか?ぼく、猫ですって!タップ系RPG『ぼく、猫ですって!』(TODOWORKS名義でリリース)気軽に遊べるスマホRPG。