My character animations are getting as far as the character I have in my text.
I'm even skipping the sprite character animation setup.
for (int i = 0; i < tweener.CharacterCount; i++)
{
TMP_CharacterInfo charInfo = textInfo.characterInfo[i];
if (charInfo.elementType == TMP_TextElementType.Sprite) {
Debug.LogWarning($"TMP_TextElementType.Sprite character");
continue;
}
// Character animation setup comes next...
}
I've found that if I edit the Text live in the Editor and delete the Sprite, the animations for all the characters suddenly start working.
Any tips?
Update 1
In fact, it looks like that is the case with all Rich Text Tags in my TextMeshPro label...
Update 2
I've discovered that in CharTweener::UpdateCharPositions()
There is a check which is skipping characters after a Sprite character...
for (var i = proxyTransformList.Count - 1; i >= 0; i--)
{
// ...
if (proxy.CharIndex >= characterCount)
continue;
// ...
}
Looks like proxy.CharIndex is referencing the index of characters BEFORE Rich Text Tags are passed and characterCount uses the count AFTER Rich Text Tags are passed.
My character animations are getting as far as the character I have in my text.
I'm even skipping the sprite character animation setup.
I've found that if I edit the Text live in the Editor and delete the Sprite, the animations for all the characters suddenly start working.
Any tips?
Update 1
In fact, it looks like that is the case with all Rich Text Tags in my TextMeshPro label...
Update 2
I've discovered that in
CharTweener::UpdateCharPositions()There is a check which is skipping characters after a Sprite character...
Looks like
proxy.CharIndexis referencing the index of characters BEFORE Rich Text Tags are passed and characterCount uses the count AFTER Rich Text Tags are passed.