うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】TextMeshPro のテキストを1文字ずつ表示する

using System.Collections;
using TMPro;
using UnityEngine;

[RequireComponent(typeof(TextMeshProUGUI))]
public class TextAppear : MonoBehaviour
{
    [SerializeField]
    private float _interval = 0.5f;
    
    private IEnumerator Start()
    {
        var component = GetComponent<TMP_Text>();
        var textInfo = component.textInfo;
        var cc = textInfo.characterCount;
        // 最大表示数を0にして全部非表示
        component.maxVisibleCharacters = 0;
        
        for (var i = 1; i <= cc; i++)
        {
            // 1文字ずつ表示していく
            component.maxVisibleCharacters = i;

            yield return new WaitForSeconds(_interval);
        }
    }
}