Podpora

Často kladené otázky

Přímé odpovědi na otázky ohledně velikosti buildu, písem, glyfového atlasu a výkonu za běhu — vydestilované ze skutečných dotazů vývojářů.

Velikost buildu a distribuce

Nafoukne UniText velikost mého buildu? Co vlastně skončí v buildu?

Velikost závisí na platformě, architekturách, odstraňování nepoužitého kódu a kompresi. Atlasy glyfů vznikají za běhu. Assety písem obsahují vlastní data; původní .ttf a .otf slouží jen editoru. Nativní aplikace čtou diskovou mezipaměť, WebGL vkládá data do sestavení.

Musím si ponechat a dodávat soubory .ttf?

Assety písem obsahují vlastní data; původní .ttf a .otf slouží jen editoru. Nativní aplikace čtou diskovou mezipaměť, WebGL vkládá data do sestavení.

Musím vůbec soubor .ttf importovat do svého projektu?

Ne. UniTextFont můžete sestavit ze souboru .ttf umístěného kdekoli na disku přes okno nástroje UniText (dialog souboru čte bajty přímo). Import písma do projektu je nepovinný.

Kolik toho UniText vlastně přidá k prázdnému buildu?

Velikost závisí na platformě, architekturách, odstraňování nepoužitého kódu a kompresi. Atlasy glyfů vznikají za běhu.

Jak si UniText stojí ve srovnání s TextMesh Pro u CJK nebo velkých písem?

Systémová písma se vybírají automaticky. Vlastní soubory jsou na počítačích a mobilech volitelné; WebGL používá přiřazená písma. Nové glyfy vyžadují rasterizaci a přenos. Glyfy v mezipaměti se používají až do zneplatnění nebo odstranění.

Mohu načítat písma dynamicky ze serveru nebo CDN?

Ano — to je na straně vývojáře a UniText v tom nebrání. Bajty písma stáhněte vlastním kódem (UnityWebRequest) a za běhu z nich sestavte UniTextFont přes CreateFontAsset(byte[]). Chcete-li písmo osekat jen na znaky, které potřebujete (subsetting), použijte nástroj UniText pro build-time. V balíčku není žádný vestavěný automatický načítač z CDN — to je záměrně odpovědnost projektu, ne enginu.

Písma a systémová písma

Může UniText používat systémové písmo OS? Kolik to stojí v paměti a při startu?

Systémová písma se vybírají automaticky. Vlastní soubory jsou na počítačích a mobilech volitelné; WebGL používá přiřazená písma.

Podporuje WebGL systémová písma?

Systémová písma se vybírají automaticky. Vlastní soubory jsou na počítačích a mobilech volitelné; WebGL používá přiřazená písma.

Font Memory Mapping

Velké soubory písem se čtou z disku podle potřeby bez úplné kopie ve spravované paměti. Nepoužitá písma zůstávají komprimovaná. WebGL a vložená písma editoru používají data v paměti. Písma ze souborů využívají mapování paměti.

Skutečná pixelová písma

Ostré pixely, automatická detekce mřížky a zarovnané efekty i animace. Vektorová pixelová a bitmapová písma sdílejí systém stylů. Celočíselné násobky Pixel Grid jsou pixelově přesné. Snap To Pixel Grid zarovnává také efekty a animace; vypnutí dovoluje subpixelový pohyb.

Glyfový atlas — SDF Detail a velikost dlaždice

Co vlastně dělají „SDF Detail“ a „Tile Size Offset“?

Glyfy žijí v dlaždicích tří velikostí — 64, 128, 256 — a velikost se volí podle složitosti obrysu (mnoho segmentů → 128/256, jednoduchý obrys → 64). • SDF Detail je násobitel odhadu složitosti. Zvyšte jej a už tak netriviální glyf se s větší pravděpodobností posune na větší dlaždici. (Skutečně jednoduchý tvar zůstane na 64 — násobitel ovlivňuje jen glyfy nad prahem.) • Tile Size Offset je pevný krok po žebříčku velikostí (zvolená 64 + offset 1 → 128; rozsah −2..+2).

Kterému z těch dvou mám dát pro výkon přednost?

Ani jednomu samostatně — oba jen určují výslednou velikost dlaždice a náklady jsou dané pouze touto velikostí. Dvě kombinace, které vedou ke stejné velikosti dlaždice, stojí přesně totéž. Miřte na nejmenší velikost dlaždice, která ještě dává přijatelnou kvalitu.

Výkon za běhu

Kdy UniText rasterizuje glyfy? Kopíruje paměť každý snímek?

Nové glyfy vyžadují rasterizaci a přenos. Glyfy v mezipaměti se používají až do zneplatnění nebo odstranění.

Proč nastane krátké zaškobrtnutí, když se najednou objeví hodně nového textu?

Nové glyfy vyžadují rasterizaci a přenos. Glyfy v mezipaměti se používají až do zneplatnění nebo odstranění.

Nevidím v Profileru žádnou úlohu UniText — funguje vícevláknové zpracování vůbec?

Core koordinuje text před vykreslením. Vlákna a Burst zpracovávají velké úlohy; místní změny zneplatní jen dotčené fáze.

Škodí MonoBehaviour.Update() výkonu? Potřebujete jeden UniTextManager?

Core koordinuje text před vykreslením. Vlákna a Burst zpracovávají velké úlohy; místní změny zneplatní jen dotčené fáze.

Podpora a diskuse

Discord je hlavní kanál pro otázky, pomoc a diskuse. Hlášení chyb a návrhy nových funkcí patří do veřejného systému pro sledování problémů.

Podpora a diskuse: [email protected]