MRが楽しい

MRやVRについて学習したことを書き残す

MRTKのTextMeshProで日本語を利用する

本日は MRTK の技術調査枠です。
MRTKのTextMeshProで日本語を利用する手順について記事にします。
f:id:bluebirdofoz:20200302094435j:plain

MRTKのサンプルシーン

MRTKのサンプルシーンで利用される TextMeshPro はそのままでは以下のように日本語が利用できません。
f:id:bluebirdofoz:20200302094444j:plain

TextMeshPro で日本語を利用するにはフォントアセットを作成する必要があります。

日本語フォントを準備する

フォントアセットを作成する前に、日本語のフォントを用意します。
今回は Windows に含まれる[メイリオ]フォントを利用してみました。
C:\Windows\Fonts 配下にある以下の MeiryoUI をコピーし、MeiryoUI.ttc を取得します。
f:id:bluebirdofoz:20200302094456j:plain

Unity のアセットに取り込んだら事前準備は完了です。
他に利用したい日本語フォントがあれば、そのフォントファイルを取得して準備してください。
f:id:bluebirdofoz:20200302094507j:plain

FontAssetの作成

TextMeshProの機能を利用してフォントアセットを作成します。
メニューから Window -> TextMeshPro -> FontAssetCreator を開きます。
f:id:bluebirdofoz:20200302094518j:plain

[FontAssetCreator]ウィンドウが開くので、以下の通り設定を行います。

SourceFontFile:meiryo(準備したフォントファイル)
SamplingPointSize:CustomSize 48
Padding:5
PackingMethod:Fast
AtlasResolution:8192 8192
CharacterSet:CustomCharacters
SelectFontAsset:None
CustomCharacterList:(利用したい文字コード)

f:id:bluebirdofoz:20200302094527j:plain

CustomCharacterList には TextMeshPro で利用したい文字を全て入力する必要があります。
以下の記事で、ほぼ全ての日本語文字を網羅した文字セットを公開して下さっている方がいたので、今回はこれを用いました。
qiita.com

設定を完了したら[Generate Font Atlas]を実行し、フォントアセットを作成します。
f:id:bluebirdofoz:20200302094544j:plain

最後に[Save as..]でフォントアセットを保存すれば、作成完了です。
f:id:bluebirdofoz:20200302094553j:plain

FontAssetを利用する

作成したフォントアセットを TextMeshPro コンポーネントの[FontAsset]に設定します。
これで TextMeshPro で日本語が利用できるようになりました。
f:id:bluebirdofoz:20200302094603j:plain

参考ページ

qiita.com
qiita.com
qiita.com