Текст в Unity

Текст является одним из наиболее важных компонентов в holographic приложениях. Чтобы отобразить текст в Unity, можно использовать три типа текстовых компонентов: текст пользовательского интерфейса, сетка трехмерного текста и сетка текста Pro. По умолчанию текст пользовательского интерфейса и сетка трехмерного текста отображаются нечеткими и слишком велики. Изменение нескольких переменных приводит к увеличению текста высокого качества с управляемым размером в HoloLens. Вы можете улучшить качество рендеринга, применяя коэффициент масштабирования для получения правильных измерений при использовании компонентов текста пользовательского интерфейса и сетки трехмерного текста.

Как получить яркий и привлекательный текст
Размытый текст по умолчанию в Unity

Работа с трехмерным текстом Unity (сетка текста) и текстом пользовательского интерфейса

Unity предполагает, что все новые элементы, добавленные в сцену, имеют одну единицу Unity в размере или 100% преобразования. Одна единица Unity преобразуется в около 1 счетчика на HoloLens. Для шрифтов ограничивающий прямоугольник для 3D-Текстмеш по умолчанию имеет размер около 1 индикатора высоты.

Работа со шрифтами в Unity
Объемный текст Unity по умолчанию (сетка текста) занимает одну единицу Unity, которая является 1 счетчиком.


Большинство визуальных конструкторов используют точки для определения размеров шрифтов в реальном мире. Имеется около 2835 (2, 834.645666399962) точек в единицах измерения. На основе преобразования системы точек в 1 измеритель и размер шрифта сетки по умолчанию Unity, равный 13, простые математические функции 13 делятся на 2835 равными 0,0046 (0.004586111116), что обеспечивает хороший Стандартный масштаб для начала работы (некоторые могут быть округлены до 0,005). Масштабирование текстового объекта или контейнера до этих значений не только приводит к 1:1 преобразованию размеров шрифта в программе-конструкторе, но также предоставляет стандарт, позволяющий поддерживать согласованность в процессе работы.

Масштабирование значений для трехмерного текста Unity и текста пользовательского интерфейса
Масштабирование значений для трехмерного текста Unity и текста пользовательского интерфейса


Трехмерная сетка Unity с оптимизированными значениями
Трехмерная сетка Unity с оптимизированными значениями


При добавлении элемента текста на основе пользовательского интерфейса или холста в сцену по-прежнему увеличивается размер четности. Разница в двух размерах составляет примерно 1000%, что приведет к увеличению коэффициента масштабирования для текстовых компонентов на основе пользовательского интерфейса в 0,00046 (0.0004586111116) или 0,0005 для округленного значения.

Текст пользовательского интерфейса Unity с оптимизированными значениями
Текст пользовательского интерфейса Unity с оптимизированными значениями


Примечание

Значение по умолчанию любого шрифта может зависеть от размера текстуры этого шрифта или от того, как шрифт был импортирован в Unity. Эти тесты были выполнены на основе шрифта Arial по умолчанию в Unity, а также одного другого импортированного шрифта.

Работа с сеткой текста Pro

используя сетку текста Unity Pro, можно защитить качество отрисовки текста. Он поддерживает четкие текстовые контуры независимо от расстояния с помощью методики поля со знаками на расстоянии со знаком (SDF) . Используя тот же метод вычисления, который мы использовали выше для трехмерной сетки текста и текста пользовательского интерфейса, можно найти правильные значения масштабирования для использования с обычными типографскими точками. так как сетка трехмерного текста по умолчанию Pro шрифт с размером 36, имеет ограничивающий размер 2,5 единиц Unity (2,5 m), для получения размера точки можно использовать значение масштабирования 0,005. сетка текста Pro в меню пользовательского интерфейса имеет ограничивающий размер по умолчанию (25 единиц Unity) (25 м). Это дает нам 0,0005 значение масштабирования.

Масштабирование значений для трехмерного текста и пользовательского интерфейса Unity
Масштабирование значений для трехмерного текста и пользовательского интерфейса Unity

Как можно догадаться, размеры типов, используемые на ПК или планшетном устройстве (обычно от 12 – отступ), выглядят небольшими на расстоянии 2 метра. Это зависит от характеристик каждого шрифта, но в общем случае рекомендуемый минимальный угол просмотра и высота шрифта для читаемости находятся вокруг 0,35 °-0,4 °/12.21-13.97 мм на основе наших исследований исследования пользователей. Это примерно 35-40 пт с коэффициентом масштабирования, представленным выше.

Для близкого взаимодействия в 0,45 м (45 cm) минимальный угол просмотра и высоту шрифта — 0,4 °-0,5 °/3,14 – 3,9 мм. Это примерно 9-12 пт с коэффициентом масштабирования, представленным выше.

Содержимое диапазона практически и дальнего взаимодействия в пределах диапазона практически и дальнего взаимодействия

Минимальный размер неудобочитаемого шрифта

расстояние; Угол просмотра Высота текста Размер шрифта
45 cm (расстояние прямого манипулирования) 0,4 ° — 0,5 ° 3,14 — 3,9 мм 8.9 — 11.13 PT
2 м 0,35 °-0,4 ° 12.21 – 13.97 мм 34.63-39.58 PT

Удобно, чтобы размер шрифта разборчиво

расстояние; Угол просмотра Высота текста Размер шрифта
45 cm (расстояние прямого манипулирования) 0.65 °-0,8 ° 5.1 – 6.3 мм 14.47-17.8 PT
2 м 0,6 °-0,75 ° 20,9-26,2 мм 59.4-74.2 pt

Segoe UI (шрифт по умолчанию для Windows) хорошо работает в большинстве случаев. Однако старайтесь не использовать светло-или светлое семейство шрифтов в небольшом размере, так как тонкие вертикальные штрихи будут вибрировало, и это приведет к ухудшению читаемости. Современные шрифты с достаточной толщиной обводки хорошо работают. например, шрифты Helvetica и Arial выглядят прекрасные и становятся неудобочитаемыми в HoloLens с обычными или полужирными плотностьми.

Просмотр угла просмотра расстояния, угла и высоты текста

текст с смешанной реальности набор средств v2

Качество отрисовки текста с правильным измерением

На основе этих коэффициентов масштабирования мы создали текст Prefabs с текстом пользовательского интерфейса и сеткой трехмерного текста. Разработчики могут использовать эти Prefabs, чтобы получить четкий текст и согласовать размер шрифта.

Качество отрисовки текста с правильным измерением
Качество отрисовки текста с правильным измерением

Шейдер с поддержкой перекрытия

Материал по шрифтам Unity по умолчанию не поддерживает перекрытия. По этой причине текст позади объектов по умолчанию будет отображаться. Мы включили простой шейдер, который поддерживает перекрытия. На рисунке ниже показан текст со стандартным материалом шрифта (слева) и текстом с правильным перекрытия (справа).

Шейдер с поддержкой перекрытия
Шейдер с поддержкой перекрытия

Следующий этап разработки

Если вы пойдете из пути разработки Unity, мы собрались, что вы в состоянии изучить стандартные блоки МРТК Core. Отсюда вы можете перейти к следующему стандартному блоку:

Или перейдите к возможностям и API платформы смешанной реальности:

Вы можете в любой момент вернуться к этапам разработки для Unity.

См. также раздел