Это эффект, когда текст появляется не сразу, а побуквенно. Может использоваться, например, в диалогах.
Один из способов сделать такой эффект, это, например, сделать окончание текста прозрачным с помощью тега
<color=#FFFFFF00>. Этот способ описывается, например, тут. Мне он не очень понравился, потому что имеет ограничения, например, он не применим, если в тексте уже есть разметка (особенно другие цвета).Мне посоветовали (зрители моего стрима) посмотреть на вот этот ассет, из которого я взял самую суть и делюсь ей с вами:
private IEnumerator DoType()
{
var totalVisibleCharacters = tmpText.GetParsedText().Length;
for (var i = 0; i <= totalVisibleCharacters; i++)
{
tmpText.maxVisibleCharacters = i;
yield return new WaitForSeconds(delay);
}
}
То есть, мы используем свойство TMP
maxVisibleCharacters, которое позволяет ограничить количество отображаемых символов, и метод GetParsedText(), чтобы получить итоговое количество символов, которое мы хотим показать (без учёта тегов).#ui #effects #TextMeshPro