前提
タイトルの通り、Unityでテキストの文字列に画像を表示したく、こちらを参考に試してみました。
https://docs.unity3d.com/Packages/com.unity.textmeshpro@3.2/manual/Sprites.html
発生している問題
Sprite Assetを作成。テキスト(TextMeshProを使用したもの)に設定して、画像を含む文字を表示させてみると、文字の中の画像の位置がずれてしまいます。
Sprite Assetの作り方が悪いのか、使った画像が悪い(透過部分が悪さしてる、極端に小さいor大きいなど)のかもしれないと思ったところ、「TextMesh Pro」フォルダの中に「EmojiOne」のSprite Assetがあったので、これをテキストに設定すると画像はずれませんでした。
EmojiOneを使用して試したこと
「EmojiOne」はSprite Assetだけでなく、元の画像も含まれているので、これを元にSprite Assetを制作し、テキストに設定してみたのが、以下の画像です。
画像の上のテキストが「EmojiOne」の画像を使用して制作したSprite Assetを設定したもので、下のテキストが「TextMesh Pro」フォルダにある「EmojiOne」のSprite Assetを設定したものです。
やはり、画像がずれて(0.5文字分左下に移動している?)しまっています。
上記画像では以下の文字列をText Inputに設定しています。
ABCD<sprite=0>あいうえお あいうえお<sprite=1>ABCD
2つのSprite Assetで使用した画像は恐らく同じ。ならばSprite Assetに何か違いがあるんだろうと、Sprite Assetの「Face Info」といったパラメータを確認しましたが、違いが見つかりませんでした。
Sprite Assetの作り方は、ドキュメントに書いてある通りで、この手順で作成したSprite Assetを、テキストのExtra Settingsの「Sprite Asset」の項目にアタッチしています。
上の画像の二つのテキストは文字寄せの位置や、使用しているFontAssetも同じ。違うのは表示位置と設定しているSprite Assetだけです。
Sprite Assetに問題がある可能性が高そうですが、作成方法にそれほど間違うようなところもなく、見比べても違いが分からず、お手上げ状態です。
この問題の解決方法を教えていただきたいです。
補足情報(FW/ツールのバージョンなど)
unityのバージョンは2021.3.4f1
TextMeshProのバージョンは3.0.6

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。