Label3D

Hereda: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Un nodo para mostrar texto plano en el espacio 3D.

Descripción

Un nodo para mostrar texto plano en el espacio 3D. Ajustando varias propiedades de este nodo, puedes configurar cosas como la apariencia del texto y si siempre mira hacia la cámara.

Tutoriales

Propiedades

float

alpha_antialiasing_edge

0.0

AlphaAntiAliasing

alpha_antialiasing_mode

0

AlphaCutMode

alpha_cut

0

float

alpha_hash_scale

1.0

float

alpha_scissor_threshold

0.5

AutowrapMode

autowrap_mode

0

BitField[LineBreakFlag]

autowrap_trim_flags

192

BillboardMode

billboard

0

ShadowCastingSetting

cast_shadow

0 (overrides GeometryInstance3D)

bool

double_sided

true

bool

fixed_size

false

Font

font

int

font_size

32

GIMode

gi_mode

0 (overrides GeometryInstance3D)

HorizontalAlignment

horizontal_alignment

1

BitField[JustificationFlag]

justification_flags

163

String

language

""

float

line_spacing

0.0

Color

modulate

Color(1, 1, 1, 1)

bool

no_depth_test

false

Vector2

offset

Vector2(0, 0)

Color

outline_modulate

Color(0, 0, 0, 1)

int

outline_render_priority

-1

int

outline_size

12

float

pixel_size

0.005

int

render_priority

0

bool

shaded

false

StructuredTextParser

structured_text_bidi_override

0

Array

structured_text_bidi_override_options

[]

String

text

""

Direction

text_direction

0

TextureFilter

texture_filter

3

bool

uppercase

false

VerticalAlignment

vertical_alignment

1

float

width

500.0

Métodos

TriangleMesh

generate_triangle_mesh() const

bool

get_draw_flag(flag: DrawFlags) const

void

set_draw_flag(flag: DrawFlags, enabled: bool)


Enumeraciones

enum DrawFlags: 🔗

DrawFlags FLAG_SHADED = 0

Si se establece, las luces del entorno afectan la etiqueta.

DrawFlags FLAG_DOUBLE_SIDED = 1

Si está activado, el texto también puede verse desde atrás. Si no, el texto es invisible cuando se mira desde atrás.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 2

Desactiva la prueba de profundidad, así que este objeto se dibuja encima de todos los demás. Sin embargo, los objetos dibujados después de él en el orden de dibujo pueden cubrirlo.

DrawFlags FLAG_FIXED_SIZE = 3

La etiqueta se escala según la profundidad para que siempre aparezca del mismo tamaño en la pantalla.

DrawFlags FLAG_MAX = 4

Representa el tamaño del enum DrawFlags.


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Este modo realiza una mezcla alfa estándar. Puede mostrar áreas translúcidas, pero pueden ser visibles problemas de ordenación de transparencias cuando se superponen múltiples materiales transparentes. GeometryInstance3D.cast_shadow no tiene efecto cuando se utiliza este modo de transparencia; la Label3D nunca proyectará sombras.

AlphaCutMode ALPHA_CUT_DISCARD = 1

Este modo solo permite píxeles totalmente transparentes o totalmente opacos. Los bordes duros serán visibles a menos que se habilite alguna forma de antialiasing de espacio de pantalla (véase ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Este modo también se conoce como prueba alfa o transparencia de 1 bit.

Nota: Este modo puede tener problemas con las fuentes y contornos con suavizado, intente ajustar alpha_scissor_threshold o utilizar una fuente MSDF.

Nota: Cuando se utiliza texto con glifos superpuestos (por ejemplo, escrituras cursivas), este modo puede tener problemas de clasificación de transparencias entre el texto principal y el contorno.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Este modo dibuja píxeles totalmente opacos en el prepass de profundidad. Esto es más lento que ALPHA_CUT_DISABLED o ALPHA_CUT_DISCARD, pero permite mostrar áreas translúcidas y bordes suaves mientras se utiliza una clasificación adecuada.

Nota: Al utilizar texto con glifos superpuestos (por ejemplo, escrituras cursivas), este modo puede tener problemas de clasificación de transparencias entre el texto principal y el contorno.

AlphaCutMode ALPHA_CUT_HASH = 3

Este modo corta todos los valores por debajo de un umbral espacialmente determinista; el resto permanecerá opaco.


Descripciones de Propiedades

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Threshold at which antialiasing will be applied on the alpha channel.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

El tipo de antialiasing alfa que se aplicará.


AlphaCutMode alpha_cut = 0 🔗

El modo de corte alfa a utilizar para el sprite.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

The hashing scale for Alpha Hash. Recommended values between 0 and 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Umbral en el que el alpha scissor descartará los valores.


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.


BitField[LineBreakFlag] autowrap_trim_flags = 192 🔗

Flags de recorte de espacio de ajuste automático. Véase TextServer.BREAK_TRIM_START_EDGE_SPACES y TextServer.BREAK_TRIM_END_EDGE_SPACES para más información.


BillboardMode billboard = 0 🔗

El modo billboard a usar para la etiqueta.


bool double_sided = true 🔗

Si es true, el texto también puede verse desde atrás; si es false, es invisible al mirarlo desde atrás.


bool fixed_size = false 🔗

Si es true, la etiqueta se renderiza al mismo tamaño sin importar la distancia. El tamaño de la etiqueta en la pantalla es el mismo que si la cámara estuviera a 1.0 unidades de distancia del origen de la etiqueta, independientemente de la distancia real de la cámara. El campo de visión de la Camera3D (o Camera3D.size en modo ortogonal/frustum) todavía afecta el tamaño con el que se dibuja la etiqueta.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

Configuración de la fuente usada para mostrar texto.


int font_size = 32 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Tamaño de la fuente del texto de Label3D. Para que la fuente se vea más detallada de cerca, aumenta font_size mientras disminuyes pixel_size al mismo tiempo.

Los tamaños de fuente más grandes requieren más tiempo para renderizar nuevos caracteres, lo que puede causar tartamudeo ("stuttering") durante el juego.


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 = "" 🔗

Código de idioma utilizado para los algoritmos de salto de línea y forma del texto, si se deja vacío se utiliza la configuración regional actual.


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

Additional vertical spacing between lines (in pixels), spacing is added to line descent. This value can be negative.


Color modulate = Color(1, 1, 1, 1) 🔗

  • void set_modulate(value: Color)

  • Color get_modulate()

Color de texto de la Label3D.


bool no_depth_test = false 🔗

Si es true, la prueba de profundidad está desactivada y el objeto se dibujará en orden de renderizado.


Vector2 offset = Vector2(0, 0) 🔗

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


Color outline_modulate = Color(0, 0, 0, 1) 🔗

  • void set_outline_modulate(value: Color)

  • Color get_outline_modulate()

El tinte del contorno del texto.


int outline_render_priority = -1 🔗

  • void set_outline_render_priority(value: int)

  • int get_outline_render_priority()

Establece la prioridad de renderizado para el contorno del texto. Los objetos de mayor prioridad se ordenarán por delante de los de menor prioridad.

Nota: Esto solo se aplica si alpha_cut está configurado como ALPHA_CUT_DISABLED (valor predeterminado).

Nota: Esto solo se aplica al ordenamiento de objetos transparentes. Esto no afectará cómo se ordenan los objetos transparentes en relación con los objetos opacos. Esto se debe a que los objetos opacos no se ordenan, mientras que los objetos transparentes se ordenan de atrás hacia adelante (sujeto a prioridad).


int outline_size = 12 🔗

  • void set_outline_size(value: int)

  • int get_outline_size()

Tamaño del contorno del texto.


float pixel_size = 0.005 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

El tamaño del ancho de un píxel en la etiqueta para escalarla en 3D. Para que la fuente se vea más detallada de cerca, aumenta font_size mientras disminuyes pixel_size al mismo tiempo.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Establece la prioridad de renderizado del texto. Los objetos de mayor prioridad se ordenarán delante de los objetos de menor prioridad.

Nota: Esto solo se aplica si alpha_cut está establecido en ALPHA_CUT_DISABLED (valor predeterminado).

Nota: Esto solo se aplica a la ordenación de objetos transparentes. Esto no afectará a la forma en que se ordenan los objetos transparentes en relación con los objetos opacos. Esto se debe a que los objetos opacos no se ordenan, mientras que los objetos transparentes se ordenan de atrás hacia adelante (sujeto a prioridad).


bool shaded = false 🔗

Si es true, la Light3D en el Environment tiene efectos sobre la etiqueta.


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 a mostrar en la pantalla.


Direction text_direction = 0 🔗

Dirección base de escritura del texto.


TextureFilter texture_filter = 3 🔗

Filtrar banderas para la textura.


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), usado para el ajuste automático de línea y la alineación de relleno.


Descripciones de Métodos

TriangleMesh generate_triangle_mesh() const 🔗

Devuelve una TriangleMesh con los vértices de la etiqueta siguiendo su configuración actual (como su pixel_size).


bool get_draw_flag(flag: DrawFlags) const 🔗

Devuelve el valor de la flag especificada.


void set_draw_flag(flag: DrawFlags, enabled: bool) 🔗

Si es true, la flag especificado se activará.