「Unity/TMPro/日本語対応」の版間の差分
(→自動で文字列をベイクさせる) |
(→日本語へ) |
||
行18: | 行18: | ||
</pre> | </pre> | ||
*CustomCharacterListに https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4?h=1 の文字を追加 | *CustomCharacterListに https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4?h=1 の文字を追加 | ||
− | * | + | *GenerateFontAtlasボタンを押したに、下の方に隠れてるSaveボタンを押すと、Atlasファイルができるので、Assets/Fontsの下へ保存。 |
*最後に、TextMeshProのFontAssetに、先程作ったAtlasファイル(NotoSansJP-Regular SDF)を選択。 | *最後に、TextMeshProのFontAssetに、先程作ったAtlasファイル(NotoSansJP-Regular SDF)を選択。 | ||
2023年2月2日 (木) 17:28時点における版
目次
日本語へ
- UI/TextMeshPro追加。
- Import TMP Essential Resourcesを追加(Unityメインメニュー/Window/TextMeshProから)
- (サンプルが必要であれば)Import TMP Example & Extrasも入れる
- Assetsの下に、TextMeshProのディレクトリができることを確認。
- Googleフォントから、好きなものをDL。https://fonts.google.com/ (とりあえず、NotoSansJapaneseをDL)
- Assets/Fontsを作ってその中に、NotoSansJP-Regular.otfを追加。
- Unityメイン/Windows/TextMeshPro/FontAssetCreatorを開いて、FontSourceに先程のファイルをドラッグ。
- 以下のように設定
SamplingPointSizeをCustomSize:48へ Paddingを5へ PackingMethodをFastへ AtlasResolutinを8192x8192へ CharacterSetをCustomCharactersへ SelectFontAssetをLiberationSansSDFへ
- CustomCharacterListに https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4?h=1 の文字を追加
- GenerateFontAtlasボタンを押したに、下の方に隠れてるSaveボタンを押すと、Atlasファイルができるので、Assets/Fontsの下へ保存。
- 最後に、TextMeshProのFontAssetに、先程作ったAtlasファイル(NotoSansJP-Regular SDF)を選択。
参考:https://taidanahibi.com/unity/text-mesh-pro/
参考:https://qiita.com/kgsi/items/08a1c78b3bee71136156
取り込んだ文字列について
SDFファイルのInspectorの以下項目にベイクされた文字列が追加されてる。
- CharacterTable
- GlyphTable
フォントで足りないフォントを追加
FallbackFontを使う。
やり方としては、フォントに設定したSDFのInspectorのFallbackFontAssetsのListに、追加したいSDKを追加する
参考:https://kan-kikuchi.hatenablog.com/entry/TextMeshPro
自動で文字列をベイクさせる
ダイナミックフォントに設定する
- SDFファイルのInspectorのAtlasPopulationModeをDynamicへ
これで、動的に入力した文字列が、□にならずに、ベイクされ表示される。
容量は増えそう
参考:https://kan-kikuchi.hatenablog.com/entry/TextMeshPro
使用した文字列の消し方
CharacterTableとかにある、文字を選択して、Removeを、すれば消える
フォントファイル分散
FallBackFontを使う方法
- Unityメイン/Windows/TextMeshPro/FontAssetCreatorを開き
- CustomCharactersを空にして、GenerateFontAtlasボタンを押し、SDF NULLとして保存
- TextMeshProのFontAssetに、先程作ったAtlasファイルを選択
- 適当に、平仮名のみと、カタカナのみなどのAtlasファイルを作る
- SDK NULLファイルのInspectorを選択し、FallBackFontAssetsに、平仮名のみと、カタカナのみなどのAtlasファイルを入れる
参考:https://tsubakit1.hateblo.jp/entry/2019/02/02/060758
日本語平仮名のみ
ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん
日本語カタカナのみ
ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ
Tのアイコン文字を消す
シーンビューの上にあるGizmosの右の▼ボタンを選択し、TextMeshProを非表示に
参考:https://teratail.com/questions/309876
WebGLの入力欄を日本語対応
https://github.com/kou-yeung/WebGLInput/releases からWebGLInput.unitypackageをDLして、InputField (TMP)のオブジェクトのInspectorからAddComponentし、WebGLInputを追加すれば、できた。
参考:https://sorceryforce.net/cs/tips/unity-ui-webgl-input
ポップなフォント
けいおんフォント http://font.sumomo.ne.jp/font_1.html