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

Успадковує: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

Вузлом для відображення звичайного тексту в просторі 3D.

Опис

Вузлом для відображення звичайного тексту в просторі 3D. Налаштуйте різні властивості цього вузла, ви можете налаштувати такі речі, як зовнішній вигляд тексту і чи завжди він стикається з камерою.

Посібники

Властивості

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

Методи

TriangleMesh

generate_triangle_mesh() const

bool

get_draw_flag(flag: DrawFlags) const

void

set_draw_flag(flag: DrawFlags, enabled: bool)


Переліки

enum DrawFlags: 🔗

DrawFlags FLAG_SHADED = 0

Якщо встановити, вогні в середовищі впливають на етикетку.

DrawFlags FLAG_DOUBLE_SIDED = 1

Якщо встановити, текст можна побачити з спини. Якщо ні, то текст невидимий при його пошуку ззаду.

DrawFlags FLAG_DISABLE_DEPTH_TEST = 2

Вимкнено глибинний тест, тому цей об'єкт намальовується на вершині всіх інших. Однак об'єкти, що намальовані після нього в порядку фіксування, можуть закривати його.

DrawFlags FLAG_FIXED_SIZE = 3

Етикетка масштабується глибиною, щоб він завжди виглядав на екрані.

DrawFlags FLAG_MAX = 4

Представляємо розмір DrawFlags enum.


enum AlphaCutMode: 🔗

AlphaCutMode ALPHA_CUT_DISABLED = 0

Цей режим виконує стандартну альфа-змішування. Це може відображати непрозорі зони, але проблеми, які відповідають прозорості, можуть бути видимими, коли багато прозорих матеріалів перекриття. GeometryInstance3D.cast_shadow не має ефекту, коли використовується цей режим прозорості; Label3D ніколи не буде лити тіні.

AlphaCutMode ALPHA_CUT_DISCARD = 1

Цей режим дозволяє повністю прозорі або повністю прозорі пікселів. Збережені краю будуть видимі, якщо ввімкнено деяку форму антиалюзування екрана (див. ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Цей режим також відомий як alpha test або 1-bit прозорості.

Примітка: Цей режим може мати питання з антиалюзованими шрифтами та контурами, намагатися налаштування alpha_scissor_threshold або за допомогою MSDF шрифту.

Примітка: При використанні тексту з перекриттям glyphs (наприклад, cursive scripts), цей режим може мати питання, що стосуються прозорості між основним текстом та контуром.

AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2

Цей режим малює повністю опалювальні пікселів на глибину проходу. Це повільніше, ніж ALPHA_CUT_DISABLED або ALPHA_CUT_DISCARD, але це дозволяє відображати непрозорі ділянки і гладкі краї при використанні належного сортування.

Примітка: При використанні тексту з перекриттям glyphs (наприклад, cursive scripts), цей режим може мати питання, що стосуються прозорості між основним текстом та контуром.

AlphaCutMode ALPHA_CUT_HASH = 3

Цей режим відбиває всі значення нижче просторово-детермінаційного порогу, решта залишиться непрозорим.


Описи властивостей

float alpha_antialiasing_edge = 0.0 🔗

  • void set_alpha_antialiasing_edge(value: float)

  • float get_alpha_antialiasing_edge()

Порогове значення, при якому згладжування буде застосовано до альфа-каналу.


AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗

Тип альфа-згладжування, який слід застосувати.


AlphaCutMode alpha_cut = 0 🔗

Режим альфа-вирізання, який буде використано для спрайта.


float alpha_hash_scale = 1.0 🔗

  • void set_alpha_hash_scale(value: float)

  • float get_alpha_hash_scale()

Шкала хешування для Alpha Hash. Рекомендовані значення від 0 до 2.


float alpha_scissor_threshold = 0.5 🔗

  • void set_alpha_scissor_threshold(value: float)

  • float get_alpha_scissor_threshold()

Пороги, в яких аспор альфа буде відхиляти значення.


AutowrapMode autowrap_mode = 0 🔗

  • void set_autowrap_mode(value: AutowrapMode)

  • AutowrapMode get_autowrap_mode()

Якщо встановлено значення, відмінне від TextServer.AUTOWRAP_OFF, текст обтікається всередині прямокутника, що обмежує вузол. Якщо змінити розмір вузла, його висота автоматично зміниться, щоб відобразити весь текст.


BitField[LineBreakFlag] autowrap_trim_flags = 192 🔗

  • void set_autowrap_trim_flags(value: BitField[LineBreakFlag])

  • BitField[LineBreakFlag] get_autowrap_trim_flags()

Прапорці обрізання пробілів при автоматичному перенесенні. Див. TextServer.BREAK_TRIM_START_EDGE_SPACES та TextServer.BREAK_TRIM_END_EDGE_SPACES для отримання додаткової інформації.


BillboardMode billboard = 0 🔗

Режим рекламного щита, який буде використано для етикетки.


bool double_sided = true 🔗

Якщо true, текст можна побачити з спини, якщо false, він невидимий при перегляді його ззаду.


bool fixed_size = false 🔗

Якщо значення true, мітка відображається з однаковим розміром незалежно від відстані. Розмір мітки на екрані такий самий, як якби камера знаходилася на відстані 1.0 одиниць від початку координат мітки, незалежно від фактичної відстані від камери. Поле зору Camera3D (або Camera3D.size в ортогональному/усіченому режимі) все ще впливає на розмір, з яким малюється мітка.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

Налаштування шрифту, що використовується для відображення тексту.


int font_size = 32 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Розмір шрифту тексту Label3D. Щоб зробити шрифт більш детальним, коли закрийте, збільшуйте font_size при зменшенні pixel_size одночасно.

Більші розміри шрифтів вимагають більшого часу, щоб надати нові символи, які можуть викликати затирання під час гри.


HorizontalAlignment horizontal_alignment = 1 🔗

Керує горизонтальним вирівнюванням тексту. Підтримує вирівнювання по лівому краю, по центру, по правому краю та заповнення (також відоме як вирівнювання по ширині).


BitField[JustificationFlag] justification_flags = 163 🔗

  • void set_justification_flags(value: BitField[JustificationFlag])

  • BitField[JustificationFlag] get_justification_flags()

Правила вирівнювання заповнення рядків.


String language = "" 🔗

  • void set_language(value: String)

  • String get_language()

Код мови, що використовується для алгоритмів розриву рядків та формування тексту. Якщо залишити поле порожнім, використовується поточна локалізація.


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

Додатковий вертикальний інтервал між рядками (у пікселях), інтервал додається до рядкового спуску. Це значення може бути негативним.


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

  • void set_modulate(value: Color)

  • Color get_modulate()

Текст Color Label3D.


bool no_depth_test = false 🔗

Якщо true, тестування глибини вимкнено, а об’єкт буде намальовано в порядку візуалізації.


Vector2 offset = Vector2(0, 0) 🔗

  • void set_offset(value: Vector2)

  • Vector2 get_offset()

Зняття тексту (в пікселях).


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

  • void set_outline_modulate(value: Color)

  • Color get_outline_modulate()

Вміст текстового контуру.


int outline_render_priority = -1 🔗

  • void set_outline_render_priority(value: int)

  • int get_outline_render_priority()

Встановлює пріоритет рендерингу для текстового контуру. Більші пріоритетні об'єкти будуть відсортовані перед нижніми пріоритетними об'єктами.

Примітка: Це тільки стосується, якщо alpha_cut встановлюється на ALPHA_CUT_DISABLED (за замовчуванням значення).

Примітка: Це стосується сортування прозорих об'єктів. Це не вплине на те, що прозорі предмети сортуються відносно непрозорих об'єктів. Це тому, що об'єкти не відсортовані, при цьому прозорі об'єкти відсортовані від спини до фронту (до пріоритету).


int outline_size = 12 🔗

  • void set_outline_size(value: int)

  • int get_outline_size()

Розмір контуру тексту.


float pixel_size = 0.005 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

Розмір ширини одного пікселя на етикетці для масштабування у 3D. Щоб шрифт виглядав детальнішим зблизька, збільште font_size та одночасно зменште pixel_size.


int render_priority = 0 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Встановлює пріоритет рендерингу для тексту. Більші пріоритетні об'єкти будуть відсортовані перед нижніми пріоритетними об'єктами.

Примітка: Це тільки стосується, якщо alpha_cut встановлюється на ALPHA_CUT_DISABLED (за замовчуванням значення).

Примітка: Це стосується сортування прозорих об'єктів. Це не вплине на те, що прозорі предмети сортуються відносно непрозорих об'єктів. Це тому, що об'єкти не відсортовані, при цьому прозорі об'єкти відсортовані від спини до фронту (до пріоритету).


bool shaded = false 🔗

Якщо true, то Light3D в Environment має вплив на етикетку.


StructuredTextParser structured_text_bidi_override = 0 🔗

  • void set_structured_text_bidi_override(value: StructuredTextParser)

  • StructuredTextParser get_structured_text_bidi_override()

Настроювання алгоритму BiDi для структурованого тексту.


Array structured_text_bidi_override_options = [] 🔗

  • void set_structured_text_bidi_override_options(value: Array)

  • Array get_structured_text_bidi_override_options()

Налаштуйте додаткові параметри для перенади BiDi.


String text = "" 🔗

  • void set_text(value: String)

  • String get_text()

Текст відображення на екрані.


Direction text_direction = 0 🔗

  • void set_text_direction(value: Direction)

  • Direction get_text_direction()

Основний напрямок написання тексту.


TextureFilter texture_filter = 3 🔗

Фільтруйте прапорці для текстури.


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

Якщо true, всі текстові дисплеї як UPPERCASE.


VerticalAlignment vertical_alignment = 1 🔗

Керує вертикальним вирівнюванням тексту. Підтримує вирівнювання по верху, по центру та знизу.


float width = 500.0 🔗

Ширина тексту (в пікселях), що використовується для автоматичного розриву та вирівнювання заповнення.


Описи методів

TriangleMesh generate_triangle_mesh() const 🔗

Повертаємо TriangleMesh з вершинами етикетки, які слідують за поточною конфігурацією (наприклад, її пам'ятний піксель_розмір).


bool get_draw_flag(flag: DrawFlags) const 🔗

Повертає значення вказаного прапора.


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

Якщо значення true, то вказаний flag буде ввімкнено.