ModerunUIPackがTextmeshProを使っていたので、しかたなく日本語フォントをTextMeshPro対応させた
asset生成
参考
Window>TextMeshPro>FontAssetCreator
NotoSansを変更する。こんな設定
CustomCharacterListに以下のgistの文字たちをコピペする
「GenerateFontAtlas」で生成。5分ぐらいでできる
ファイルサイズでかすぎ問題
生成されたファイルは131MBになってしまった><
これじゃあGithubにアップできないよ!
それを解決するのがこちらのFontFallback(分割)とDynamicSDFSystem(動的なロード?)
TextMeshProでほぼ全ての日本語を使えるようにFontAssetを作成すると100MB超えちゃってGitHubにコミットできない問題、Font Fallbackを使って分割すればいい感じにできそう
— karukaru@第2期公式VIVEアンバサダー (@_karukaru_) 2019年12月20日
FontFallBack
分割してアセットを作り、足りない部分はほかのアセットを読み込む
漢字以外と漢字だけのを分けて作る。
この時AtlasResolutionを小さくしないとファイルサイズが変わらない。
漢字以外のは2048*2048で入ったっぽい
8MBだった
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890〜¡¢£¤¥¦§¨©ª«¬ ®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ‒–—―‖‗‘’‚‛“”„‟†‡•… ‰′″‴‹›‼‾⁄⁞€™□ 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/◆□■△▲▽▼※〒→←↑↓〓∈∋⊆⊇⊂⊃アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲンァィゥェォッャュョーガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポヴぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞたァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭ─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇∇≡≒≪≫√∽∝∵∫∬ʼn♯♭♪†‡¶abcdefghijklmnopqrstuvwxyzむめもゃやゅゆょよらりるれろゎわゐゑをんムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶопрстуфхцчшщъыьэюя
\~∥|…‥‘’“”()〔〕[]{}〈〉《》「」『』【】+-±×∪∩∧∨¬⇒⇔∀∃∠⊥⌒∂ABCDEFGHIJKLMNOPQRSTUVWXYZだちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミαβγδεζηθικλμνξοπρστυφχψωЮЯабвгдеёжзийклмн╂
漢字は適当に4096*4096にした。収まったのかは知らない
Missingcharactersが0だからいけたのかな?
これで35MBだった!
そして基本となるフォントアセットのFontFallbackに片方のをセットする
これでできた!やったー
DynamicSDFSystem
ダイナミックに生成してくれるらしい。でも設定は生成したフォントアセットのGenerationSettingsをSynamicにする。
いまいち使い道が分からない。
よく使う文字を今まで通り事前生成して、そのアセットファイルの設定をDynamicにするのか?多分違う気がする
まあいいや。分割で用は済んだし!
最後に
TextMeshProめんどくさいな~みんなこんな作業しているのかな
ちなみにTextMeshにもともと入っているフォントはOpenSansというNotoSansと同じ仲間だけど英語しかない
あとModeruUIに適用するには、個別のTextMEshProにフォントを設定してもダメで、Tools>ModernUIPackの要素のフォントを置き換える必要がある。
これをしないと、上書きされる!!罠だ