class_textmesh.rst 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextMesh.xml.
  6. .. _class_TextMesh:
  7. TextMesh
  8. ========
  9. **Inherits:** :ref:`PrimitiveMesh<class_PrimitiveMesh>` **<** :ref:`Mesh<class_Mesh>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Generate an :ref:`PrimitiveMesh<class_PrimitiveMesh>` from the text.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Generate an :ref:`PrimitiveMesh<class_PrimitiveMesh>` from the text.
  15. TextMesh can be generated only when using dynamic fonts with vector glyph contours. Bitmap fonts (including bitmap data in the TrueType/OpenType containers, like color emoji fonts) are not supported.
  16. The UV layout is arranged in 4 horizontal strips, top to bottom: 40% of the height for the front face, 40% for the back face, 10% for the outer edges and 10% for the inner edges.
  17. .. rst-class:: classref-introduction-group
  18. Tutorials
  19. ---------
  20. - :doc:`3D text <../tutorials/3d/3d_text>`
  21. .. rst-class:: classref-reftable-group
  22. Properties
  23. ----------
  24. .. table::
  25. :widths: auto
  26. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  27. | :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` | :ref:`autowrap_mode<class_TextMesh_property_autowrap_mode>` | ``0`` |
  28. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  29. | :ref:`float<class_float>` | :ref:`curve_step<class_TextMesh_property_curve_step>` | ``0.5`` |
  30. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  31. | :ref:`float<class_float>` | :ref:`depth<class_TextMesh_property_depth>` | ``0.05`` |
  32. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  33. | :ref:`Font<class_Font>` | :ref:`font<class_TextMesh_property_font>` | |
  34. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  35. | :ref:`int<class_int>` | :ref:`font_size<class_TextMesh_property_font_size>` | ``16`` |
  36. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  37. | :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` | :ref:`horizontal_alignment<class_TextMesh_property_horizontal_alignment>` | ``1`` |
  38. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  39. | |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] | :ref:`justification_flags<class_TextMesh_property_justification_flags>` | ``163`` |
  40. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  41. | :ref:`String<class_String>` | :ref:`language<class_TextMesh_property_language>` | ``""`` |
  42. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  43. | :ref:`float<class_float>` | :ref:`line_spacing<class_TextMesh_property_line_spacing>` | ``0.0`` |
  44. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  45. | :ref:`Vector2<class_Vector2>` | :ref:`offset<class_TextMesh_property_offset>` | ``Vector2(0, 0)`` |
  46. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  47. | :ref:`float<class_float>` | :ref:`pixel_size<class_TextMesh_property_pixel_size>` | ``0.01`` |
  48. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  49. | :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` | :ref:`structured_text_bidi_override<class_TextMesh_property_structured_text_bidi_override>` | ``0`` |
  50. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  51. | :ref:`Array<class_Array>` | :ref:`structured_text_bidi_override_options<class_TextMesh_property_structured_text_bidi_override_options>` | ``[]`` |
  52. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  53. | :ref:`String<class_String>` | :ref:`text<class_TextMesh_property_text>` | ``""`` |
  54. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  55. | :ref:`Direction<enum_TextServer_Direction>` | :ref:`text_direction<class_TextMesh_property_text_direction>` | ``0`` |
  56. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  57. | :ref:`bool<class_bool>` | :ref:`uppercase<class_TextMesh_property_uppercase>` | ``false`` |
  58. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  59. | :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` | :ref:`vertical_alignment<class_TextMesh_property_vertical_alignment>` | ``1`` |
  60. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  61. | :ref:`float<class_float>` | :ref:`width<class_TextMesh_property_width>` | ``500.0`` |
  62. +---------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------+
  63. .. rst-class:: classref-section-separator
  64. ----
  65. .. rst-class:: classref-descriptions-group
  66. Property Descriptions
  67. ---------------------
  68. .. _class_TextMesh_property_autowrap_mode:
  69. .. rst-class:: classref-property
  70. :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **autowrap_mode** = ``0`` :ref:`🔗<class_TextMesh_property_autowrap_mode>`
  71. .. rst-class:: classref-property-setget
  72. - |void| **set_autowrap_mode**\ (\ value\: :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`\ )
  73. - :ref:`AutowrapMode<enum_TextServer_AutowrapMode>` **get_autowrap_mode**\ (\ )
  74. If set to something other than :ref:`TextServer.AUTOWRAP_OFF<class_TextServer_constant_AUTOWRAP_OFF>`, the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. To see how each mode behaves, see :ref:`AutowrapMode<enum_TextServer_AutowrapMode>`.
  75. .. rst-class:: classref-item-separator
  76. ----
  77. .. _class_TextMesh_property_curve_step:
  78. .. rst-class:: classref-property
  79. :ref:`float<class_float>` **curve_step** = ``0.5`` :ref:`🔗<class_TextMesh_property_curve_step>`
  80. .. rst-class:: classref-property-setget
  81. - |void| **set_curve_step**\ (\ value\: :ref:`float<class_float>`\ )
  82. - :ref:`float<class_float>` **get_curve_step**\ (\ )
  83. Step (in pixels) used to approximate Bézier curves.
  84. .. rst-class:: classref-item-separator
  85. ----
  86. .. _class_TextMesh_property_depth:
  87. .. rst-class:: classref-property
  88. :ref:`float<class_float>` **depth** = ``0.05`` :ref:`🔗<class_TextMesh_property_depth>`
  89. .. rst-class:: classref-property-setget
  90. - |void| **set_depth**\ (\ value\: :ref:`float<class_float>`\ )
  91. - :ref:`float<class_float>` **get_depth**\ (\ )
  92. Depths of the mesh, if set to ``0.0`` only front surface, is generated, and UV layout is changed to use full texture for the front face only.
  93. .. rst-class:: classref-item-separator
  94. ----
  95. .. _class_TextMesh_property_font:
  96. .. rst-class:: classref-property
  97. :ref:`Font<class_Font>` **font** :ref:`🔗<class_TextMesh_property_font>`
  98. .. rst-class:: classref-property-setget
  99. - |void| **set_font**\ (\ value\: :ref:`Font<class_Font>`\ )
  100. - :ref:`Font<class_Font>` **get_font**\ (\ )
  101. Font configuration used to display text.
  102. .. rst-class:: classref-item-separator
  103. ----
  104. .. _class_TextMesh_property_font_size:
  105. .. rst-class:: classref-property
  106. :ref:`int<class_int>` **font_size** = ``16`` :ref:`🔗<class_TextMesh_property_font_size>`
  107. .. rst-class:: classref-property-setget
  108. - |void| **set_font_size**\ (\ value\: :ref:`int<class_int>`\ )
  109. - :ref:`int<class_int>` **get_font_size**\ (\ )
  110. Font size of the **TextMesh**'s text.
  111. .. rst-class:: classref-item-separator
  112. ----
  113. .. _class_TextMesh_property_horizontal_alignment:
  114. .. rst-class:: classref-property
  115. :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **horizontal_alignment** = ``1`` :ref:`🔗<class_TextMesh_property_horizontal_alignment>`
  116. .. rst-class:: classref-property-setget
  117. - |void| **set_horizontal_alignment**\ (\ value\: :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>`\ )
  118. - :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` **get_horizontal_alignment**\ (\ )
  119. Controls the text's horizontal alignment. Supports left, center, right, and fill, or justify. Set it to one of the :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` constants.
  120. .. rst-class:: classref-item-separator
  121. ----
  122. .. _class_TextMesh_property_justification_flags:
  123. .. rst-class:: classref-property
  124. |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] **justification_flags** = ``163`` :ref:`🔗<class_TextMesh_property_justification_flags>`
  125. .. rst-class:: classref-property-setget
  126. - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\]\ )
  127. - |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\] **get_justification_flags**\ (\ )
  128. Line fill alignment rules. See :ref:`JustificationFlag<enum_TextServer_JustificationFlag>` for more information.
  129. .. rst-class:: classref-item-separator
  130. ----
  131. .. _class_TextMesh_property_language:
  132. .. rst-class:: classref-property
  133. :ref:`String<class_String>` **language** = ``""`` :ref:`🔗<class_TextMesh_property_language>`
  134. .. rst-class:: classref-property-setget
  135. - |void| **set_language**\ (\ value\: :ref:`String<class_String>`\ )
  136. - :ref:`String<class_String>` **get_language**\ (\ )
  137. Language code used for text shaping algorithms, if left empty current locale is used instead.
  138. .. rst-class:: classref-item-separator
  139. ----
  140. .. _class_TextMesh_property_line_spacing:
  141. .. rst-class:: classref-property
  142. :ref:`float<class_float>` **line_spacing** = ``0.0`` :ref:`🔗<class_TextMesh_property_line_spacing>`
  143. .. rst-class:: classref-property-setget
  144. - |void| **set_line_spacing**\ (\ value\: :ref:`float<class_float>`\ )
  145. - :ref:`float<class_float>` **get_line_spacing**\ (\ )
  146. Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.
  147. .. rst-class:: classref-item-separator
  148. ----
  149. .. _class_TextMesh_property_offset:
  150. .. rst-class:: classref-property
  151. :ref:`Vector2<class_Vector2>` **offset** = ``Vector2(0, 0)`` :ref:`🔗<class_TextMesh_property_offset>`
  152. .. rst-class:: classref-property-setget
  153. - |void| **set_offset**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
  154. - :ref:`Vector2<class_Vector2>` **get_offset**\ (\ )
  155. The text drawing offset (in pixels).
  156. .. rst-class:: classref-item-separator
  157. ----
  158. .. _class_TextMesh_property_pixel_size:
  159. .. rst-class:: classref-property
  160. :ref:`float<class_float>` **pixel_size** = ``0.01`` :ref:`🔗<class_TextMesh_property_pixel_size>`
  161. .. rst-class:: classref-property-setget
  162. - |void| **set_pixel_size**\ (\ value\: :ref:`float<class_float>`\ )
  163. - :ref:`float<class_float>` **get_pixel_size**\ (\ )
  164. The size of one pixel's width on the text to scale it in 3D.
  165. .. rst-class:: classref-item-separator
  166. ----
  167. .. _class_TextMesh_property_structured_text_bidi_override:
  168. .. rst-class:: classref-property
  169. :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **structured_text_bidi_override** = ``0`` :ref:`🔗<class_TextMesh_property_structured_text_bidi_override>`
  170. .. rst-class:: classref-property-setget
  171. - |void| **set_structured_text_bidi_override**\ (\ value\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`\ )
  172. - :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` **get_structured_text_bidi_override**\ (\ )
  173. Set BiDi algorithm override for the structured text.
  174. .. rst-class:: classref-item-separator
  175. ----
  176. .. _class_TextMesh_property_structured_text_bidi_override_options:
  177. .. rst-class:: classref-property
  178. :ref:`Array<class_Array>` **structured_text_bidi_override_options** = ``[]`` :ref:`🔗<class_TextMesh_property_structured_text_bidi_override_options>`
  179. .. rst-class:: classref-property-setget
  180. - |void| **set_structured_text_bidi_override_options**\ (\ value\: :ref:`Array<class_Array>`\ )
  181. - :ref:`Array<class_Array>` **get_structured_text_bidi_override_options**\ (\ )
  182. Set additional options for BiDi override.
  183. .. rst-class:: classref-item-separator
  184. ----
  185. .. _class_TextMesh_property_text:
  186. .. rst-class:: classref-property
  187. :ref:`String<class_String>` **text** = ``""`` :ref:`🔗<class_TextMesh_property_text>`
  188. .. rst-class:: classref-property-setget
  189. - |void| **set_text**\ (\ value\: :ref:`String<class_String>`\ )
  190. - :ref:`String<class_String>` **get_text**\ (\ )
  191. The text to generate mesh from.
  192. \ **Note:** Due to being a :ref:`Resource<class_Resource>`, it doesn't follow the rules of :ref:`Node.auto_translate_mode<class_Node_property_auto_translate_mode>`. If disabling translation is desired, it should be done manually with :ref:`Object.set_message_translation<class_Object_method_set_message_translation>`.
  193. .. rst-class:: classref-item-separator
  194. ----
  195. .. _class_TextMesh_property_text_direction:
  196. .. rst-class:: classref-property
  197. :ref:`Direction<enum_TextServer_Direction>` **text_direction** = ``0`` :ref:`🔗<class_TextMesh_property_text_direction>`
  198. .. rst-class:: classref-property-setget
  199. - |void| **set_text_direction**\ (\ value\: :ref:`Direction<enum_TextServer_Direction>`\ )
  200. - :ref:`Direction<enum_TextServer_Direction>` **get_text_direction**\ (\ )
  201. Base text writing direction.
  202. .. rst-class:: classref-item-separator
  203. ----
  204. .. _class_TextMesh_property_uppercase:
  205. .. rst-class:: classref-property
  206. :ref:`bool<class_bool>` **uppercase** = ``false`` :ref:`🔗<class_TextMesh_property_uppercase>`
  207. .. rst-class:: classref-property-setget
  208. - |void| **set_uppercase**\ (\ value\: :ref:`bool<class_bool>`\ )
  209. - :ref:`bool<class_bool>` **is_uppercase**\ (\ )
  210. If ``true``, all the text displays as UPPERCASE.
  211. .. rst-class:: classref-item-separator
  212. ----
  213. .. _class_TextMesh_property_vertical_alignment:
  214. .. rst-class:: classref-property
  215. :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **vertical_alignment** = ``1`` :ref:`🔗<class_TextMesh_property_vertical_alignment>`
  216. .. rst-class:: classref-property-setget
  217. - |void| **set_vertical_alignment**\ (\ value\: :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>`\ )
  218. - :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` **get_vertical_alignment**\ (\ )
  219. Controls the text's vertical alignment. Supports top, center, bottom. Set it to one of the :ref:`VerticalAlignment<enum_@GlobalScope_VerticalAlignment>` constants.
  220. .. rst-class:: classref-item-separator
  221. ----
  222. .. _class_TextMesh_property_width:
  223. .. rst-class:: classref-property
  224. :ref:`float<class_float>` **width** = ``500.0`` :ref:`🔗<class_TextMesh_property_width>`
  225. .. rst-class:: classref-property-setget
  226. - |void| **set_width**\ (\ value\: :ref:`float<class_float>`\ )
  227. - :ref:`float<class_float>` **get_width**\ (\ )
  228. Text width (in pixels), used for fill alignment.
  229. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  230. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  231. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  232. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  233. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  234. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  235. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  236. .. |void| replace:: :abbr:`void (No return value.)`