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を設定してください。

関連記事
UIとGameObjectが重なっている場合の判定方法
Raycastを使ってGameObjectの選択をしているプログラムで、UIとGameObjectが重なっている場合に使える方法。
using UnityEngine.EventSystems
EventSystem.current.IsPointerOverGameObject()
リンク
How to make UI block raycats (mobile) | Un...
UnityのUIでDrag and Drop
IBeginDragHandler, IDragHandler, IDropHandlerを継承するとOnBeginDrag, OnDrag, OnDropが使えようになるそうです。
public class Example : MonoBehaviour, IBeginDragHandler, IDragHandler, IDropHandler
{
public void OnBe...
オブジェクト位置に合わせてCanvas内に表示をする方法
Unityでオブジェクトの位置に応じてCanvas内に表示をしてみようと思って方法を探してみました。
Canvasに「Screen Space - Overlay」を設定している場合
RectTransformUtility.WorldToScreenPointを使うと簡単にできるようです。
具体的には、
Vector3 position;
GetComponent (...
UnityのUIでフォーカスを移したい場合はSetSelectedGameObject
UnityのUIを使っていて、フォーカスを変えたい場合はEventSystem.SetSelectedGameObjectを使ってみると良いみたいです。
使い方
EventSystem.current.SetSelectedGameObject(gameObject);
Canvasを2重に表示していて、後ろ側になっているCanvasのボタンにフォーカスがある場合など、一見不可...