コガネブログ

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

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

ソースコード

using TMPro;
using UnityEngine;

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

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

使用例

// 1 文字目のワールド座標を取得
Debug.Log( tmpText.GetCharacterPosition( 0 ) );