Label3D
Наследует: GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Узел для отображения простого текста в 3D-пространстве.
Описание
Узел для отображения обычного текста в 3D-пространстве. Регулируя различные свойства этого узла, вы можете настроить такие вещи, как внешний вид текста и то, всегда ли он обращен к камере.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
BitField[LineBreakFlag] |
|
|
|
||
cast_shadow |
|
|
|
||
|
||
|
||
gi_mode |
|
|
|
||
BitField[JustificationFlag] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
generate_triangle_mesh() const |
|
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 AlphaCutMode: 🔗
AlphaCutMode ALPHA_CUT_DISABLED = 0
Этот режим выполняет стандартное альфа-смешивание. Он может отображать полупрозрачные области, но проблемы с сортировкой прозрачности могут быть видны, когда накладываются несколько прозрачных материалов. GeometryInstance3D.cast_shadow не имеет никакого эффекта при использовании этого режима прозрачности; Label3D никогда не будет отбрасывать тени.
AlphaCutMode ALPHA_CUT_DISCARD = 1
Этот режим допускает только полностью прозрачные или полностью непрозрачные пиксели. Резкие края будут видны, если не включена какая-либо форма сглаживания экранного пространства (см. ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa). Этот режим также известен как альфа-тестирование или 1-битная прозрачность.
Примечание: В этом режиме могут возникнуть проблемы со сглаженными шрифтами и контурами, попробуйте настроить alpha_scissor_threshold или использовать шрифт MSDF.
Примечание: При использовании текста с перекрывающимися глифами (например, курсивные шрифты) в этом режиме могут возникнуть проблемы с сортировкой прозрачности между основным текстом и контуром.
AlphaCutMode ALPHA_CUT_OPAQUE_PREPASS = 2
Этот режим рисует полностью непрозрачные пиксели в предварительном проходе глубины. Это медленнее, чем ALPHA_CUT_DISABLED или ALPHA_CUT_DISCARD, но позволяет отображать полупрозрачные области и сглаживать края при использовании правильной сортировки.
Примечание: При использовании текста с перекрывающимися глифами (например, курсивные шрифты) в этом режиме могут возникнуть проблемы с сортировкой прозрачности между основным текстом и контуром.
AlphaCutMode ALPHA_CUT_HASH = 3
В этом режиме отрисовка отсекает все значения ниже пространственно-детерминированного порога, остальные остаются непрозрачными.
Описания свойств
float alpha_antialiasing_edge = 0.0 🔗
Порог, при котором к альфа-каналу будет применено сглаживание.
AlphaAntiAliasing alpha_antialiasing_mode = 0 🔗
void set_alpha_antialiasing(value: AlphaAntiAliasing)
AlphaAntiAliasing get_alpha_antialiasing()
Тип применяемого альфа-сглаживания.
AlphaCutMode alpha_cut = 0 🔗
void set_alpha_cut_mode(value: AlphaCutMode)
AlphaCutMode get_alpha_cut_mode()
Режим альфа-резки, используемый для спрайта.
float alpha_hash_scale = 1.0 🔗
Масштаб хеширования для Alpha Hash. Рекомендуемые значения между 0 и 2.
float alpha_scissor_threshold = 0.5 🔗
Порог, при котором альфа-ножницы будут отбрасывать значения.
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 🔗
void set_billboard_mode(value: BillboardMode)
BillboardMode get_billboard_mode()
Режим billboard, используемый для метки.
Если true, текст также виден сзади, если false, он невидим, если смотреть на него сзади.
Если true, label отображается при одинаковом размере независимо от расстояния. Размер метки на экране такой же, как если бы камера была 1.0 вдали от происхождения метки, независимо от фактического расстояния от камеры. Поле вида Camera3D (или Camera3D.size, когда в режиме orthogonal/frustum) все еще влияет на размер, на котором нарисована label.
Конфигурация шрифта, используемая для отображения текста.
Размер шрифта текста Label3D-ов. Чтобы шрифт выглядел более детализированным при близком рассмотрении, увеличьте font_size и одновременно уменьшите pixel_size.
Более высокие размеры шрифта требуют больше времени для отрисовки новых символов, что может привести к подтормаживанию во время игры.
HorizontalAlignment horizontal_alignment = 1 🔗
void set_horizontal_alignment(value: HorizontalAlignment)
HorizontalAlignment get_horizontal_alignment()
Управляет горизонтальным выравниванием текста. Поддерживает выравнивание по левому краю, по центру, по правому краю и заполнение (также известное как выравнивание по ширине).
BitField[JustificationFlag] justification_flags = 163 🔗
void set_justification_flags(value: BitField[JustificationFlag])
BitField[JustificationFlag] get_justification_flags()
Правила выравнивания заливки линий.
Код языка, используемый алгоритмами переноса строк и форматирования текста. Если оставить поле пустым, будет использоваться текущая локаль.
Дополнительный вертикальный интервал между строками (в пикселях), интервал добавляется к спуску строки. Это значение может быть отрицательным.
Color modulate = Color(1, 1, 1, 1) 🔗
Текст Color Label3D.
Если true, проверка глубины отключена, и объект будет отрисован в порядке рендеринга.
Vector2 offset = Vector2(0, 0) 🔗
Смещение отрисовки текста (в пикселях).
Color outline_modulate = Color(0, 0, 0, 1) 🔗
Оттенок контура текста.
int outline_render_priority = -1 🔗
Устанавливает приоритет рендеринга для контура текста. Объекты с более высоким приоритетом будут сортироваться перед объектами с более низким приоритетом.
Примечание: Это применимо только в том случае, если alpha_cut установлен на ALPHA_CUT_DISABLED (значение по умолчанию).
Примечание: Это применимо только к сортировке прозрачных объектов. Это не повлияет на то, как прозрачные объекты сортируются относительно непрозрачных объектов. Это связано с тем, что непрозрачные объекты не сортируются, в то время как прозрачные объекты сортируются сзади вперед (в зависимости от приоритета).
Размер обводки текста.
Размер ширины одного пикселя на этикетке для масштабирования в 3D. Чтобы шрифт выглядел более детализированным при приближении, увеличьте font_size и одновременно уменьшите pixel_size.
Устанавливает приоритет рендеринга для текста. Объекты с более высоким приоритетом будут сортироваться перед объектами с более низким приоритетом.
Примечание: Это применимо только в том случае, если alpha_cut установлен на ALPHA_CUT_DISABLED (значение по умолчанию).
Примечание: Это применимо только к сортировке прозрачных объектов. Это не повлияет на то, как прозрачные объекты сортируются относительно непрозрачных объектов. Это связано с тем, что непрозрачные объекты не сортируются, в то время как прозрачные объекты сортируются сзади вперед (в зависимости от приоритета).
Если 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.
Текст для отображения на экране.
Direction text_direction = 0 🔗
Направление написания базового текста.
TextureFilter texture_filter = 3 🔗
void set_texture_filter(value: TextureFilter)
TextureFilter get_texture_filter()
Флаги фильтра для текстуры.
Если true, весь текст отображается в ЗАГЛАВНОМ регистре.
VerticalAlignment vertical_alignment = 1 🔗
void set_vertical_alignment(value: VerticalAlignment)
VerticalAlignment get_vertical_alignment()
Управляет вертикальным выравниванием текста. Поддерживает верх, центр и низ.
Ширина текста (в пикселях), используемая для автоматического переноса и выравнивания заливки.
Описания метода
TriangleMesh generate_triangle_mesh() const 🔗
Возвращает TriangleMesh с вершинами метки, соответствующими ее текущей конфигурации (например, ее pixel_size).
bool get_draw_flag(flag: DrawFlags) const 🔗
Возвращает значение указанного флага.
void set_draw_flag(flag: DrawFlags, enabled: bool) 🔗
Если true, указанный flag будет включен.