class_textmesh.rst 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  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 a :ref:`PrimitiveMesh<class_PrimitiveMesh>` from the text.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. Generate a :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.
  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.
  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.
  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, and bottom.
  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. .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
  231. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  232. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  233. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  234. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  235. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  236. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
  237. .. |void| replace:: :abbr:`void (No return value.)`