読者です 読者をやめる 読者になる 読者になる

KazumaLab.

流行りとリラックマと嵐が大好きです。

UnityAssetStoreでMeshTextProを使ってみた。

Unity Asset

Kazuma.です。

今回購入したAssetはこちら。
f:id:kazumalab:20160330025019p:plain

MeshTextPro $65です。

どんなメリット?

このAssetを使うメリットとしてVRなのでTextを表示させる場合標準のものを使うとなると、くっきり見えないという弱点があります。それを解決するのがこのAsset。

文字がくっきり見える様になります。どちらかというと3DTextをUIで使えるという感じ。
それではインポートしてみます。

f:id:kazumalab:20160330025431p:plain

セット内容的にはこのような感じですが、使う場合は
CanvasのUIと同じように使うことができます。
f:id:kazumalab:20160330025533p:plain

つまり扱いやすいという利点があります。

どう使うのか?

先ほどの画面からTextMeshProを選択します。
f:id:kazumalab:20160330030110p:plain

Inspectorを見てみます。
f:id:kazumalab:20160330030303p:plain
f:id:kazumalab:20160330030315p:plain

- Text Input Box
ここは文字を入力。標準のものと何ら代わりはありません。

  • Font Settings

フォント、スタイル、色、サイズなどをここから変更することができます。

- Extra Settings
f:id:kazumalab:20160330030752p:plain
この部分ではリッチテキストやRayCastの当たり判定を変更することができます。

  • Face settings

ぼやかすことや線の拡大・縮小できます。

- Outline
縁の色や細さを設定することができます。
この機能は標準ではついていないものなので嬉しいですね。

- Underlay
ここでは影の設定できます。
X軸に移動、Y軸に移動させることができ、オリジナルの文字を作ることができます。

f:id:kazumalab:20160330031440p:plain
[縁をつけ、影をつけた状態]

Scriptで文字を変更や表示する場合は?

簡単です。
GetComponentで取得した後、setTextでStringを渡してあげます。

gameobject.GetComponent<TextMeshPro>().setText = "表示したい文字";

* 日本語は使えるの?

結論からいうとできますが、少し手順を踏まなくては行けません。
そのやり方については
qiita.com
を見ながらやるのがいいと思います。

注意点

全角記号など表示されない部分があるのでそれを使わないか、
フォントから全角を作成するかの選択肢がありますが、僕的には前者がいいかと思います。