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.

Label3D

Eredita: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Un nodo per visualizzare testo semplice nello spazio 3D.

Descrizione

Un nodo per visualizzare testo semplice nello spazio 3D. Regolando varie proprietà di questo nodo, puoi configurare cose come l'aspetto del testo e se è sempre rivolto verso la telecamera.

Tutorial

Proprietà

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

Metodi

TriangleMesh

generate_triangle_mesh() const

bool

get_draw_flag(flag: DrawFlags) const

void

set_draw_flag(flag: DrawFlags, enabled: bool)


Enumerazioni

enum DrawFlags: 🔗

DrawFlags FLAG_SHADED = 0

Se impostato, le luci nell'ambiente influiscono sull'etichetta.

DrawFlags FLAG_DOUBLE_SIDED = 1

Se impostato, il testo può essere visto anche dal retro. Altrimenti, il testo è invisibile guardandolo da dietro.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 2

Disattiva il test di profondità, quindi questo oggetto viene disegnato sopra tutti gli altri. Tuttavia, gli oggetti disegnati dopo di esso nell'ordine di disegno potrebbero coprirlo.

DrawFlags FLAG_FIXED_SIZE = 3

L'etichetta è ridimensionata in base alla profondità in modo che appaia sempre delle stesse dimensioni sullo schermo.

DrawFlags FLAG_MAX = 4

Rappresenta la dimensione dell'enumerazione DrawFlags.


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Questa modalità esegue la fusione alfa standard. Può visualizzare aree traslucide, ma potrebbero essere visibili problemi di ordinamento della trasparenza quando più materiali trasparenti si sovrappongono. GeometryInstance3D.cast_shadow non ha effetto quando si usa questa modalità di trasparenza; Il Label3D non proietterà mai ombre.

AlphaCutMode ALPHA_CUT_DISCARD = 1

Questa modalità consente solo pixel completamente trasparenti o completamente opachi. Saranno visibili bordi netti a meno che non sia abilitata una qualche forma di antialiasing di spazio dello schermo (vedi ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Questa modalità è anche nota come alpha testing o trasparenza a 1 bit.

Nota: Questa modalità potrebbe causare problemi con font e contorni con antialiasing, provare a regolare alpha_scissor_threshold o utilizzare un font MSDF.

Nota: Quando si utilizza testo con glifi sovrapposti (ad esempio, corsivi), questa modalità potrebbe causare problemi di ordinamento della trasparenza tra il testo principale e il contorno.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Questa modalità disegna pixel completamente opachi nel pre-passaggio di profondità. È più lenta di ALPHA_CUT_DISABLED o ALPHA_CUT_DISCARD, ma consente di visualizzare aree traslucide e bordi lisci usando un ordinamento corretto.

Nota: Quando si utilizza testo con glifi sovrapposti (ad esempio, corsivi), questa modalità potrebbe causare problemi di ordinamento della trasparenza tra il testo principale e il contorno.

AlphaCutMode ALPHA_CUT_HASH = 3

Questa modalità taglia tutti i valori al di sotto di una soglia spazialmente deterministica, il resto rimarrà opaco.


Descrizioni delle proprietà

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Soglia alla quale sarà applicato l'antialiasing sul canale alfa.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

Il tipo di antialiasing dell'alfa da applicare.


AlphaCutMode alpha_cut = 0 🔗

La modalità di ritaglio alfa da utilizzare per lo sprite.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

La scala di hashing per l'Alpha Hash. Valori consigliati tra 0 e 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Soglia oltre la quale l'alpha scissor scarterà i valori.


AutowrapMode autowrap_mode = 0 🔗

Se impostato su un valore diverso da TextServer.AUTOWRAP_OFF, il testo è avvolto all'interno del rettangolo di delimitazione del nodo. Se ridimensioni il nodo, cambierà automaticamente la sua altezza per mostrare tutto il testo.


BitField[LineBreakFlag] autowrap_trim_flags = 192 🔗

Flag di troncamento spazi per il ritorno a capo automatico. Vedi TextServer.BREAK_TRIM_START_EDGE_SPACES e TextServer.BREAK_TRIM_END_EDGE_SPACES per ulteriori informazioni.


BillboardMode billboard = 0 🔗

La modalità di billboard da usare per l'etichetta.


bool double_sided = true 🔗

Se true, il testo è visibile anche da dietro, se false, è invisibile guardandolo da dietro.


bool fixed_size = false 🔗

Se true, l'etichetta viene renderizzata con le stesse dimensioni a prescindere dalla distanza. Le dimensioni dell'etichetta sullo schermo sono le stesse che avrebbe se la telecamera fosse a 1.0 unità di distanza dall'origine dell'etichetta, a prescindere dalla distanza effettiva dalla telecamera. Il campo visivo della Camera3D (o Camera3D.size in modalità ortogonale/tronco) influenza comunque le dimensioni dell'etichetta disegnata.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

Configurazione del font utilizzata per visualizzare il testo.


int font_size = 32 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Dimensione del font del testo del Label3D. Per rendere il carattere più dettagliato da vicino, aumenta font_size e diminuisci pixel_size allo stesso tempo.

Dimensioni del font più elevate richiedono più tempo per renderizzare i nuovi caratteri, il che può causare scatti durante il gioco.


HorizontalAlignment horizontal_alignment = 1 🔗

Controlla l'allineamento orizzontale del testo. Supporta sinistra, centro, destra, e riempi (noto anche come giustifica).


BitField[JustificationFlag] justification_flags = 163 🔗

Regole di allineamento del riempimento per le righe.


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()

Spaziatura verticale aggiuntiva tra le righe (in pixel), la spaziatura è aggiunta alla discesa della riga. Questo valore può essere negativo.


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

  • void set_modulate(value: Color)

  • Color get_modulate()

Il Color del testo di Label3D.


bool no_depth_test = false 🔗

Se true, il test di profondità è disabilitato e l'oggetto sarà disegnato in ordine di rendering.


Vector2 offset = Vector2(0, 0) 🔗

Lo scostamento del disegno del testo (in pixel).


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

  • void set_outline_modulate(value: Color)

  • Color get_outline_modulate()

La tinta del contorno del testo.


int outline_render_priority = -1 🔗

  • void set_outline_render_priority(value: int)

  • int get_outline_render_priority()

Imposta la priorità di rendering per il contorno del testo. Gli oggetti con priorità più alta saranno ordinati davanti agli oggetti con priorità più bassa.

Nota: Questo si applica solo se alpha_cut è impostato su ALPHA_CUT_DISABLED (valore predefinito).

Nota: Questo si applica solo all'ordinamento degli oggetti trasparenti. Non avrà alcun impatto sul modo in cui gli oggetti trasparenti sono ordinati rispetto agli oggetti opachi. Questo perché gli oggetti opachi non sono ordinati, mentre gli oggetti trasparenti sono ordinati da dietro in avanti (in base a priorità).


int outline_size = 12 🔗

  • void set_outline_size(value: int)

  • int get_outline_size()

La dimensione del contorno del testo.


float pixel_size = 0.005 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

La dimensione della larghezza di un pixel sull'etichetta per ridimensionarla in 3D. Per far apparire il font più dettagliato da vicino, aumenta font_size e diminuisci pixel_size allo stesso tempo.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Imposta la priorità di rendering per il testo. Gli oggetti con priorità più alta saranno ordinati prima degli oggetti con priorità più bassa.

Nota: Questo si applica solo se alpha_cut è impostato su ALPHA_CUT_DISABLED (valore predefinito).

Nota: Questo si applica solo all'ordinamento degli oggetti trasparenti. Non avrà alcun impatto sul modo in cui gli oggetti trasparenti sono ordinati rispetto agli oggetti opachi. Questo perché gli oggetti opachi non sono ordinati, mentre gli oggetti trasparenti sono ordinati da dietro in avanti (in base alla priorità).


bool shaded = false 🔗

Se true, la Light3D nell'Environment ha effetti sull'etichetta.


StructuredTextParser structured_text_bidi_override = 0 🔗

Imposta la sostituzione dell'algoritmo BiDi per il testo strutturato.


Array structured_text_bidi_override_options = [] 🔗

  • void set_structured_text_bidi_override_options(value: Array)

  • Array get_structured_text_bidi_override_options()

Imposta opzioni aggiuntive per la sostituzione BiDi.


String text = "" 🔗

Il testo da visualizzare sullo schermo.


Direction text_direction = 0 🔗

Direzione di scrittura del testo di base.


TextureFilter texture_filter = 3 🔗

Flag di filtro per la texture.


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

Se true, tutto il testo è visualizzato in MAIUSCOLO.


VerticalAlignment vertical_alignment = 1 🔗

Controlla l'allineamento verticale del testo. Supporta sopra, centro, sotto.


float width = 500.0 🔗

Larghezza del testo (in pixel), utilizzata per l'allineamento automatico e di riempimento.


Descrizioni dei metodi

TriangleMesh generate_triangle_mesh() const 🔗

Restituisce un TriangleMesh con i vertici dell'etichetta che seguono la sua configurazione attuale (ad esempio il suo pixel_size).


bool get_draw_flag(flag: DrawFlags) const 🔗

Restituisce il valore del flag specificato.


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

Se true, il flag specificato verrà abilitato.