TextMeshPro - フォントファイルにない文字は別のフォントファイルから取得する方法!

f:id:snoopopo:20210423084355p:plain

この記事は

使いたいフォントファイルが例えば、ひらがな・カタカナのみ対応しているが、
漢字やアルファベットをテキストに含めたい場合は、別のフォントファイルから取得する方法を記載します。

Font Asset Creatorで対応している文字のフォントアセットを作成する

まずは、一部の文字しか対応していないフォントのフォントアセットを作成します。

画面上部のメニュー -> Window -> TextMeshPro -> Font Asset Creator 

でFont Asset Creatorを開き、以下のような感じで設定し、作成します。

f:id:snoopopo:20210423085237p:plain

「Source Font File」に、一部の文字しか対応していないフォントを設定。
「Character File」には、対応している文字が羅列されたファイルを設定します。

たとえば、ひらがな・カタカナのみ対応のファイルなら、以下のようなテキストファイルを用意して、指定します。

あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐうゑをんぁぃぅぇぉっゃゅょゎがぎぐげござじずぜぞだぢづでどばびぶべぼアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰウヱヲンァィゥェォッャュョヮガギグゲゴザジズゼゾダヂヅデドバビブベボ

Fallback Font Assets を設定する

使いたい文字がそのフォントアセットに含まれていない場合、別のフォントアセットから取得する設定です。

先程作成した一部の文字しか対応していないフォントアセットを選択し、
「Fallback Font Assets」に、ない場合に変わりに表示するフォントアセットを設定します。

f:id:snoopopo:20210423090024p:plain

これで完了!さっそく使ってみよう。

Fallback Font Assets を設定したのに置き換わらない場合

Font Asset Creator でフォントアセットを作成した際に設定した、「Character File」のテキストファイルには、
そのフォントで対応した文字のみをいれます。
ここで対応していない文字まで含めたテキストファイルを指定してしまうと、置き換わらないので注意!

※ひらがな・カタカナのみ対応しているフォントで、漢字やアルファベットを含めてしまうと、置き換わらないよ。

uGUI版 のテキスト TextMeshProUGUIだとレイアウト崩れる場合

以前は、uGUI版のテキスト=TextMeshProUGUIだと崩れる問題がありました。
これがおきる場合は、TextMeshPro自体をアップデートしてください。

▼Package Managerからすぐできるよ f:id:snoopopo:20210423090842p:plain

過去のTextMeshProの記事

www.snoopopo.com

www.snoopopo.com

【Game A Week 3週目】「ドットピクロス」

youtu.be
↑今回から動画をとることにしたよ!

  • 作成したゲーム
    • Google Play
  • 制作期間 :2021/4/14~4/20(7日間) 26.5h
    • 内訳
  • 挑戦できたこと!(このゲームで自分が成長したところ)
  • 時間切れにより実装できなかったこと(Game A Weekが終わったあとアプデする際のメモ)
  • 振り返り⇒改善方法
    • 最後に考察とか

▼Game A Weekのまとめ(ルール等)▼
GAME A WEEK(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶぶろぐ(’ー’)/チャラン


続きを読む

【Game A Week 1週目】「ちいさな猫太郎」

f:id:snoopopo:20210406234821p:plain

  • 作成したゲーム
    • Google Play
  • 制作期間(時間)
  • 挑戦できたこと!
  • やる予定だったけどやれなかったこと
  • 振り返り→改善方法
  • 最後に(感想)

▼Game A Weekのまとめ(ルール等)▼
★Game A Week(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶdevろぐ(’ー’)/チャラン


続きを読む

【Game A Week 0週目(練習)】「すねーく.unity版」

f:id:snoopopo:20210331110452p:plain

  • 作成したゲーム
  • 制作期間(時間)
  • 挑戦できたこと!
  • やる予定だったけどやれなかったこと
  • よくなかったこと→改善方法
  • 良かったこと
  • 最後に(感想)

▼Game A Weekのまとめ(ルール等)▼
GAME A WEEK(2021年6月まで+10本作るまで!) - ゲーム作るためのこと学ぶぶろぐ(’ー’)/チャラン


続きを読む

GAME A WEEKまとめ

作成したゲームの振り返り記事

4週目(2021/4/21~2021/4/27):「猫レンジャーのそうこばん」

www.snoopopo.com

3週目(2021/4/14~2021/4/20):「ドットピクロス」

www.snoopopo.com

2週目(2021/4/8~2021/4/13):「メダカリウム」

www.snoopopo.com

1週目(2021/3/31~2021/4/7):「ちいさな猫太郎」

www.snoopopo.com

0週目*1:すねーく.unity版

www.snoopopo.com

ルール

・水曜12時スタート~火曜24時終了を厳守
・ストア(現在はandroidのみ)の申請までを期間内に行う
・必ずリリースする。
 →期限内にできなかった場合、10本のカウントにいれない。
・作業時間の記録は、机に座って行っている作業のみ集計。
 (例えば散歩している間にアイディア考えたりしてるのは集計しない)
・終了後はプロジェクトにさわらない(GAME A WEEK自体をやめたら触ってもOK)
・水曜~12時に振り返りや改善作業を行い、次回につなげる ←これが一番大事★

なぜルールを決めたいの?
・期間が決まっている方が作業の計画が立てやすい
 →実装したい仕様をいれるかどうかの判断材料にできる
・期間が決まっていないと振り返りで分析しづらい
 →何にxx時間かかっているけどそんなに時間かけれないのか、とかそういう感覚をつかみやすくするため。

必ずゲームに含めないといけないもの

・タイトル画面
・リワード動画
・シーン遷移演出。毎回違う演出にすること!(使いまわしはNG) ←4/21追加

*1:ルールを明確にしてなくて1週間になっていないw練習週

uses-sdk:minSdkVersion 17 cannot be smaller than version 19 declared in library [:UnityAds:]

発生した現象

f:id:snoopopo:20210329135824p:plain

UnityAdsをプロジェクトに初めて導入し、android実機で動作確認するためにandroidビルドをした際に発生。

最低のSdkVersionが17になっているが、UnityAdsのライブラリでは19にしないといけない、という内容

対処方法

最低SDKVersionを19にあげる。

SDKVersionの設定は、 [ PlayerSetting ] の Other Settings 内にある、Minimum API Level で設定できる。

f:id:snoopopo:20210329140426p:plain