Начало работы с текстом
UI Toolkit использует TextCore для отображения текста, технологию, основанную на TextMesh Pro. TextCore позволяет продвинутые возможности стилизации и может отображать текст четко при различных размерах точек и разрешениях. Он использует преимущества Поле знаковых расстояний (SDF) шрифта отображения, который может генерировать шрифт ассеты, которые выглядят резкими даже при преобразовании и увеличении.
В этом примере показано, как оформлять текст в UI Builder, создавать и применять статические и динамические шрифтовые ассеты, использовать теги форматированного текста и собственные таблицы стилей, а также создавать ассет UITK Text Settings для управления настройками текста на панели.
Примечание: Для демонстрационных целей в этом руководстве используется режим выполнения UI. Инструкции по созданию шрифта и таблицы стилей также применимы к Редактору UI. Однако в текущем выпуске нельзя изменить текстовые настройки по умолчанию UITK для Редактора UI.
Предварительные условия
Это руководство предназначено для разработчиков, знакомых со скриптами Unity Editor, UI Toolkit и C#. Перед началом работы ознакомьтесь со следующим:
Создание ассета UITK Текстовые настройки
Начните с исполнения UI и создайте ресурс UITK Text Settings, который управляет текстовыми параметрами панели. Также создайте папку Resources и подпапки для хранения ресурсов шрифта и пользовательских таблиц стилей.
- Следуйте шагам в Начало работы с Runtime UI для создания простой среды выполнения UI.
- В папке
Assetsсоздайте папкуResources. - Щелкните правой кнопкой мыши в папке
Assets\UI Toolkitи выберите Создать > UI Toolkit > Текстовые настройки для созданияUITK Text Settings.asset. В окне Inspector дляUITK Text Settings.assetпоказаны имена путей по умолчанию для ассета шрифта, ассета таблиц стилей текста, ассета Sprite и предустановок Градиента цвета. - В папке
Resourcesсоздайте две папкиFonts & MaterialsиText Style Sheets.
Стиль текста с UI Builder
Используйте UI Builder для стилизации текста Toggle жирным и курсивом, с размером шрифта 12px. Дополнительные сведения см. в Стиль текста с USS.
- Дважды щелкните
SimpleRuntimeUi.uxml, чтобы открыть его в UI Builder. - В окне Inspector для управления Toggle выберите Текст.
- В поле Font Style выберите B и I.
- В поле Размер введите 12.
Создание статического шрифтового ассета
Создать static font asset и примените его к элементу Button. Для статического шрифтового ассета включать исходный файл шрифта в сборку не нужно, но необходимо сформировать атлас для всех символов отображаемого текста кнопки. Отображаемый текст — This is a Button и вы добавите * в тексте, так что вы генерируете атлас для TBhinostua*.
Скачать пакет шрифтов Lato из Google Fonts.
Распакуйте файл пакета шрифтов и поместите
Lato-Regula.ttfв папкуAssetsвашего проекта.-
В окне Inspector для файла шрифта подтвердите следующее:
- Включить данные шрифтов включено.
- Символ установлен на Динамический.
В окне Project щелкните правой кнопкой мыши
Lato-Regula.ttfи выберите Создать > Текстовое ядро > Шрифтовый ресурс > SDF. Это создаст динамический шрифтовый ресурс под названиемLato-Regula SDF.asset.В окне Inspector для
Lato-Regula SDF.assetустановите Atlas Population Mode на Статическое.Нажмите Обновить текстуру Атласа.
В течение Создатель ассетов шрифтов окно, из Набор символов список, выбрать Пользовательские символы.
В течение Список пользовательских символов поле, введите
TBhinostua*.Нажмите Создать Атлас Шрифтов.
Сохраните изменения.
Поместите
Lato-Regula SDF.assetв папкуAssets\Resources\Fonts & Materials.Дважды щелкните
SimpleRuntimeUi.uxml, чтобы открыть его в UI Builder.В окне Inspector для управления Button выберите Текст > Font Asset > Lato-Regula SDF.
Создание ассета динамического шрифта
Создать динамический шрифт и применять его к TextField control. Для ассета динамического шрифта необходимо включить исходный файл шрифта в сборку. Импортируйте исходный файл шрифта непосредственно в путь, установленный для шрифта.
Скачать пакет шрифтов Roboto из Google Fonts.
Распакуйте файл пакета шрифтов и поместите
Roboto-Regular.ttfв папкуAssets\Resources\Fonts & Materialsвашего проекта.-
В окне Inspector для файла шрифта подтвердите следующее:
- Включить данные шрифта включено
- Символ установлен на Динамический
Щелкните правой кнопкой мыши
Roboto-Regular.ttfи выберите Создать > Текстовое ядро > Шрифтовый ресурс > SDF. Это создает динамический шрифтовый ресурс под названиемRoboto-Regular SDF.asset.Дважды щелкните
SimpleRuntimeUi.uxml, чтобы открыть его в UI Builder.В течение TextField контроля Inspector окно, выбрать Текст > Шрифт > Робото-Регуляр SDF.
Стиль с богатыми текстовыми тегами
Используйте теги rich text и для стилизации текста в управлении Метка.
Примечание: В текущем выпуске, богатые текстовые теги не поддерживаются для TextField.
- Дважды щелкните
SimpleRuntimeUi.uxml, чтобы открыть его в UI Builder. - В панели Inspector для элемента управления Метка измените Текст на
This is a <font-weight=700><size=2em><color=#FF0000>*Label*</color></size></font-weight>. Это сделает словоLabelбольшим, красным, жирным и с звездочкой по обе стороны. - Убедитесь, что выбрана опция Enable Rich Text.
Текст метки в окне Viewport выглядит следующим образом:
Стиль с таблицами стилей
Чтобы применить один и тот же стиль для Label до Button, создать пользовательские таблицы стилей, и применить стиль к обоим словам.
Щелкните правой кнопкой мыши папку
Assets\Resources\Text Style Sheetsи выберите Создать > Текстовое Ядро > Текст StyleSheet. Это создастText StyleSheet.assetв пути, который вы установили в ассете UITK Текстовые Настройки.-
В окне Inspector для
Text StyleSheet.assetвыполните следующие действия:- В поле Имявведите
ExampleStyle. - В Открывающие меткивведите
<font-weight=700><size=2em><color=#FF0000>*. - В Закрывающие меткивведите
*</color></size></font-weight>.
- В поле Имявведите
В окне Inspector для
UITK Text Settings.assetиз списка Таблица стилей по умолчанию выберите Текст StyleSheet.Дважды щелкните
SimpleRuntimeUi.uxml, чтобы открыть его в UI Builder.В окне Inspector управления Метка измените Текст на
<s>This is a <style="ExampleStyle">Label</style>.Убедитесь, что выбрана опция Enable Rich Text.
В окне Inspector управления Кнопка измените Текст на
<s>This is a <style="ExampleStyle">Button</style>.Убедитесь, что выбрана опция Enable Rich Text.
Перейти в режим воспроизведения и проверить текст в runtime UI.
В текстовом поле введите несколько произвольных символов. Для динамических шрифтов атлас шрифтов генерируется динамически по мере ввода текста в текстовое поле.
В папке проекта
Assets\Resources\Fonts & MaterialsвыберитеRoboto-Regular SDF.asset.В окне Inspector для
Roboto-Regular SDF.assetвыберите Обновить текстуру атласа, чтобы открыть окно Создатель шрифта. Если окно атласа скрыто, разверните его. Вы должны увидеть символы, которые вы ввели в окне атласа.