Awesome
New version working with Text Mesh PRO:
https://github.com/badawe/TMP-Text-Juicer
Text Juice
Is a plugin to allow you do "per-character-animation" on text fields, like this one:
Controlling the animation
This git is a ready to be used as sub-module, so just add to your project anywhere inside the Assets Folder, something like Assets/Text Juicer/
If you don't know how to add as a sub-module you can check this guide
Or you can just download the Unity Package
Controlling the animation
Basically you can access and change the progress of the animation by the animator itself, or using the helpers inside the TextAnimation, by simply caling, Play()
, Stop()
and Restart()
Adding new effects
Is quite simple, you just need to extend the BaseVertexModifier, and you have access to change whatever you want, in the example bellow, is using a curve to simple multiply the Y from the position itself, generating this effect
using UnityEngine;
namespace TextAnimation.Effects
{
public class YVertexModifier : BaseVertexModifier
{
[SerializeField]
private AnimationCurve curve = new AnimationCurve(new Keyframe(0,1));
public override void Apply(CharController charController, ref UIVertex uiVertex)
{
uiVertex.position.y *= curve.Evaluate(charController.Progress);
}
}
}
Multiple Effects
You can add multiple effects at same time, like the PerCharacter and the X Modifier
Current Effects:
- X
- Y
- Color Modifier
- Cylinder
- Scale Vertex Modifier
- Glitch
You can check effects accessing this link:
Inspired in this post from reddit, and the awesome ui-extensions