Overview
Animates text by moving individual characters. Apply fly-in, soft appearance,
waves, or bounce with stagger delays between characters to create lively motion
such as an animated title logo.
Usage tips
- The go-to chain is
text_layout ā text_animate_by_glyph(drive progress with time_source)ā text_rasterize ā animation_render. staggeris the heart of this node. At 0, all characters animate together like one whole block. Increasing it strengthens the sense of sequential motion.- If
staggeris too large for the selected glyph count, its effective value is limited to0.95 / (selected count - 1)and a non-fatal warning is shown. This guarantees that every selected glyph reaches its completed state atprogress = 1. - Use
text_reveal_by_glyphfor show/hide effects; this node controls motion. They can be chained to make characters bounce as they appear. - This node does not expand the original layout bounds. If a large translation,
scale, or bounce is clipped, increase downstream
text_rasterizepadding.
Related nodes
text_reveal_by_glyphā controls visibility and can be combined with this nodetext_layoutā required upstreamtext_rasterize/text_outlineā render to an imageease_in_outā eases progress
How to think about it
TextLayoutstores where characters are placed.TextAnimateByGlyphoverrides how each character moves.- Finally,
TextRasterize v2orTextOutlinebakes the result to an image.
Per-character model
- In v1, a
glypheffectively means one character. First Glyph = 0means the first character.- The upper limit of
Last Glyphadjusts automatically to the character count of the inputTextLayout.
Progress
progressranges from0..1.- With 11 target characters, one character step is
1 / 11. - Setting
staggerabove 0 delays each character in sequence. progress = 1always means every selected glyph is complete; a warning indicates when the requested stagger had to be limited.
Technical details
- This node returns a new
TextLayoutwith updatedTextLayoutGlyph.visible / opacity / translate / scalevalues. translate_x / translate_yinterpolate from the starting position back to the original position.start_scale / start_opacitysimilarly interpolate from the starting state back to the normal state.wave_yadds a sine-wave offset during progress.bounce_yadds one arcing vertical bounce per character.TextRasterize v2/TextOutlinereadtranslate / scale / opacitywhen drawing.- Transforms do not expand
TextLayout.bounds; reserve raster padding downstream. - Inspect glyph index / bbox for the output
TextLayoutunderText Layout (Debug)in the Inspector.
Examples
[Text Input] -> [Text Layout] -> [Text Animate By Glyph] -> [Text Rasterize] -> [Preview]
[Text Input] -> [Text Layout] -> [Text Animate By Glyph] -> [Text Outline] -> [Preview]