Documentation / Node reference / geo nodes

geo/Text

Creates geometry from text, as outlines or as filled faces.

Primitives

Shapes a string with a font and builds geometry from the glyph outlines: segments with 'type' set to LINE, triangles with FLAT. The font is either the one baked into the binary (printable ASCII, nothing to load) or a .ttf you point 'font' at.

Each line of text becomes its OWN object, so a three-line string produces three objects. Break a line by pressing Enter in the text field; the two-character \n is accepted as well, which is what an expression can produce.

Lines are spaced by the font's own line advance, so the gap does not change with the letters on the line, and 'lineHeight' multiplies it. 'align' anchors each line horizontally, 'verticalAlign' anchors the block as a whole.

**The text is always 2D.** Glyph outlines are flat by construction, so it stores two numbers per point instead of three and cannot leave its plane. Put a geo/DimensionPromote after it to get a 3D one, which is what a node that needs to move a point out of the plane wants.

Parameters

Name Type What it does
fontSource UInt8 EMBEDDED · CUSTOM EMBEDDED uses the font baked into the binary: printable ASCII only, with no file to load. CUSTOM reads 'font', which makes the node asynchronous while the asset arrives.
font AssetPath The .ttf to shape with, when fontSource is CUSTOM.
type UInt8 LINE · FLAT LINE builds the glyph outlines as segments. FLAT fills them into triangles.
text String The text to build. Enter inserts a line break, and the two-character \n is accepted too. Each line becomes its own object; an empty line still takes up its line.
align UInt8 LEFT · MIDDLE · RIGHT Where each line sits horizontally: its left edge, its centre or its right edge on x=0.
verticalAlign UInt8 BASELINE · TOP · MIDDLE · BOTTOM Where the block of lines sits vertically: on the first line's baseline, hanging from the top of it, centred, or standing on the bottom of the last line. Measured from the font's ascent and descent, so it does not shift when the letters change.
samplesCount UInt8 Points used per curve in a glyph outline. Higher is smoother and heavier.
maxSegmentSize Float Longest a sampled segment may be, in world units. Curves are subdivided until they fit; 0 leaves the subdivision to samplesCount.
maxPointsCount UInt32 Cap on the points one curve may be sampled into when maxSegmentSize is driving it. 0 is no cap.
size Float Height of one em, in world units. The same value means the same size in every font.
lineHeight Float Multiplier on the font's own line advance: 1 is the spacing the font asks for, 2 is double-spaced.
color Color Colour attribute written on the points. LINE only: FLAT does not write one.

See also

This page is generated from the engine, so it describes the release you can download. The same text is in the editor's Help panel next to the node itself.