Підтримка

Часті запитання

Прямі відповіді про розмір білду, шрифти, атлас гліфів і продуктивність у рантаймі — зібрані з реальних запитань розробників.

Розмір білду та розповсюдження

Чи роздуває UniText розмір мого білду? Що насправді потрапляє в білд?

Розмір збірки залежить від платформи, архітектур, стрипінгу та стиснення. Атласи символів створюються під час роботи. Дані належать шрифтовому асету; вихідні .ttf та .otf потрібні лише редактору. Нативний програвач читає дисковий кеш, WebGL включає дані до збірки.

Чи потрібно мені зберігати й постачати файли .ttf?

Дані належать шрифтовому асету; вихідні .ttf та .otf потрібні лише редактору. Нативний програвач читає дисковий кеш, WebGL включає дані до збірки.

Чи взагалі потрібно імпортувати .ttf у мій проєкт?

Ні. Ви можете створити UniTextFont із .ttf, розташованого будь-де на Вашому диску, через вікно інструмента UniText (діалог вибору файлу читає байти напряму). Імпортувати шрифт у проєкт необов'язково.

Скільки насправді UniText додає до порожнього білду?

Розмір збірки залежить від платформи, архітектур, стрипінгу та стиснення. Атласи символів створюються під час роботи.

Як UniText порівнюється з TextMesh Pro для CJK чи великих шрифтів?

Системні шрифти добираються автоматично. На комп’ютерах і мобільних пристроях файли шрифтів необов’язкові; WebGL використовує призначені шрифти. Нові символи потребують растеризації та завантаження до атласу. Готові символи використовуються повторно до зміни або витіснення з кешу.

Чи можу я динамічно завантажувати шрифти з сервера або CDN?

Так — це на боці розробника, і UniText не заважає. Завантажте байти шрифту власним кодом (UnityWebRequest) і створіть із них UniTextFont у рантаймі через CreateFontAsset(byte[]). Щоб урізати шрифт лише до потрібних Вам символів (субсетинг), скористайтеся інструментом UniText часу збірки. У пакеті немає вбудованого авто-завантажувача з CDN — це навмисно відповідальність проєкту, а не рушія.

Шрифти та системні шрифти

Чи може UniText використовувати системний шрифт ОС? Скільки це коштує в пам'яті та при запуску?

Системні шрифти добираються автоматично. На комп’ютерах і мобільних пристроях файли шрифтів необов’язкові; WebGL використовує призначені шрифти.

Чи підтримує WebGL системні шрифти?

Системні шрифти добираються автоматично. На комп’ютерах і мобільних пристроях файли шрифтів необов’язкові; WebGL використовує призначені шрифти.

Font Memory Mapping

Великі файли шрифтів читаються з диска за потреби, без повної копії в керованій пам’яті. Невикористані шрифти залишаються стисненими. WebGL і вбудовані шрифтові асети редактора зберігають дані в пам’яті. Шрифти з файлів використовують Memory Mapping.

Справжні піксельні шрифти

Чіткі пікселі, автоматичне визначення сітки, ефекти й анімація з прив’язкою до неї. Векторні піксельні та растрові шрифти мають спільну систему стилів. Розміри, кратні Pixel Grid, дають точний збіг пікселів. Snap To Pixel Grid прив’язує також ефекти й анімацію; вимкнення дозволяє субпіксельний рух.

Атлас гліфів — SDF Detail і Tile Size

Що насправді роблять «SDF Detail» і «Tile Size Offset»?

Гліфи живуть у тайлах трьох розмірів — 64, 128, 256 — і розмір обирається за складністю контуру (багато сегментів → 128/256, простий контур → 64). • SDF Detail — це множник для оцінки складності. Підніміть його — і вже нетривіальний гліф з більшою ймовірністю перейде до більшого тайла. (Справді простий контур залишається на 64 — множник впливає лише на гліфи вище порогу.) • Tile Size Offset — це жорсткий крок по драбині розмірів (обрано 64 + зсув 1 → 128; діапазон −2..+2).

На чому з двох варто зосередитися заради продуктивності?

Ні на чому окремо — обидва лише визначають підсумковий розмір тайла, а вартість задається саме цим розміром. Дві комбінації, що дають однаковий розмір тайла, коштують рівно однаково. Прагніть найменшого розміру тайла, який усе ще дає прийнятну якість.

Продуктивність у рантаймі

Коли UniText растеризує гліфи? Чи копіює він пам'ять щокадру?

Нові символи потребують растеризації та завантаження до атласу. Готові символи використовуються повторно до зміни або витіснення з кешу.

Чому виникає короткий фриз, коли одразу з'являється багато нового тексту?

Нові символи потребують растеризації та завантаження до атласу. Готові символи використовуються повторно до зміни або витіснення з кешу.

Я не бачу задачі UniText у Profiler — чи справді працює багатопотоковість?

Core координує обробку тексту перед відмальовуванням. Робочі потоки та Burst розподіляють навантаження; локальні зміни скидають лише відповідні етапи.

Чи шкодить MonoBehaviour.Update() продуктивності? Чи потрібен єдиний UniTextManager?

Core координує обробку тексту перед відмальовуванням. Робочі потоки та Burst розподіляють навантаження; локальні зміни скидають лише відповідні етапи.

Підтримка й обговорення

Discord — основний канал для запитань, допомоги й обговорень. Повідомлення про помилки та пропозиції нових функцій — у публічному трекері задач.

Підтримка й обговорення: [email protected]