GUI」タグアーカイブ

TextMesh ProにSpriteを表示する方法

TextMesh ProはUI上にテキストを表示するAssetですが、タグを使って画像を表示することもできます。

手順としては次のような感じです。

1. 表示したい画像ファイルを読み込み、Sprite ModeをMultipleに設定します。

2. Spriteを右クリックしてCreate » TextMeshPro » Sprite Assetを実行します。

3. TextMesh ProのExtra Settingsを開いて2で作成したSprite Assetを設定します。

以上で準備完了です。

後は通常通りに使用しつつ、画像を表示したい場所に<sprite=N>のタグを追加してください。

Nの部分は0から始まるSpriteの番号です。番号を変更したい場合はSprite AssetのInspectorからSprite Character Tableを設定してください。

UnityのUIでフォーカスを移したい場合はSetSelectedGameObject

UnityのUIを使っていて、フォーカスを変えたい場合はEventSystem.SetSelectedGameObjectを使ってみると良いみたいです。

使い方

EventSystem.current.SetSelectedGameObject(gameObject);

Canvasを2重に表示していて、後ろ側になっているCanvasのボタンにフォーカスがある場合など、一見不可解な現象が起こる場合もあるので、注意して使ってみてください。

リンク

Unity – Scripting API: EventSystems.EventSystem.SetSelectedGameObject
https://docs.unity3d.com/2018.2/Documentation/ScriptReference/EventSystems.EventSystem.SetSelectedGameObject.html

TextMesh Proで使えるタグ

UnityのTextMesh Proは少し前から無料になったので、使っている人も多いと思います。

TextMesh Proの便利な機能の1つにタグを使ったテキストの装飾があるのですが、HTMLとは少し違うので使い方をすぐに忘れてしまいます。

ということで、よく使うタグをまとめてみました。

<color="green">緑色</color>
<color="#0000FF">青色</color>
<alpha="#aa">透明度</alpha>
<b>ボールド</b>
<i>イタリック</i>
<u>アンダーライン</u>
<size="200%">拡大と縮小</size>
<align="center">センタリング</align>

それ以外についてはリンク先などを参照してみてください。

リンク

TextMesh Pro User Guide
https://docs.unity3d.com/Packages/com.unity.textmeshpro@1.2/manual/index.html

Rich Text, TextMesh Pro Documentation
http://digitalnativestudios.com/textmeshpro/docs/rich-text/