Text SOP
Summary
The Text SOP creates text geometry from any TrueType or OpenType font that is installed on the system, or any TrueType/OpenType font file on disk. Unicode is supported.
Parameters - Text Page
Font
font
- Select the font for the text from this drop down menu. All fonts are provided by the OS, any TrueType font that is loaded into the OS can be used.
Font File
fontfile
- Specify any TrueType or OpenType font file (.ttf, .otf file
) to use for the text. When using a font file, the Font menu above is disabled.
Bold
bold
- Displays the text in bold.
Italic
italic
- Displays the text in Italic.
Font Size X
fontsizex
- Sets the font size in X (horizontal). The font size defines the distance from the baseline to the top of the layout box for the given font. The default size of 1 of the default font is close to the vertical size of capital letters with no descenders.
Font Size Y
fontsizey
- Sets the font size in Y (vertical).
Keep Font Ratio
keepfontratio
- Ignores Y value in Font Size. Sets both X and Y size to Font Size X.
Scale Font to BBox Height
scalefontobboxheight
- Scale the font’s vertical size so it’s based on the vertical bounding box of the font.
Output
output
- ⊞ - Specify geometry output of Triangles, Closed Polygons or Open Polygons.
- Triangles
triangles
- The output is a triangulated mesh suitable for shaded renders.
- Closed Polygons (Filled Holes)
closedpolys
- The output is a set of separated closed outlines, suitable for Laser CHOP, Extrude SOP, etc. Append a Hole SOP to preserve holes properly.
- Open Polygons
openpolys
- The output is a set of separated open outlines, suitable for the Laser CHOP, etc. Renders as a wireframe always.
Level of Detail
levelofdetail
- Controls the quality of the text's shape by adding/removing subdivisions to the geometry.
Language
language
- Language type hint to help format the glyphs correctly. This should be a abbreviation from the Text TOP/SOP Unicode Language Abbreviations table.
Reading Direction
readingdirection
- ⊞ - Use to set whether the language reads Left to Right or Right to Left.
- Left To Right
lefttoright
-
- Right To Left
righttoleft
-
Kerning
kerning
- ⊞ - The amount of space to add between letters in X and Y. Kerning is way of adding an arbitrary offset between letters. There already is a default offset associated with each font so the letters are flush against each other. The Kerning parameter this adds to that and allows for a Y offset.
kerning1
-
kerning2
-
Line Spacing
linespacing
- Determines the amount of space between lines of text.
Horizontal Align
alignx
- ⊞ - Sets the horizontal alignment.
- In Reading Direction
reading
-
- Left
left
- Left justifies the text.
- Center
center
- Centers the text.
- Right
right
- Right justifies the text.
Word Wrap
wordwrap
- When checked text is automatically line wrapped once it takes up the space set in Word Wrap Size parameter below.
Word Wrap Size
wordwrapsize
- Determines the amount of 3D space used before the line wraps.
Text
text
- The string of text to create as geometry. If newlines or tabs are desired, the recommended way is to change this parameter to expression mode, and specify a Python string that includes \n or \t to signify newlines and tabs. E.g 'First Line\nSecond Line'
.
Legacy Parsing
legacyparsing
- Note, it's recommended to use a Python expression in the Text parameter instead of enabling legacy parsing, as this parsing can easily run into issues with more complex strings. When enabled and if the Text parameter is in Constant Mode, \t and \n character sequences will be turned into tab and newline characters respectively. Otherwise the \t and \n sequences will be left as literal \ and t and \ and n.
Parameters - Transform Page
Transform Order
xord
- ⊞ - Sets the overall transform order for the transformations. The transform order determines the order in which transformations take place. Depending on the order, you can achieve different results using the exact same values. Choose the appropriate order from the menu.
- Scale Rotate Translate
srt
-
- Scale Translate Rotate
str
-
- Rotate Scale Translate
rst
-
- Rotate Translate Scale
rts
-
- Translate Scale Rotate
tsr
-
- Translate Rotate Scale
trs
-
Rotate Order
rord
- ⊞ - Sets the order of the rotations within the overall transform order.
- Rx Ry Rz
xyz
-
- Rx Rz Ry
xzy
-
- Ry Rx Rz
yxz
-
- Ry Rz Rx
yzx
-
- Rz Rx Ry
zxy
-
- Rz Ry Rx
zyx
-
Translate
t
- ⊞ - These three fields move the geometry in the three axes.
- X
tx
-
- Y
ty
-
- Z
tz
-
Rotate
r
- ⊞ - These three fields rotate the geometry in the three axes.
- X
rx
-
- Y
ry
-
- Z
rz
-
Scale
s
- ⊞ - These three fields scale the geometry in the three axes.
- X
sx
-
- Y
sy
-
- Z
sz
-
Pivot
p
- ⊞ - The pivot point for the transformations (not the same as the pivot point in the pivot channels). The pivot point parameters allow you to define the point about which geometry scales and rotates. Altering the pivot point produces different results depending on the transformation performed on the object.
For example, during a scaling operation, if the pivot point of an object is located at: -1, -1, 0
and you wanted to scale the object by 0.5
(reduce its size by 50%) the object would scale toward the pivot point and appear to slide down and to the left.
- X
px
-
- Y
py
-
- Z
pz
-
Info CHOP Channels
Extra Information for the Text SOP can be accessed via an Info CHOP.
Common SOP Info Channels
- num_points - Number of points in this SOP.
- num_prims - Number of primitives in this SOP.
- num_particles - Number of particles in this SOP.
- last_vbo_update_time - Time spent in another thread updating geometry data on the GPU from the SOP's CPU data. As it is part of another thread, this time is not part of the usual frame time.
- last_meta_vbo_update_time - Time spent in another thread updating meta surface geometry data (such as metaballs or nurbs) on the GPU from the SOP's CPU data. As it is part of another thread, this time is not part of the usual frame time.
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build: