Большое апдейт текстового движка UniText

4 мин
Большое апдейт текстового движка UniText

Пару месяцев назад писал про свежий текстовый движок для Unity. Настолько он выглядел амбициозно, что вообще не верилось в его правдивость. На этой неделе подкрался релиз новой версии 2.0. Это уже буквально иной продукт. Судя по гигантскому Changelog, переработано там чуть ли не всё. Одновременно плюшки первой версии остались на месте, стали лучше и их стало ещё больше.

Следил за разработкой на GitHub. Релиз 2.0 оттуда благополучно исчезла, став коммерческой. Релиз 1.0 так и остаётся доступной свободно, под open-source, для любого вида использования.

Версия 2.0 же доступна только покупкой через оф. веб-сайт, либо в AssetStore (либо что успели с Github'а стянуть до релиза, но обновлений тогда уже не будет, а они там требовались).

Для личного использования — цены покусывают. Хотя ассеты подобного масштаба примерно столько и стоят. Для компаний — достаточно выгодно. Скоро ещё действуют скидки в 50%. С их учётом, ассет можно забрать от $25.

Возможно, немножко обидно, но ожидаемо и логично. Как минимум, это легальная возможность задонатить автору за проделанную огромную работу.


Насколько я понял, основной упор не на выдающемся перформансе (по заявленным бенчмаркам он имеется), а на облегчении жизни разработчиков в работе со стилями и шрифтами. И привнесении в Unity всех современных и более удобных стандартов. Как с ECS: решали одно, а случился ещё и приятный буст.

Что-то уже в каком-то виде было и в 1.0, но в общем и целом из того, что могу выделить:

  • Использование HarfBuzz шейпинга, SDF и MSDF для рендеринга, сверху ещё и Burst подключен (на Web не заработает в ПОЛНУЮ силу, но в 6.4 Unity уже добавили поддержку).

  • Полная поддержка RightToLeft шрифтов (арабские и прочие языки). И полная сопровождение BiDi (когда RTL и LTR смешиваются, подробнее — на е) в соответствии со всеми спецификациями Unicode (заявляется 100% прохождение всех тестов). Без лишних велосипедов, просто и нативно.

  • Вместо множества разных атласов шрифтов от TMP, тут один общий динамически контролируемый атлас, который должен работать не только удобнее, но и эффективнее. Это всё ещё успешно компрессируется автоматически, т.е. позволяет сэкономить в билде порядка x2-3 от первоначального объёма на шрифты.

  • Имеется всякий тулинг: от диагностик до выделения подмножеств шрифтов (чтобы не все символы применять и затягивать в билд).

  • Сопровождение Font Family и Variable Fonts. Если с Font Family ещё как-то более менее в TMP жить можно, то желаемые Variable Fonts от артовиков доставляют реальные неудобства.

  • Можно применять Markdown и BBCode или настроить кастомный парсер.

  • Удобная поддержка эмодзей: и ZWJ (комбинации эмодзи), и skin tone, и даже нативные системные эмодзи можно применять, т.е. не включать их в билд непосредственно.

  • Настройки визуала используют систему модификаторов, которая не использует материалы (т.е. всё батчится с разными наборами эффектов). Её можно расширить кастомными модификаторами. Можно собирать переиспользуемые пресеты. Можно модифицировать даже кусочки текста через связанную систему тегов. Добавлен понятный и относительно удобный инспектор. Такого лично мне в 1.0 сильно как раз не хватало.

  • В этой версии также появилась сопровождение текстов для использования в World, вне Canvas, которые также умеют батчиться без лишних телодвижений.

И гора других фичей, которые я ещё не успел попробовать и проверить.


Мои целевые платформы сейчас — это Desktop и Web. На Unity 6.3 всё успешно собирается и работает.

Активных петов у меня нет. В коммерцию ещё не готов это добавлять. Следовательно все проверки пока в тепличных и стерильных условиях. Мелкие баги встречаются до сих пор. Но те, которые обнаруживал ранее, были оперативно исправлены.

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

На уровне использования и преодоления типичных "болей" — выглядит весьма перспективно. Если пользовательский интерфейс Toolkit однажды под себя всё не подомнёт, то шансы у этого однажды попасть в Prod довольно реальные. Пока отложил в личную библиотеку.

Читают сейчас

«Не сетка»: ИИ впервые в истории сам решил центральную проблему геометрии

7 минут назад

«Не сетка»: ИИ впервые в истории сам решил центральную проблему геометрии

OpenAI сообщила, что ее внутренняя схема опровергла гипотезу Эрдёша 1946 года о единичных расстояниях — одну из самых известных задач комбинаторной геометрии. Это первый случай, когда центральная откр

1 час назад

СМИ: «Минпромторг РФ хочет привлечь экспертов ВНИИР к проверке процессоров „Иртыш“ для попадания в реестр»

Издание Cnews сообщило, что Минпромторг РФ потребовал привлечь дополнительных экспертов к проверке новых процессоров «Иртыш» российского разработчика «Трамплин электроникс». По мнению ведомства, испол

GitHub Mobile теперь даёт возможность разрабатывать новые проекты прямо с устройств на iOS и Android

1 час назад

GitHub Mobile теперь даёт возможность разрабатывать новые проекты прямо с устройств на iOS и Android

GitHub Mobile главным образом использовался для просмотра существующих репозиториев. Теперь пользователи мобильного приложения могут создавать новые проекты прямо со своих устройств на iOS и Android.

«Уэбб» обнаружил одну из первых галактик Вселенной

2 часа назад

«Уэбб» обнаружил одну из первых галактик Вселенной

Учёные сумели разглядеть галактику в том виде, в каком она существовала 13 миллиардов лет назад, всего через 800 миллионов лет после Большого взрыва. Они надеются найти свидетельства существования пер

Представлен публике цифровой музей, в котором собраны практически все возможные операционные системы (570 штук)

3 часа назад

Представлен публике цифровой музей, в котором собраны практически все возможные операционные системы (570 штук)

В открытом доступе представлен в интернете инициатива виртуального музея с несколькими сотнями операционных систем, которые когда-либо выходили. Виртуальный археолог собирал эту коллекцию 23 года. Для