Skip to main content

Text Shape

Intro

Create and format text.

tip

A Text Shape can also be created in the Viewport using the Text tool. With the Text tool selected, click and drag to draw a Text Box. If you Option/Alt + click on the Text tool or, with the Text tool selected, click once in the Viewport, the Text Shape will be created with Auto Width and Auto Height checked. This results in the text box fitting the text rather than the text fitting within the Text Box.

UI

Common Attributes +

String - Enter text, numbers or symbols here.

Button iconGenerator
- Add and connect a String Generator from a list.

Button iconOpenType
- Open a popover window to enable/disable the font's OpenType features. If the current string (or selection) does not contain a combination of glyphs that could be affected by a particular option, that option will be dimmed. OpenType can be applied to the entire string or via selections and combined with rich text features. Note that OpenType is not supported if the String attribute has an input connection. In this scenario, use an Apply OpenType Style Behaviour instead.

Button iconReset
- Clear any rich text or OpenType styling to return the text to its default.

Button iconGlyphs
- Open a popover version of the Glyph Browser. Double click glyphs to add them to the String. Note that adding glyphs is not supported if the String attribute has an input connection. In this scenario, open the Glyph Browser and add glyphs to the input directly.

Font - Select the Font and Weight.

Variable Fonts

If a Variable Font is selected, a small hamburger icon will appear to the right of the Font attribute. Click this icon to load a pop over window in order to access the font's axes. Drag the pop over window's header to detach it in order to make connections to the axes.

Typeface - Connect a Typeface. This is a way to connect different Text Shapes to the same typeface.

Font Size - Set the size of the font.

Shrink to Fit Text Box - When checked, the Font Size will be automatically reduced at the point the String overflows the Text Box. Note - this requires Auto to be unchecked on the Text Box Size Attribute.

Allow Word Breaks - When unchecked and with Shrink to Fit Text Box checked, words are prevented from wrapping over lines. This is useful for automated templates to prevent long words being split across lines where they would otherwise extend outside the text box. Instead, the text will be scaled appropriately.

Hyphens

Hyphenated words (e.g. Sub-Mesh) will be treated as separate words unless they contain a NON-BREAKING HYPHEN character (U+2011).

Avoid Orphans - When checked, ensure that wrapping text within a Text Box does not result in single words being 'orphaned' on the last line.

Alignment - Align text horizontally to the Left, Centre, Right or Justified. Justified text increases the spaces between words aligning the text to both the left and right margins except the last line of a paragraph which is aligned to the left.

Vertical Alignment - Align text vertically to the Top, Centre, Bottom or Baseline.

Character Spacing - Set the distance between characters.

Word Spacing - Set the distance between words.

Line Spacing - Set the distance between lines.

Paragraph Spacing - Set the distance between paragraphs. A paragraph is defined by a line break.

Text Box Size - Set the size of the area the text wraps within.

  • Auto Width - When checked, the Text Box is sized to the width of the text.
  • Auto Height - When checked, the Text Box is sized to the height of the text.

Force Monospacing - Click the checkbox to remove any kerning from non monospace fonts (useful when animating text strings but need to maintain each character's position). Use the Monospace Multiplier to increase or decrease the space between monospaced characters.

String Manipulators - Add a String Manipulator.

Style Behaviours - Add a Style Behaviour. Style Behaviours allow for the procedural manipulation of text strings. For an example, see the Apply Font Size Utility.

Material Behaviours - Add a Material Behaviour. Material Behaviours allow for the procedural manipulation of text strings. For an example, see the Apply Text Material Utility.

Formatting Inputs - Inject a String/Text into the Text Shape. This allows you to set up Text containing different styles, colours or sizes. Any connected Text or String can then be referenced by its index within curly brackets. For example, a Text Shape containing the Text string Cavalry {0} will inject the text from another Text Shape connected to Formatting Inputs index 0.

Example

Formatting Inputs

  1. Create a Text Shape (Text Shape 1).
  2. Using the + icon on the Formatting Inputs attribute row, add a second Text Shape (Text Shape 2).
  3. Set the Font Weight for Text Shape 2 to Bold.
  4. On the Fill tab, set Text Shape 2's Color to blue.
  5. Change the Text input for Text Shape 2 to rules.
  6. On Text Shape 1, insert a space character between Cavalry and {0}

Text Shape 1 now displays 'Cavalry rules' (with rules in blue).

Text Path - Connect a Shape to position the Text Shape along.

Paths and Alignment

When Text is placed along a path its Alignment will be set based on the path's start/centre/end. Text will be positioned as follows depending on the Alignment:

  • Left - its left edge (first character) is positioned at the path's first point.
  • Centre - its centre is positioned half way along the path.
  • Right - its right edge (last character) is positioned at the path's last point (for closed paths this will be the same as the first point).

Path Loop - When checked, the Text Shape will loop around the Path.

Path Travel - Move the Text Shape along the Path.

Path Push - Move the Text Shape along the Path's normals.

Text along a Path

Use the Shape > Reverse Contour(s) command or Reverse Path Behaviour to position Text on the other side of a Path.

Per-Character Animation

See Sub-Mesh for animating Text by character/word/line.

Order of Operations

When using a combination of features with Text they will affect the output in the follow order:

  1. Text input (includes String Generators and String Manipulators)
  2. Style Behaviours (Apply Character Spacing, Apply Font Size, Apply Typeface)
  3. Standard Materials (Fill, Stroke)
  4. Material Behaviours (Apply Text Material)
  5. Formatted Inputs
Naming Text Shape Layers

By default, a Text Shape's 'nice name' is inherited from its String unless it has been manually set by renaming it in the Scene Window. This can be disabled by unchecking Automatic Naming in the Advanced tab.