コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】TextMesh Pro の文字のローカル座標を取得する拡張メソッド

ソースコード

using TMPro;
using UnityEngine;

namespace Kogane
{
    public static class TMP_TextExtensionMethods
    {
        public static Vector3 GetCharacterLocalPosition
        (
            this TMP_Text self,
            int           index
        )
        {
            var characterInfo = self.textInfo.characterInfo[ index ];

            return !characterInfo.isVisible
                    ? Vector3.zero
                    : self.transform.localPosition + ( characterInfo.topLeft + characterInfo.bottomRight ) * 0.5f
                ;
        }
    }
}

使用例

// 1 文字目のローカル座標を取得
Debug.Log( tmpText.GetCharacterLocalPosition( 0 ) );