Sa tutorial na ito titingnan namin ang object ng TextMesh Pro GUI. Ginagamit ang TextMesh Pro sa tabi ng normal na GameObjects at inilagay sa isang eksena sa 3D space. Mainam ito para sa mga aplikasyon ng XR kung saan ang teksto ay madalas na bahagi ng umiiral na eksena at hindi isinangguni sa mga menu ng 2D.
Ang TextMesh Pro ay ang panghuli solusyon sa teksto para sa Unity. Ito ang perpektong kapalit ng teksto ng UI ng Unity at ang lumang text net. Ito ay malakas at madaling gamitin, at gumagamit ito ng mga advanced na diskarte sa pag-render ng teksto pati na rin ang bilang ng mga pasadyang shader. Nag-aalok ito ng makabuluhang mga pagpapabuti sa kalidad ng visual at nagbibigay sa mga gumagamit ng hindi kapani-paniwala na kakayahang umangkop sa pagdidisenyo at pag-text ng teksto. Nag-aalok ang TextMesh Pro ng pinabuting kontrol sa pag-format at layout ng teksto na may mga tampok tulad ng spacing ng character, salita, linya at talata, kerning, nabigyan ng katwirang teksto, mga link, higit sa 30 magagamit na mga rich text tag, suporta para sa maraming mga font at sprite, pasadyang mga estilo at marami pa . Magandang pagganap. Dahil ang geometry na nilikha ng TextMesh Pro ay gumagamit ng dalawang triangles bawat character, tulad ng mga bahagi ng teksto ng Unity, walang mga karagdagang gastos sa pagganap para sa pinabuting kalidad ng visual at kakayahang umangkop. Sa tutorial na ito titingnan namin ang object ng TextMesh Pro GUI. Ginagamit ang TextMesh Pro sa tabi ng normal na GameObjects at inilagay sa isang eksena sa 3D space. Mainam ito para sa mga aplikasyon ng XR kung saan ang teksto ay madalas na bahagi ng umiiral na eksena at hindi isinangguni sa mga menu ng 2D.
Panimula sa TextMesh Pro
Ang TextMeshTextMesh Pro ay isang madaling gamiting system para sa de-kalidad na teksto. Marami itong pagpipilian para sa pagpapakita at pag-format ng teksto, at ito ay isang madaling paraan upang magdagdag ng isang propesyonal na ugnayan sa interface ng gumagamit ng isang proyekto. Ipinapakita ng artikulo kung paano mo maihahanda ang mga font para magamit sa TextMesh Pro, lumikha ng mga bagong object ng TextMesh Pro at baguhin ang mga bagay na ito.
1. Lumikha ng isang textMesh Pro na object ng teksto:
1. Piliin ang GameObject mula sa drop-down list o gamit ang kanang pindutan ng mouse sa hierarchy window UI> TextMesh Pro - Text.
2. Kung gumagamit ka ng TextMesh Pro (TMP) sa kauna-unahang oras sa isang proyekto, inaalok ng Unity ang pag-import ng mga TMP Essentials at Halimbawa at Mga Extra na pakete (kung hindi mo pa na-import ang pakete ng TextMesh Pro Asset). I-click ang Import TMP Essentials at isara ang window.
Maaari ring mai-import ang TMP bilang isang kasama na package ng asset kapag nilikha ang proyekto.
3. Kung ang teksto ay hindi nakikita sa tab na "Scene", i-highlight ito sa hierarchy at pindutin ang "F" key sa keyboard habang ang mouse pointer ay nasa view ng eksena.
4. I-click ang lock sa kanang sulok sa itaas ng Inspektor upang ituon ang object ng TextMesh Pro Text.
5. Itakda ang laki ng lugar ng teksto sa 300 x 100 sa mga setting para sa pagbabago ng rektanggulo.
Kinokontrol ng rektanggulo ang posisyon at sukat ng lugar ng teksto.
6. Paganahin ang pagbabalot ng teksto at pag-apaw sa seksyon ng Mga Setting ng Font ng inspektor ng Text Mesh Pro UGUI.
Nag-aalok ang TextMesh Pro ng iba't ibang mga pagpipilian sa layout at pagpapakita.
7. Subukang baguhin ang preset ng materyal at iba't ibang mga setting ng font. Maaari mong itakda ang kulay ng font alinman sa pamamagitan ng pagbabago ng kulay ng vertex o sa mga setting ng materyal. I-click ang tatsulok sa Materyal sa ilalim ng Inspektor upang makita ang mga setting ng Font, Balangkas, at Underlay (drop shadow).
I-click ang mga grey bar sa labas ng dalawang mga check box upang maipakita o maitago ang mga pag-aari para sa partikular na setting ng font.
8. Piliin ang check box sa kanang kalahati ng seksyong "Balangkas" at mag-click saanman sa seksyon upang buksan ang mga setting.
9. Ayusin ang kulay at kapal ng teksto.
Ang pagdaragdag ng isang balangkas sa iyong teksto ay maaaring gawing mas madali itong tingnan sa mga abalang kapaligiran.
10. Subukang baguhin ang mga setting ng Underlay at Foreground. I-click ang gear sa kanang sulok sa itaas at piliin ang I-reset upang bumalik sa mga default na setting.
Sa menu na ito maaari kang bumalik sa orihinal na mga setting ng materyal, ilipat ang mga katangian ng materyal at lumikha ng mga materyal na preset.
11. Eksperimento sa mga preset na materyal ng font at ayusin ang mga setting ng font ayon sa ninanais.
Ang TextMesh Pro ay mayroong tatlong mga preset na materyal na maaari mong magamit upang mabilis na suriin ang mga epekto ng iba't ibang mga setting.
2. Pag-access sa mga bagay na TextMeshPro sa code:
Dito ginagamit namin ang namespace ng System sa aming script upang ma-access ang mga pagpapaandar ng petsa at oras. Kinakailangan lamang ng TextMesh Pro ang namespace ng TMPro.
1. Sa drop-down na listahan ng "GameObject", piliin ang opsyong "Lumikha ng walang laman" at pangalanan itong "ClockDisplay".
2. Lumikha ng isang bagong script na tinatawag na "Clock" at ilakip ito sa ClockDisplay. I-double click ang Clock sa window ng proyekto upang buksan ang Visual Studio o MonoDevelop. Tanggalin ang pamamaraang Simula () dahil hindi namin ito gagamitin para sa ehersisyo na ito.
3. Ipasok ang sumusunod mula sa linya 4:
gamit ang TMPro;
gamit ang System;
4. Ipasok ang sumusunod sa linya 8:
publiko TMP_Text orasanTeksto;
5. Ipasok ang sumusunod sa Update sa linya 12:
clockText.text = DateTime.Now.ToString();
6. Ang script ng orasan ay kumpleto na ngayon.
I-save ang mga pagbabago at bumalik sa Unity.
Ang natapos na script ng panonood:
7. I-drag ang bagay na TextMesh Pro na iyong nilikha sa Ehersisyo 1 sa lugar na may label na Clock Text sa Clock Inspector.
8. Pindutin ang Play upang simulan ang pagpapakita. Ang kasalukuyang petsa at oras ay ipinapakita kasama ang mga setting ng materyal na tinukoy sa TextMesh Pro Text Inspector.
9. Kapag tapos ka na, lumabas sa mode ng pag-playback.
3. Lumikha ng isang font para magamit sa TextMesh Pro
1. Kung wala ka pang mapagkukunang folder sa Mga Asset, lumikha ng isa at lumikha ng isang folder sa folder na iyon na tinatawag na "Mga Font". Dito mo nai-save ang iyong nilikha na asset ng font.
2. I-drag ang isang font file (OpenType o TrueType) sa folder ng Mga Mapagkukunan.
3. Mula sa drop-down na listahan ng Window, piliin ang TextMesh Pro> Font Asset Creator.
4. I-click ang bilog sa tabi ng slot ng mapagkukunan ng font at piliin ang iyong font.
Maaari mo ring i-drag ang isang font nang direkta mula sa view ng proyekto sa puwang. Maaaring magamit muli ang mga asset ng font sa buong mga proyekto.
5. Mag-click sa Bumuo ng Font Atlas.
6. Mag-click sa I-save.
7. Mag-navigate sa Mga Asset> Mga Mapagkukunan> Mga font, pangalanan ang iyong font at i-click ang I-save.
8. Kung hindi pa rin ito lilitaw sa Inspektor, i-click ang bagay na TextMesh Pro Text sa Hierarchy window upang i-highlight ito.
9. Mag-click sa bilog sa tabi ng Font Asset at piliin ang font asset na iyong nilikha.
10. Paganahin ang mode ng pag-playback upang makita ang iyong bagong asset ng font na aksyon.
11. Lumabas sa mode ng pag-playback.
Ang TextMesh Pro ay napaka-maraming nalalaman. Maaari itong magamit para sa anumang sitwasyon na nangangailangan ng teksto kabilang ang mga laro, graphic application, video, at marami pa.
TextMesh Pro: Mga Pangunahing Kaalaman
Sa tutorial na ito titingnan namin ang mga bagay na TextMesh Pro at TextMesh Pro GUI. Ginagamit ang TextMesh Pro sa tabi ng normal na GameObjects at inilagay sa isang eksena sa 3D space. Mainam ito para sa mga aplikasyon ng XR kung saan ang teksto ay madalas na bahagi ng umiiral na eksena at hindi isinangguni sa mga menu ng 2D. Ang bahagi ng TextMesh Pro UGUI ay gumagana sa canvas system at inilaan upang palitan at palawakin ang sangkap ng teksto ng UI na may pinahusay na mga pag-andar.
Ang madilim na oras
Ang lahat ng mga sangkap ng teksto sa Unity ay gumagamit ng mga texture upang mag-imbak ng mga glyph - ang visual na representasyon ng mga character. Ang mas matandang mga bahagi ng teksto (TextMesh at UI-Text) ay gumagamit ng rasterized bitmaps upang mai-render ang mga glyph na ito. Pangunahing ginagamit ng TextMesh Pro ang Mga Signed Distance Field (SDF) upang tantyahin ang hugis ng mga character bago i-render ang mga ito sa isang texture. Isipin na sinusubukan naming mag-render ng isang hugis sa isang 10 x 10 pixel grid nang hindi nakakakuha ng masyadong panteknikal. Sa isang bitmap na texture, ang bawat posisyon ng grid ay posibleng maglaman ng isang puti, kulay-abo, o itim na pixel, depende sa impormasyon ng kulay sa partikular na posisyon. Sa isang SDF na texture, ang bawat posisyon ng grid ay naglalaman ng isang distansya sa susunod na tampok ng hugis, na magreresulta sa isang mas mahusay na pag-render ng orihinal na hugis sa loob ng isang nakapirming grid ng pixel.Kung ang isang bitmap shader ay iginuhit ang hugis na ito sa laki ng 1: 1, ito ay simpleng paghahanap ng pagkakayari para sa tinukoy na posisyon ng pixel. Kung naglalaman ito ng isang pixel, iguguhit ito; Kung hindi man ay hindi. Naglalaman ang mga texture ng isang may hangganan na bilang ng mga pixel. Kapag nag-zoom in o out, dapat ayusin ng shader ang laki ng bawat pixel na nauugnay sa resolusyon ng pagpapakita ng aparato. Ang nagresultang hugis ay nagiging alinman sa blocky, blurry, o masyadong matalim. Ang isang SDF shader ay gumagawa ng parehong paghahanap ng pagkakayari, ngunit sa oras na ito ay nagbabalik ito ng isang halimbawa ng distansya. Nakasalalay sa distansya, ang shader ay kumukuha alinman sa isang ganap na opaque o isang alpha-mixed pixel. Kapag nag-zoom in o out, ang shader ay nakikipag-interpolate sa pagitan ng mga halimbawa ng distansya kaya ang mga hugis (teksto) ay maaaring mai-render nang malinis sa Unity anuman ang resolusyon ng pag-zoom, pag-zoom at scale. Upang malinis na mag-render ng teksto ng bitmap, ang mga glyph ay dapat na iguhit sa isang 1: 1 na ratio, na ang bawat glyph ay kailangang muling baguhin para sa bawat laki ng font. Gayunpaman, ang mga texture ng SDF ay kailangan lamang maglaman ng isang solong representasyon ng bawat glyph, na nagreresulta sa isang mas mahusay na paggamit ng puwang ng pagkakayari. Ipinapakita ng mga sumusunod na larawan ang pinakamalaking pagkakaiba sa paningin sa pagitan ng luma at ng bagong system. Ang magandang bagay tungkol sa mga halimbawang ito ay sa kabila ng nakahihigit na kalidad ng pag-render ng SDF, ang parehong SDF at rasterized na teksto ay gumagamit ng parehong bilang ng mga polygon (quad) upang mai-render ang teksto. Nangangahulugan ito na ang pagganap ng TextMesh Pro ay hindi maaapektuhan. Magdaragdag kami ng parehong isang TextMesh Pro at isang object ng TextMesh Pro GUI sa aming eksena at titingnan ang bawat bagay sa inspektor.
Pagdaragdag ng TextMesh Pro sa iyong GameObjects
Ang parehong pamamaraan ay lumilikha ng isang bagong GameObject na may apat na bagong sangkap:
RectTransform: Isang lalagyan para sa iyong text object na katulad ng ginagamit sa Microsoft Office o Photoshop. Maaari mong baguhin ang laki, posisyon at pag-ikot ng iyong lalagyan.
Nagbibigay ng mesh: Inihahatid at iposisyon ang iyong teksto sa 3D space.
TextMeshPro - Text: Ang Pangunahing sangkap kung saan maaari kang magsulat ng teksto, baguhin ang elemento ng font, materyal na preset, laki ng font, baguhin ang mga estilo ng talata, buhayin ang mga kulay / gradient at pumili ng isang bilang ng iba pang mga elemento.
Mga pagpipilian sa pag-format at istilo: Subukang maglaro dito.
Presetting ng materyal: Ang materyal na ginamit ng font asset na sumangguni sa sangkap na TextMeshPro. Tinutukoy ng mga materyales ang hitsura ng iyong mga GameObjects. Maaari mo ring tukuyin ang hitsura ng iyong teksto dito at makahanap ng mga pagpipilian na saklaw mula sa mga balangkas hanggang sa glow, bevels, mga texture at marami pa.
Mga karagdagang setting: Pinapayagan ka ng mga setting na ito, bukod sa iba pang mga pagpipilian, upang ayusin ang mga margin ng iyong teksto, magtalaga ng mga assets ng sprite, at ipasadya kung aling layer ang lilitaw na teksto.
Bago ipasok ang teksto, siguraduhin na ang pambalot at overflow ay pinagana sa bahagi ng TextMesh Pro. Ang mga pagpipiliang ito ay naglilimita sa teksto sa bagay na patama na nagbago.
Ang awtomatikong laki ay pabago-bago na umaangkop sa laki ng sample ng iyong font sa pagbabago ng rektanggulo. Mag-ingat sa paggamit ng Laki ng Auto. Ang pag-on dito ay magbibigay sa iyo ng isang pinakamainam na laki ng sample (hal. Para sa mga mobile application kung saan maaaring maging mahirap hulaan ang target na resolusyon para sa bawat aparato). Gayunpaman, dapat itong i-deactivate sa sandaling napagpasyahan mo ang isang mahusay na sukat upang maiwasan ang hindi kinakailangang pagganap.
Pagdaragdag ng TextMesh Pro sa iyong interface ng gumagamit
Ang pagdaragdag ng TextMeshPro sa isang interface ng gumagamit ay isang katulad na proseso: mag-navigate sa hierarchy sa UI> Text - TextMeshPro. Maliban sa nagbigay ng canvas, magkapareho ito sa nakaraang bersyon. Lilikha ito ng isang bagong Canvas GameObject na may TextMesh Pro GameObject. Nangangahulugan ang pagiging magulang na ang teksto ay inilipat kasama ng canvas. Ang mga sangkap sa UI TextMesh Pro ay nai-render gamit ang object ng canvas na ito sa halip na isang tagabigay ng Unity Mesh.
Orihinal na nai-post 2020-03-30 12:45:25.