V tomto návode sa pozrieme na objekt GUI TextMesh Pro. TextMesh Pro sa používa spolu s bežnými objektmi GameObjects a je umiestnený v scéne v 3D priestore. Je ideálny pre aplikácie XR, kde je text často súčasťou existujúcej scény a neodkazuje naň v 2D ponukách.
TextMesh Pro je konečné textové riešenie pre Unity. Je to perfektná náhrada za text používateľského rozhrania Unity a starú textovú sieť. Je výkonný a ľahko sa používa a používa pokročilé techniky vykresľovania textu, ako aj množstvo vlastných shaderov. Ponúka výrazné vylepšenia vizuálnej kvality a poskytuje používateľom neuveriteľnú flexibilitu pri navrhovaní a textúrovaní textu. TextMesh Pro ponúka vylepšenú kontrolu nad formátovaním a rozložením textu pomocou funkcií, ako sú medzery medzi znakmi, slovami, riadkami a odsekmi, párovanie, odôvodnený text, odkazy, viac ako 30 dostupných značiek RTF, podpora viacerých písem a sprajtov, vlastné štýly a ďalšie . Dobrý výkon. Pretože geometria vytvorená programom TextMesh Pro používa dva trojuholníky na znak, rovnako ako textové komponenty Unity, neexistujú žiadne ďalšie náklady na výkon za túto vylepšenú vizuálnu kvalitu a flexibilitu. V tomto návode sa pozrieme na objekt GUI TextMesh Pro. TextMesh Pro sa používa spolu s bežnými objektmi GameObjects a je umiestnený v scéne v 3D priestore. Je ideálny pre aplikácie XR, kde je text často súčasťou existujúcej scény a nie je naň odkazované v 2D ponukách.
Úvod do programu TextMesh Pro
TextMeshTextMesh Pro je ľahko použiteľný systém pre vysokokvalitný text. Má mnoho možností zobrazenia a formátovania textu a je to jednoduchý spôsob, ako pridať profesionálne prostredie používateľskému rozhraniu projektu. Tento článok ukazuje, ako môžete pripraviť písma na použitie v programe TextMesh Pro, vytvárať nové objekty TextMesh Pro a upravovať tieto objekty.
1. Vytvorte textový objekt TextMesh Pro:
1. Vyberte GameObject z rozbaľovacieho zoznamu alebo pravým tlačidlom myši v okne hierarchie UI> TextMesh Pro - Text.
2. Ak textMesh Pro (TMP) používate prvýkrát v projekte, Unity ponúka import balíkov TMP Essentials a Example & Extras (ak ste ešte neimportovali balík TextMesh Pro Asset). Kliknite na položku Importovať TMP Essentials a zatvorte okno.
TMP je možné importovať aj ako zahrnutý balík aktív pri vytváraní projektu.
3. Ak text nie je na karte „Scéna“ viditeľný, zvýraznite ho v hierarchii a stlačte kláves „F“ na klávesnici, kým je ukazovateľ myši v zobrazení scény.
4. Kliknutím na zámok v pravom hornom rohu inšpektora zameriate objekt TextMesh Pro Text.
5. V nastaveniach transformácie obdĺžnika nastavte veľkosť textovej oblasti na 300 x 100.
Transformácia na obdĺžnik riadi polohu a veľkosť textovej oblasti.
6. V sekcii Nastavenia písma v inšpektorovi Text Mesh Pro UGUI povoľte zalamovanie a pretečenie textu.
TextMesh Pro ponúka množstvo možností rozloženia a zobrazenia.
7. Skúste zmeniť predvoľbu materiálu a rôzne nastavenia písma. Farbu písma môžete nastaviť buď zmenou farby vrcholu, alebo v nastaveniach materiálu. Kliknutím na trojuholník v materiáli v spodnej časti inšpektora zobrazíte nastavenia písma, obrysu a podložky (vržaného tieňa).
Kliknutím na sivé pruhy mimo týchto dvoch začiarkavacích políčok zobrazíte alebo skryjete vlastnosti pre konkrétne nastavenie písma.
8. Začiarknutím políčka v pravej polovici sekcie „Obrys“ otvorte nastavenia kliknutím na akékoľvek iné miesto v sekcii.
9. Upravte farbu a hrúbku textu.
Pridanie osnovy do textu môže uľahčiť zobrazenie v rušnom prostredí.
10. Skúste zmeniť nastavenia Podloženia a V popredí. Vráťte sa na predvolené nastavenia kliknutím na ozubené koliesko v pravom hornom rohu a výberom položky Obnoviť.
V tejto ponuke sa môžete vrátiť k pôvodným nastaveniam materiálu, prenášať vlastnosti materiálu a vytvárať predvoľby materiálu.
11. Experimentujte s predvoľbami materiálu písma a podľa potreby upravte nastavenia písma.
Aplikácia TextMesh Pro je dodávaná s tromi predvoľbami materiálu, ktoré môžete použiť na rýchle preskúmanie účinkov rôznych nastavení.
2. Prístup k objektom TextMeshPro v kóde:
Tu používame priestor názvov systému v našom skripte na prístup k funkciám dátumu a času. TextMesh Pro vyžaduje iba priestor názvov TMPro.
1. V rozbaľovacom zozname „GameObject“ vyberte možnosť „Vytvoriť prázdne“ a pomenujte ju „ClockDisplay“.
2. Vytvorte nový skript s názvom „Hodiny“ a pripojte ho k ClockDisplay. Dvakrát kliknite na položku Hodiny v okne projektu, aby ste otvorili Visual Studio alebo MonoDevelop. Odstráňte metódu Start (), pretože ju pri tomto cvičení nebudeme používať.
3. Do riadka 4 zadajte nasledujúce:
pomocou TMPro;
pomocou systému;
4. Do riadka 8 zadajte nasledujúce:
verejný TMP_Text clockText;
5. Do poľa Aktualizácia na riadku 12 zadajte nasledujúce údaje:
clockText.text = DateTime.Now.ToString();
6. Skript hodín je teraz dokončený.
Uložte zmeny a vráťte sa do Unity.
Hotový skript hodiniek:
7. Pretiahnite objekt TextMesh Pro, ktorý ste vytvorili v cvičení 1, do oblasti s názvom Text hodín v Inšpektora hodín.
8. Ukážku spustíte stlačením Prehrať. Aktuálny dátum a čas sa zobrazuje s nastaveniami materiálu uvedenými v textovom inšpektorovi TextMesh Pro.
9. Keď skončíte, ukončite režim prehrávania.
3. Vytvorte písmo na použitie s TextMesh Pro
1. Ak ešte v priečinku Assets nemáte priečinok so zdrojmi, vytvorte ho a vytvorte v ňom priečinok s názvom „Fonts“. Tu uložíte svoj vytvorený zdroj písma.
2. Presuňte súbor písma (OpenType alebo TrueType) do priečinka Resources.
3. V rozbaľovacom zozname Okno vyberte TextMesh Pro> Font Asset Creator.
4. Kliknite na kruh vedľa otvoru zdroja písma a vyberte svoje písmo.
Písmo môžete tiež presunúť priamo z pohľadu projektu do otvoru. Prostriedky písma je možné znova použiť v rámci projektov.
5. Kliknite na Generovať atlas písma.
6. Kliknite na položku Uložiť.
7. Prejdite na Aktíva> Prostriedky> Písma, pomenujte svoje písmo a kliknite na položku Uložiť.
8. Ak sa stále nezobrazuje v inšpektorovi, zvýraznite ho kliknutím na objekt TextMesh Pro Text v okne Hierarchia.
9. Kliknite na kruh vedľa položky Písmo a vyberte dielo fontu, ktoré ste práve vytvorili.
10. Aktivujte režim prehrávania, aby sa váš nový podklad písma zobrazil v prevádzke.
11. Ukončite režim prehrávania.
TextMesh Pro je veľmi univerzálny. Dá sa použiť v akejkoľvek situácii, kde je potrebný text, vrátane hier, grafických aplikácií, videí a ďalších.
TextMesh Pro: Základy
V tomto návode sa pozrieme na objekty GUI TextMesh Pro a TextMesh Pro. TextMesh Pro sa používa spolu s bežnými objektmi GameObjects a je umiestnený v scéne v 3D priestore. Je ideálny pre aplikácie XR, kde je text často súčasťou existujúcej scény a neodkazuje naň v 2D ponukách. Komponent TextMesh Pro UGUI pracuje s canvas systémom a má nahradiť a rozšíriť textový komponent UI s vylepšenými funkciami.
Temné časy
Všetky textové komponenty v Unity používajú textúry na ukladanie glyfov - vizuálne znázornenie znakov. Staršie textové komponenty (TextMesh a UI-Text) používajú na vykreslenie týchto glyfov rastrované bitmapy. Program TextMesh Pro primárne používa polia signovanej vzdialenosti (SDF) na aproximáciu tvaru znakov pred ich vykreslením do textúry. Predstavte si, že sa pokúšame vykresliť tvar v mriežke 10 x 10 pixelov bez toho, aby sme boli príliš technickí. V bitmapovej textúre by každá pozícia mriežky mohla obsahovať biely, sivý alebo čierny pixel v závislosti od informácií o farbe v danej konkrétnej polohe. V textúre SDF by každá pozícia mriežky obsahovala vzdialenosť k ďalšiemu znaku tvaru, čo by malo za následok lepšie vykreslenie pôvodného tvaru v rámci pevnej mriežky pixelov.Ak bitmapový shader nakreslí tento tvar 1: 1, je to jednoducho vyhľadávanie textúry pre zadanú polohu pixelov. Ak obsahuje pixel, bude nakreslený; Inak nie je. Textúry obsahujú konečný počet pixelov. Pri priblížení alebo oddialení musí shader prispôsobiť veľkosť každého pixelu vzhľadom na rozlíšenie displeja zariadenia. Výsledný tvar bude buď blokovaný, rozmazaný alebo príliš ostrý. Shader SDF robí rovnaké vyhľadávanie textúr, ale tentoraz vráti príklad vzdialenosti. V závislosti od vzdialenosti vykresľuje shader buď úplne nepriehľadný alebo alfa zmiešaný pixel. Pri približovaní alebo odďaľovaní shader interpoluje medzi príkladmi vzdialenosti, takže tvary (text) je možné v Unity čisto vykresľovať bez ohľadu na rozlíšenie obrazovky, priblíženie a mierku. Na čisté vykreslenie bitmapového textu je potrebné, aby boli glyfy nakreslené v pomere 1: 1, pričom každý glyf je potrebné znova naskenovať pre každú veľkosť písma. Textúry SDF však musia obsahovať iba jednu reprezentáciu každého glyfu, čo má za následok oveľa efektívnejšie využitie priestoru textúr. Nasledujúce obrázky ukazujú najväčšie vizuálne rozdiely medzi starým a novým systémom. Na týchto príkladoch je pekné, že napriek vynikajúcej kvalite vykresľovania SDF, SDF aj rastrovaný text používajú na vykreslenie textu rovnaký počet polygónov (štvorkoliek). To znamená, že výkon TextMesh Pro nebude ovplyvnený. Na našu scénu pridáme objekt GUI TextMesh Pro aj TextMesh Pro a pozrieme sa na každý objekt v inšpektorovi.
Pridanie programu TextMesh Pro k vašim objektom GameObjects
Obe metódy vytvárajú nový GameObject so štyrmi novými komponentmi:
Rektálna transformácia: Kontajner pre váš textový objekt podobný tým, ktoré sa používajú v Microsoft Office alebo Photoshope. Môžete zmeniť veľkosť, polohu a otočenie kontajnera.
Vykresľovač siete: Vykreslí a umiestni váš text v 3D priestore.
TextMeshPro - Text: The Hlavný komponent, v ktorom môžete písať text, meniť prvok písma, prednastavený materiál, veľkosť písma, meniť štýly odsekov, aktivovať farby / prechody a vyberať množstvo ďalších prvkov.
Možnosti formátovania a štýlu: Skúste sa s tým pohrať.
Prednastavenie materiálu: Materiál použitý majetkom písma, na ktorý sa odkazuje v komponente TextMeshPro. Materiály definujú vzhľad vašich GameObjects. Môžete tu tiež definovať vzhľad svojho textu a nájsť možnosti, ktoré sa pohybujú od obrysov po žiaru, úkosy, textúry a ďalšie.
Dodatočné nastavenia: Tieto nastavenia vám okrem iných možností umožňujú upraviť okraje textu, priradiť sprite prvky a prispôsobiť, v ktorej vrstve sa text zobrazuje.
Pred zadávaním textu sa uistite, že v komponente TextMesh Pro je povolené zalamovanie a pretečenie. Tieto možnosti obmedzujú text na objekt správnej transformácie.
Automatická veľkosť dynamicky prispôsobuje vzorovú veľkosť vášho písma transformácii obdĺžnika. Pri používaní automatickej veľkosti buďte opatrní. Zapnutím získate optimálnu veľkosť vzorky (napríklad pre mobilné aplikácie, kde môže byť ťažké predpovedať cieľové rozlíšenie pre každé zariadenie). Deaktivujte ju však, akonáhle sa rozhodnete pre dobrú veľkosť, aby ste predišli zbytočnému výkonu.
Pridanie programu TextMesh Pro do vášho používateľského rozhrania
Pridanie TextMeshPro do používateľského rozhrania je veľmi podobný proces: v hierarchii prejdite na UI> Text - TextMeshPro. S výnimkou vykresľovača plátna je identický s predchádzajúcou verziou. Tým sa vytvorí nový Canvas GameObject s TextMesh Pro GameObject. Rodičovstvo znamená, že text sa posúva po plátne. Komponenty v UI TextMesh Pro sú vykresľované pomocou tohto objektu plátna namiesto renderera Unity Mesh.
Pôvodne uverejnené 2020-03-30 12:45:25.