Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

TextMesh

Hereda: PrimitiveMesh < Mesh < Resource < RefCounted < Object

Genera una PrimitiveMesh a partir del texto.

Descripción

Genera una PrimitiveMesh a partir del texto.

TextMesh solo se puede generar cuando se usan fuentes dinámicas con contornos de glifos vectoriales. Las fuentes de mapa de bits (incluidos los datos de mapa de bits en los contenedores de TrueType/OpenType, como las fuentes de emoji de color) no son compatibles.

El diseño UV está organizado en 4 tiras horizontales, de arriba a abajo: 40% de la altura para la cara frontal, 40% para la cara posterior, 10% para los bordes exteriores y 10% para los bordes interiores.

Tutoriales

Propiedades

AutowrapMode

autowrap_mode

0

float

curve_step

0.5

float

depth

0.05

Font

font

int

font_size

16

HorizontalAlignment

horizontal_alignment

1

BitField[JustificationFlag]

justification_flags

163

String

language

""

float

line_spacing

0.0

Vector2

offset

Vector2(0, 0)

float

pixel_size

0.01

StructuredTextParser

structured_text_bidi_override

0

Array

structured_text_bidi_override_options

[]

String

text

""

Direction

text_direction

0

bool

uppercase

false

VerticalAlignment

vertical_alignment

1

float

width

500.0


Descripciones de Propiedades

AutowrapMode autowrap_mode = 0 🔗

Si se establece en algo que no sea TextServer.AUTOWRAP_OFF, el texto se ajusta dentro del rectángulo delimitador del nodo. Si cambias el tamaño del nodo, cambiará su altura automáticamente para mostrar todo el texto.


float curve_step = 0.5 🔗

  • void set_curve_step(value: float)

  • float get_curve_step()

Paso (en píxeles) utilizado para aproximar las curvas de Bézier. Valores más bajos dan como resultado curvas más suaves, pero es más lento de generar y renderizar. Considera ajustarlo según el tamaño de la fuente y la distancia de visualización típica.

Nota: Cambiar esta propiedad regenerará la malla, lo cual es una operación lenta, especialmente con tamaños de fuente grandes y textos largos.


float depth = 0.05 🔗

Profundidades de la malla, si se establece en 0.0 solo se genera la superficie frontal, y el diseño UV se cambia para usar la textura completa solo para la cara frontal.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

Configuración de la fuente usada para mostrar texto.


int font_size = 16 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Tamaño de fuente del texto del TextMesh. Esta propiedad funciona en conjunto con pixel_size. Valores más altos darán como resultado una fuente más detallada, independientemente de curve_step y pixel_size. Considera mantener este valor por debajo de 63 (inclusivo) para un buen rendimiento, y ajusta pixel_size según sea necesario para agrandar el texto.

Nota: Cambiar esta propiedad regenerará la malla, lo cual es una operación lenta, especialmente con tamaños de fuente grandes y textos largos. Para cambiar el tamaño del texto de manera eficiente en tiempo real, cambia la Node3D.scale del nodo en su lugar.


HorizontalAlignment horizontal_alignment = 1 🔗

Controla la alineación horizontal del texto. Admite izquierda, centro, derecha y relleno (también conocido como justificar).


BitField[JustificationFlag] justification_flags = 163 🔗

Reglas de alineación de relleno de línea.


String language = "" 🔗

Language code used for line-breaking and text shaping algorithms. If left empty, the current locale is used instead.


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

Espacio vertical adicional entre líneas (en píxeles); el espacio se añade al descenso de la línea (line descent). Este valor puede ser negativo.


Vector2 offset = Vector2(0, 0) 🔗

El desplazamiento de dibujo del texto (en píxeles).

Nota: Cambiar esta propiedad regenerará la malla, lo cual es una operación lenta. Para cambiar la posición del texto de manera eficiente en tiempo real, cambia la Node3D.position del nodo en su lugar.


float pixel_size = 0.01 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

El tamaño del ancho de un píxel en el texto para escalarlo en 3D. Esta propiedad funciona en conjunto con font_size.

Nota: Cambiar esta propiedad regenerará la malla, lo cual es una operación lenta, especialmente con tamaños de fuente grandes y textos largos. Para cambiar el tamaño del texto de manera eficiente en tiempo real, cambia la Node3D.scale del nodo en su lugar.


StructuredTextParser structured_text_bidi_override = 0 🔗

Establece la sobrescritura del algoritmo BiDi para el texto estructurado.


Array structured_text_bidi_override_options = [] 🔗

  • void set_structured_text_bidi_override_options(value: Array)

  • Array get_structured_text_bidi_override_options()

Establece opciones adicionales para la sobrescritura BiDi.


String text = "" 🔗

El texto del que se generará la malla.

Nota: Debido a que es un Resource, no sigue las reglas de Node.auto_translate_mode. Si se desea desactivar la traducción, debe hacerse manualmente con Object.set_message_translation().


Direction text_direction = 0 🔗

Dirección base de escritura del texto.


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

Si es true, todo el texto se muestra como MAYÚSCULAS.


VerticalAlignment vertical_alignment = 1 🔗

Controla la alineación vertical del texto. Admite alineación superior, centrada e inferior.


float width = 500.0 🔗

Ancho del texto (en píxeles), utilizado para la alineación del relleno.