Overview
Converts a string into character-placement data (TextLayout) before
rasterization. Because downstream nodes receive positions for individual
characters, you can insert per-character effects (reveal one character at a time,
wave animation) before turning the result into an image.
Usage tips
- To draw static text, connect directly to
text_rasterize. This node is needed when you want to animate individual characters:text_layout → text_reveal_by_glyph / text_animate_by_glyph → text_rasterize. - Specify a system font name or a local ttf/otf file. For pixel art, a
font_pathto a bitmap-style font produces a clean result. system_family_nameandfont_file_family_overrideare stored separately. Normally leave the file override empty so the family is detected from the selected font file; use it only to select a specific family in a collection.alignpositions shorter lines within the width of the longest line. Its effect is therefore mainly visible on multiline text; a single auto-sized line has no spare width.- The
character_countoutput is useful for calculating progress per character when timing a type-on effect.
Related nodes
text_input— source of the texttext_reveal_by_glyph/text_animate_by_glyph— per-character effects (the main purpose of this node)text_rasterize— final rasterizationtext_outline— outline the text
Technical details
TextLayoutis a wire-only formal type and cannot be created directly in the Variables panel.- It does not retain font binaries, only the font reference and layout result.
- Glyph units are currently Unicode scalar values based on Rust
text.chars(). character_countcurrently outputsglyphs.len()directly as anInt.- It has no color, antialiasing, or padding; downstream
Text Rasterize v2handles those.
Debug display
- The Inspector shows a
Text Layout (Debug)section. - It displays the index and bounding box of each glyph.
- Results from
TextRevealByGlyphandTextAnimateByGlyphare alsoTextLayoutoutputs and appear in the same display. translateandscaleappear using approximate bounding boxes for debugging.
Examples
[Text Input] -> [Text Layout] -> [Text Rasterize v2]
[Text Input] -> [Text Layout] -> [Text Reveal By Glyph]
[Text Input] -> [Text Layout]
└-> [Character Count] -> [Divide] -> [Progress per Character]