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

Успадковує: PrimitiveMesh < Mesh < Resource < RefCounted < Object

Згенеруйте PrimitiveMesh з тексту.

Опис

Згенерувати PrimitiveMesh з тексту.

TextMesh можна згенерувати лише за використання динамічних шрифтів з векторними гліфовими контурами. Растрові шрифти (включаючи растрові дані в контейнерах TrueType/OpenType, такі як кольорові шрифти емодзі) не підтримуються.

UV-макет розташовано у вигляді 4 горизонтальних смуг, зверху вниз: 40% висоти для передньої грані, 40% для задньої грані, 10% для зовнішніх країв та 10% для внутрішніх країв.

Посібники

Властивості

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


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

AutowrapMode autowrap_mode = 0 🔗

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


float curve_step = 0.5 🔗

  • void set_curve_step(value: float)

  • float get_curve_step()

Крок (у пікселях), що використовується для апроксимації кривих Безьє. Нижчі значення призводять до більш плавних кривих, але їх генерація та рендеринг повільніші. Розгляньте можливість налаштування цього кроку відповідно до розміру шрифту та типової відстані перегляду.

Примітка: Зміна цієї властивості призведе до регенерації сітки, що є повільною операцією, особливо з великими розмірами шрифтів та довгими текстами.


float depth = 0.05 🔗

Глибина сітки, якщо встановити на 0.0 генерується тільки лицьова поверхня, а УФ-верстка змінюється для використання повної текстури для лицьового обличчя тільки.


Font font 🔗

  • void set_font(value: Font)

  • Font get_font()

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


int font_size = 16 🔗

  • void set_font_size(value: int)

  • int get_font_size()

Розмір шрифту тексту TextMesh. Ця властивість працює разом із властивістю pixel_size. Вищі значення призведуть до детальнішого шрифту, незалежно від curve_step та pixel_size. Для кращої продуктивності рекомендується залишати це значення нижче 63 (включно), а для збільшення тексту слід коригувати pixel_size за потреби.

Примітка: Зміна цієї властивості призведе до регенерації сітки, що є повільною операцією, особливо з великими розмірами шрифтів та довгими текстами. Щоб ефективно змінювати розмір тексту в режимі реального часу, змініть замість цього властивість Node3D.scale вузла.


HorizontalAlignment horizontal_alignment = 1 🔗

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


BitField[JustificationFlag] justification_flags = 163 🔗

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


String language = "" 🔗

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


float line_spacing = 0.0 🔗

  • void set_line_spacing(value: float)

  • float get_line_spacing()

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


Vector2 offset = Vector2(0, 0) 🔗

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

Примітка: Зміна цієї властивості призведе до регенерації сітки, що є повільною операцією. Щоб ефективно змінювати положення тексту в режимі реального часу, змініть замість цього вузол Node3D.position.


float pixel_size = 0.01 🔗

  • void set_pixel_size(value: float)

  • float get_pixel_size()

Розмір ширини одного пікселя тексту для масштабування у 3D. Ця властивість працює разом із font_size.

Примітка: Зміна цієї властивості призведе до регенерації сітки, що є повільною операцією, особливо з великими розмірами шрифтів та довгими текстами. Щоб ефективно змінювати розмір тексту в режимі реального часу, змініть замість цього вузол Node3D.scale.


StructuredTextParser structured_text_bidi_override = 0 🔗

Настроювання алгоритму 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 = "" 🔗

Текст для створення сітки.

Примітка: Оскільки це Resource, він не відповідає правилам Node.auto_translate_mode. Якщо потрібно вимкнути переклад, це слід зробити вручну за допомогою методу Object.set_message_translation().


Direction text_direction = 0 🔗

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


bool uppercase = false 🔗

  • void set_uppercase(value: bool)

  • bool is_uppercase()

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


VerticalAlignment vertical_alignment = 1 🔗

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


float width = 500.0 🔗

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