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

Hérite de : GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Un nœud utilisé pour afficher du texte brut dans un espace 3D.

Description

Un nœud utilisé pour afficher du texte brut dans un espace 3D. En ajustant différentes propriétés de ce nœud, vous pouvez configurer des choses comme l'apparence du texte et s'il fait toujours face à la caméra.

Tutoriels

Propriétés

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éthodes

TriangleMesh

generate_triangle_mesh() const

bool

get_draw_flag(flag: DrawFlags) const

void

set_draw_flag(flag: DrawFlags, enabled: bool)


Énumérations

enum DrawFlags: 🔗

DrawFlags FLAG_SHADED = 0

Si défini, les lumières dans l’environnement affectent l'étiquette.

DrawFlags FLAG_DOUBLE_SIDED = 1

Si défini, le texte sera aussi visible de derrière. Sinon, le texte sera invisible en regardant par derrière.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 2

Désactive le test de profondeur, de sorte que cet objet sera dessiné devant tous les autres. Cependant, les objets dessinés après lui dans l'ordre d'affichage peuvent être devant.

DrawFlags FLAG_FIXED_SIZE = 3

L'étiquette est mise à l'échelle suivant la distance pour qu'elle apparaisse toujours à la même taille à l'écran.

DrawFlags FLAG_MAX = 4

Représente la taille de l'énumération DrawFlags.


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Ce mode réalise un mélange alpha standard. Il peut afficher des zones translucides, mais des problèmes de tri de la transparence peuvent être visibles lorsque plusieurs matériaux transparents se chevauchent. GeometryInstance3D.cast_shadow n'a aucun effet lorsque ce mode de transparence est utilisé, le Label3D ne projettera jamais d'ombres.

AlphaCutMode ALPHA_CUT_DISCARD = 1

This mode only allows fully transparent or fully opaque pixels. Harsh edges will be visible unless some form of screen-space antialiasing is enabled (see ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). This mode is also known as alpha testing or 1-bit transparency.

Note: This mode might have issues with anti-aliased fonts and outlines, try adjusting alpha_scissor_threshold or using MSDF font.

Note: When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Ce mode dessine des pixels entièrement opaques lors de la pré-passe de profondeur. Ceci est plus lent que ALPHA_CUT_DISABLED ou ALPHA_CUT_DISCARD, mais ça permet d'afficher des zones translucides et des bords lisses tout en utilisant le tri approprié.

Note : Lors de l'utilisation de texte avec des caractères superposés (par exemple des cursives), ce mode pourrait avoir des problèmes de tri de la transparence entre le texte principal et le contour.

AlphaCutMode ALPHA_CUT_HASH = 3

Ce mode coupe toutes les valeurs en dessous d'un seuil dépendant de la position, le reste restera opaque.


Descriptions des propriétés

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Le seuil à partir duquel l'anticrénalage sera appliqué sur le canal alpha.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

Le type d’anticrénelage alpha à appliquer.


AlphaCutMode alpha_cut = 0 🔗

The alpha cutting mode to use for the sprite.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

L'échelle de hachage pour Alpha Hash. Valeurs recommandées entre 0 et 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Le seuil à partir duquel le ciseau alpha ignorera les valeurs.


AutowrapMode autowrap_mode = 0 🔗

Si défini à quelque chose d'autre que TextServer.AUTOWRAP_OFF, le texte retourne automatiquement à la ligne dans le rectangle délimitant du nœud. Si vous redimensionnez le nœud, il va changer sa hauteur automatiquement pour afficher tout le texte.


BitField[LineBreakFlag] autowrap_trim_flags = 192 🔗

Drapeaux de trimming des espaces en autowrap. Voir TextServer.BREAK_TRIM_START_EDGE_SPACES et TextServer.BREAK_TRIM_END_EDGE_SPACES pour plus d'informations.


BillboardMode billboard = 0 🔗

Le mode de billboard à utiliser pour l'étiquette.


bool double_sided = true 🔗

Si true, le texte peut aussi être vu de derrière, si false, il est invisible quand on le regarde de derrière.


bool fixed_size = false 🔗

Si true, l'étiquette est rendue à la même taille indépendamment de la distance. La taille de l'étiquette à l'écran est la même que si la caméra était à 1.0 unité de l'origine de l'étiquette, peu importe la distance réelle de la caméra. Le champ de vision de la Camera3D (ou Camera3D.size en mode orthogonal/frustum) affecte toujours la taille à laquelle l'étiquette est dessinée.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

Configuration de la police utilisée pour afficher le texte.


int font_size = 32 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Taille de police du texte du Label3D. Pour rendre la police plus détaillée de près, augmentez font_size tout en diminuant pixel_size en même temps.

Les tailles de police plus élevées nécessitent plus de temps pour rendre de nouveaux caractères, ce qui peut causer du stuttering pendant le gameplay.


HorizontalAlignment horizontal_alignment = 1 🔗

Contrôle l'alignement horizontal du texte. Supporte à gauche, au centre, à droite, ou remplir (aussi connu comme justifié).


BitField[JustificationFlag] justification_flags = 163 🔗

Règles d'alignement du remplissage des lignes.


String language = "" 🔗

Code de langue utilisé pour les algorithmes de retour à la ligne et de "text shaping". Si laissé vide, la langue actuelle est utilisée à la place.


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

Espacement vertical supplémentaire entre les lignes (en pixels), l'espacement est ajouté à la descente de la ligne. Cette valeur peut être négative.


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

  • void set_modulate(value: Color)

  • Color get_modulate()

La Color du texte du Label3D.


bool no_depth_test = false 🔗

Si true, les tests de profondeur sont désactivés et l'objet sera dessiné suivant son ordre de rendu et non suivant sa distance.


Vector2 offset = Vector2(0, 0) 🔗

Le décalage du dessin du texte (en pixels).


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

  • void set_outline_modulate(value: Color)

  • Color get_outline_modulate()

La teinte du contour du texte.


int outline_render_priority = -1 🔗

  • void set_outline_render_priority(value: int)

  • int get_outline_render_priority()

Définit la priorité de rendu pour la bordure du texte. Les objets les plus prioritaires seront affichés par-dessus des objets les moins prioritaires.

Note : Cela ne s'applique que si alpha_cut est défini à ALPHA_CUT_DISABLED (c'est la valeur par défaut).

Note : Cela ne s'applique qu'au tri des objets transparents. Cela n'affectera pas la façon dont les objets transparents sont triés par rapport aux objets opaques. C'est parce que les objets opaques ne sont pas triés, alors que les objets transparents sont triés de l'arrière vers l'avant (et suivant leur priorité).


int outline_size = 12 🔗

  • void set_outline_size(value: int)

  • int get_outline_size()

Taille du contour du texte.


float pixel_size = 0.005 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

La taille de la largeur d'un pixel sur l'étiquette pour la redimensionner en 3D. Pour rendre la police plus détaillée de près, augmentez font_size tout en diminuant pixel_size en même temps.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Définit la priorité de rendu pour le texte. Les objets les plus prioritaires seront affichés par-dessus des objets les moins prioritaires.

Note : Cela ne s'applique que si alpha_cut est défini à ALPHA_CUT_DISABLED (c'est la valeur par défaut).

Note : Cela ne s'applique qu'au tri des objets transparents. Cela n'affectera pas la façon dont les objets transparents sont triés par rapport aux objets opaques. C'est parce que les objets opaques ne sont pas triés, alors que les objets transparents sont triés de l'arrière vers l'avant (et suivant leur priorité).


bool shaded = false 🔗

Si true, la Light3D dans l'Environment a des effets sur l'étiquette.


StructuredTextParser structured_text_bidi_override = 0 🔗

Définit la redéfinition de l'algorithme BiDi pour le texte structuré.


Array structured_text_bidi_override_options = [] 🔗

  • void set_structured_text_bidi_override_options(value: Array)

  • Array get_structured_text_bidi_override_options()

Définit des options supplémentaires pour la redéfinition BiDi.


String text = "" 🔗

Le texte à afficher à l'écran.


Direction text_direction = 0 🔗

Direction d'écriture du texte de base.


TextureFilter texture_filter = 3 🔗

Drapeaux de filtrage pour la texture.


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

Si true, tous les textes seront en MAJUSCULE.


VerticalAlignment vertical_alignment = 1 🔗

Contrôle l'alignement vertical du texte. Supporte en haut, au centre, et en bas.


float width = 500.0 🔗

La largeur de texte (en pixels), utilisée pour les retours à la ligne et l'alignement de remplissage.


Descriptions des méthodes

TriangleMesh generate_triangle_mesh() const 🔗

Renvoie un TriangleMesh avec les sommets de l'étiquette suivant sa configuration actuelle (comme pixel_size).


bool get_draw_flag(flag: DrawFlags) const 🔗

Renvoie la valeur de l'option donnée.


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

Si true, le drapeau flag spécifié sera activé.