Comments 23
А TTF хорошо поддерживается?
NGUI dynamic font + Sci Fi Fonts (http://www.dafont.com/) и будет счастье. Зачем делать лишнюю работу? Я бы не стал использовать битмаповые шрифты по понятным причинам.
Мне эти причины не очень понятны. И причем здесь dynamic font?
Странно, мне тоже не совсем понятно о каких причинах идет речь.
Интересная статья!
Я давно откладываю создание автоматического парсера растровых шрифтов из .fnt (Насколько мне известно, это не официальный, но общепринятый формат описания разметки растровых шрифтов и свойств каждой буквы такого шрифта, как расстояние до идущего следующим символа и прочее). Он представляет растровый шрифт как обычный текстурный атлас, но с доп. параметрами. На windows часто используется программа Bitmap Font для создания таких шрифтов и, соответственно, файла описания .fnt
Мне кажется такой инструмент достаточно востребован и полезен, странно что нет стандартной функции парсинга текстуры из .fnt
Как я понял, в вашем случае разметка и свойства текста все таки забивается вручную?
Я давно откладываю создание автоматического парсера растровых шрифтов из .fnt (Насколько мне известно, это не официальный, но общепринятый формат описания разметки растровых шрифтов и свойств каждой буквы такого шрифта, как расстояние до идущего следующим символа и прочее). Он представляет растровый шрифт как обычный текстурный атлас, но с доп. параметрами. На windows часто используется программа Bitmap Font для создания таких шрифтов и, соответственно, файла описания .fnt
Мне кажется такой инструмент достаточно востребован и полезен, странно что нет стандартной функции парсинга текстуры из .fnt
Как я понял, в вашем случае разметка и свойства текста все таки забивается вручную?
Custom Font предлагает настроить такие параметры как кернинг, межстрочный интервал, межзнаковый интервал (наравне с кернингом?), character padding (непонятно, влияет ли он на что-нибудь), ширину символа и непосредственно координаты для маппинга. Последние два задаются вручную для каждого глифа. То есть, при создании шрифта я действительно забиваю все эти параметры вручную. После того, как всё настроено, шрифт готов и не требуется больше никаких изменений. Согласен с вами, было бы очень удобно автоматизировать этот муторный процесс.
Помимо этих настроек есть еще несколько в компоненте Text Mesh, которые отвечают уже за разметку текста: text anchor, alignment, padding и пр. Этот компонент работает как с растровыми шрифтами, созданными инструментом Custom Font, так и с truetype. Нативная поддержка сторонних растровых шрифтов отсутствует.
Помимо этих настроек есть еще несколько в компоненте Text Mesh, которые отвечают уже за разметку текста: text anchor, alignment, padding и пр. Этот компонент работает как с растровыми шрифтами, созданными инструментом Custom Font, так и с truetype. Нативная поддержка сторонних растровых шрифтов отсутствует.
Вот как раз .fnt формат содержит всю необходимую информацию для создания Custom Font в Unity3D, там даже с избытком (есть параметры типа XAdvance, которых нет в Unity3D)
Даже если просто сделать парсер из .fnt (там обчно XML формат, или простой текстовый с переносом строк), уже будет серьезный «прорыв» :)
Одним из огромных преимуществ TextMesh является то, что (насколько я знаю) сколько бы ни было в нем текста, тратится ровно 1 Draw Call на весь Text Mesh
В общем Вы меня вдохновили, займусь этим в ближайшее время! :)
Кстати насчет растровых шрифтов — я не нашел адекватного способа создавать сами шрифты в Windows. На MacOS есть замечательная программа Glyph Designer, где есть такие настройки как обводка, тени (практически полная аналогия со стилями слоев в Photoshop). На Windows я нашел только Bitmap Font, но там нет таких навороченных плюшек. Однако он может брать готовые картинки отдельных символов и паковать их в атлас шрифта со всем необходимым описанием. Но вот этот процесс закидывания отдельных картинок там тоже муторный и совсем не автоматизирован.
Может вам встречались программы для создания шрифтов с описанием?
Или вы счастливый обладатель мака? :)
Даже если просто сделать парсер из .fnt (там обчно XML формат, или простой текстовый с переносом строк), уже будет серьезный «прорыв» :)
Одним из огромных преимуществ TextMesh является то, что (насколько я знаю) сколько бы ни было в нем текста, тратится ровно 1 Draw Call на весь Text Mesh
В общем Вы меня вдохновили, займусь этим в ближайшее время! :)
Кстати насчет растровых шрифтов — я не нашел адекватного способа создавать сами шрифты в Windows. На MacOS есть замечательная программа Glyph Designer, где есть такие настройки как обводка, тени (практически полная аналогия со стилями слоев в Photoshop). На Windows я нашел только Bitmap Font, но там нет таких навороченных плюшек. Однако он может брать готовые картинки отдельных символов и паковать их в атлас шрифта со всем необходимым описанием. Но вот этот процесс закидывания отдельных картинок там тоже муторный и совсем не автоматизирован.
Может вам встречались программы для создания шрифтов с описанием?
Или вы счастливый обладатель мака? :)
Я только что нашёл удобный инструмент, который очень серьёзно автоматизирует действия по созданию Custom Font! Не знаком с Glyph Designer, но эта утилита вроде бы делает всё тоже весьма неплохо. Ссылка на Unity Asset Store, ссылка на видеообзор.
В общем-то, мой урок после такой находки можно смело не читать.
В общем-то, мой урок после такой находки можно смело не читать.
Рекомендую обратить внимание на NGUI (в котором есть поддержка AngelCode bitmap font) и Glyph Designer, который этот bitmap font делает наиболее качественно. В качестве альтернативы (для Windows, Linux, Mac) можно попробовать Hiero
У статьи высокая разъяснительная ценность. Часто это важнее ссылок на готовые продукты.
На Windows я нашел только Bitmap Font
Оно?
www.angelcode.com/products/bmfont/
Как вариант — делать полноценный TTF-шрифт (могу посоветовать www.high-logic.com/font-editor/fontcreator.html), а потом через bmfont выкидывать в атлас с нужными настройками растеризации.
Да да, он BMFont оказывается называется.
Насчет TTF шрифов — слишком круто, часто нужно просто добавить тени, обводку и прочие рюшечки.
Но посмотреть на FontCreator для ликбеза стоит, спасибо за совет.
Насчет TTF шрифов — слишком круто, часто нужно просто добавить тени, обводку и прочие рюшечки.
Но посмотреть на FontCreator для ликбеза стоит, спасибо за совет.
С кириллицей и прочим юникодом как быть?
Еще нужно убрать галочку «Generate Min Maps» в настройках текстуры, с ней координаты разметки неверные
Sign up to leave a comment.
Custom font в Unity3d