Text v Unity

Text je jednou z nejdůležitějších komponent v holografických aplikacích. Chcete-li zobrazit text v Unity, existují tři typy textových komponent, které můžete použít – text uživatelského rozhraní, mřížka prostorového textu a Pro textu. Ve výchozím nastavení se mřížka textu uživatelského rozhraní a prostorového textu zobrazuje rozmazaný a je moc velká. Změna několika proměnných má za následek ostřejší a vysoce kvalitní text se spravovatelnou velikostí v HoloLens. Můžete dosáhnout lepší kvality vykreslování pomocí faktoru škálování, který získá správné rozměry při použití textového rozhraní a součástí mřížky 3D textu.

Jak získat ostrý a působivý text
Rozmazaný výchozí text v Unity

Práce s 3D textem v Unity (textová síť) a text uživatelského rozhraní

Unity předpokládá, že všechny nové prvky přidané do scény jsou jedna jednotka Unity ve velikosti nebo 100% transformačního měřítka. Jedna jednotka Unity se překládá na přibližně 1 měřič v HoloLens. V případě písem je ohraničující rámeček pro 3D TextMesh ve výchozím nastavení v přibližně 1 měřiči ve výšce.

Práce s písmy v Unity
Výchozí prostorový text v Unity (textová síť) zabírá jednu jednotku Unity, což je 1 měřič.


Většina vizuálních návrhářů používá body k definování velikosti písem v reálném světě. V 1 měřiči se vyskytuje přibližně 2835 (2, 834.645666399962) bodů. Na základě konverze systému bodového systému na 1 a výchozí velikost písma mřížky textu v Unity, je jednoduché matematické číslo 13 dělené hodnotou 2835 rovno 0,0046 (0.004586111116o tak, aby bylo přesné), které nabízí dobrý standardní rozsah pro začátek s (některé mohou chtít zaokrouhlit na 0,005). Změna velikosti objektu textu nebo kontejneru na tyto hodnoty nebude umožňovat pouze 1:1 konverze velikosti písma v aplikaci návrhu, ale také poskytuje Standard, aby bylo možné zachovat konzistenci v celém prostředí.

Škálování hodnot pro text v Unity a text uživatelského rozhraní
Škálování hodnot pro text v Unity a text uživatelského rozhraní


Mřížka 3D textu s optimalizovanými hodnotami v Unity
Mřížka 3D textu s optimalizovanými hodnotami v Unity


Při přidávání uživatelského rozhraní nebo prvku textu založeného na plátně do scény je neparita velikosti stále větší. Rozdíly ve dvou velikostech jsou přibližně 1000%, což by znamenalo faktor škálování pro textové komponenty založené na uživatelském rozhraní na 0,00046 (0.0004586111116 se přesně) nebo 0,0005 pro zaokrouhlenou hodnotu.

Text uživatelského rozhraní Unity s optimalizovanými hodnotami
Text uživatelského rozhraní Unity s optimalizovanými hodnotami


Poznámka

Výchozí hodnota libovolného písma může být ovlivněna velikostí textury daného písma nebo způsobem importu písma do Unity. Tyto testy byly provedeny v závislosti na výchozím písmu Arial v Unity a na jednom importovaném písmu.

Práce s mřížkou Pro textu

s Proovou mřížkou v Unity můžete zabezpečit kvalitu vykreslování textu. Podporuje obrysy textu bez ohledu na vzdálenost pomocí techniky pole se znaménkem (SDF) . Pomocí stejné metody výpočtu, kterou jsme použili výše pro prostor prostorového textu a text uživatelského rozhraní, můžeme najít správné hodnoty škálování pro použití s konvenčními typografické body. vzhledem k tomu, že výchozí mřížka prostorového textu Pro písmo s velikostí 36 2,5 má velikost% jednotek Unity (2,5 m), můžeme k získání velikosti bodu použít hodnotu pro škálování na 0,005. mřížka textu Pro v nabídce uživatelského rozhraní má výchozí velikost s rozsahem 25 jednotek Unity (25 m). Díky tomu je pro hodnotu škálování US 0,0005.

Škálování hodnot pro 3D text a uživatelské rozhraní Unity
Škálování hodnot pro 3D text a uživatelské rozhraní Unity

Jak můžete očekávat, velikosti typů, které používáme v počítači nebo tabletovém zařízení (obvykle mezi 12 – 32pt), vypadají malými na vzdálenosti 2 měřiče. Závisí na charakteristikách každého písma, ale obecně se doporučuje minimální úhel zobrazení a výška písma pro čitelnost je kolem 0.35 °-0.4 °/12.21-13.97 mm na základě našich studií pro uživatele. Má přibližně 35-40 PT s faktorem škálování, který se představil výše.

Pro blízkou interakci v 0,45 m (45 cm) je minimální čitelný úhel pro zobrazení písma a výška 0.4 °-0,5 °/3.14 – 3.9 mm. Má přibližně 9-12 PT s faktorem škálování, který se představil výše.

Téměř a daleko obsah rozsahu interakcev blízkosti a daleko v rozsahu interakce

Minimální čitelná velikost písma

Vzdálenost Úhel zobrazení Výška textu Velikost písma
45 cm (Přímá dráha manipulace) 0.4 ° – 0,5 ° 3.14 – 3.9 mm 8,9 – 11.13 PT
2 m 0.35 ° – 0,4 ° 12.21 – 13.97 mm 34.63-39.58 PT

Pohodlně čitelná velikost písma

Vzdálenost Úhel zobrazení Výška textu Velikost písma
45 cm (Přímá dráha manipulace) 0.65 ° – 0,8 ° 5.1 – 6.3 mm 14.47-17.8 PT
2 m 0,6 ° až 0,75. 20.9 – 26.2 mm 59.4-74.2 PT

Segoe UI (výchozí písmo pro Windows) funguje ve většině případů dobře. Nepoužívejte však světlá nebo částečně světlá rodina písem, protože tenké svislé tahy budou vibrace a budou zhoršit čitelnost. Moderní písma s dostatečnou tloušťkou čáry fungují dobře. například Helvetica a Arial vypadají poutavé a jsou čitelné v HoloLens s použitím pravidelných nebo tučných závaží.

Zobrazení úhluvzdálenosti, úhlu a výšky textu

Text se Mixed realitou Toolkit v2

Kvalita vykreslování ostrých textů pomocí správné dimenze

V závislosti na těchto faktorech škálování jsme vytvořili text prefabs s uživatelským rozhraním a mřížkou prostorůtextu. Vývojáři můžou tyto prefabs použít k získání ostrého textu a konzistentní velikosti písma.

Kvalita vykreslování ostrých textů pomocí správné dimenze
Kvalita vykreslování ostrých textů pomocí správné dimenze

Shader s podporou překrytí

Výchozí materiál písma Unity nepodporuje překrytí. Z tohoto důvodu se ve výchozím nastavení zobrazí text za objekty. Zahrnuli jsme jednoduchý shader, který podporuje překrytí. Následující obrázek ukazuje text s výchozím materiálem písma (vlevo) a textem se správným překrytí (vpravo).

Shader s podporou překrytí
Shader s podporou překrytí

Další kontrolní bod vývoje

Pokud sledujete svou cestu pro vývoj Unity, jste v průběhui zkoumání MRTK základních stavebních bloků. Odsud můžete pokračovat k dalšímu stavebnímu bloku:

Nebo se můžete přecházet na možnosti hybridních platforem pro realitu a rozhraní API:

Kdykoli se můžete kdykoli vrátit k kontrolním bodům vývoje Unity .

Viz také