En aquest tutorial veurem l'objecte GUI de TextMesh Pro. TextMesh Pro s'utilitza juntament amb els GameObjects habituals i es col·loca en una escena a l'espai 3D. És ideal per a aplicacions XR on el text sovint forma part de l'escena existent i no es fa referència als menús 2D.
TextMesh Pro és la solució de text definitiva per a Unity. És el reemplaçament perfecte del text de la interfície d'usuari d'Unity i de l'antiga malla de text. És potent i fàcil d'utilitzar, utilitza tècniques avançades de representació de text i una gamma d'ombrejats personalitzats. Ofereix millores significatives en la qualitat visual i ofereix als usuaris una flexibilitat increïble en l'estil i la textura del text. TextMesh Pro ofereix un control millorat sobre el format i la disposició del text amb funcions com ara l'espaiat de caràcters, paraules, línies i paràgrafs, kerning, text justificat, enllaços, més de 30 etiquetes de text enriquit disponibles, suport per a fonts múltiples i sprites, estils personalitzats i molt més. Bon rendiment. Com que la geometria creada per TextMesh Pro utilitza dos triangles per caràcter, igual que els components de text d'Unity, no hi ha cap cost de rendiment addicional per a aquesta qualitat visual i flexibilitat millorades. En aquest tutorial veurem l'objecte GUI de TextMesh Pro. TextMesh Pro s'utilitza juntament amb els GameObjects habituals i es col·loca en una escena a l'espai 3D. És ideal per a aplicacions XR on el text sovint forma part de l'escena existent i no es fa referència als menús 2D.
Presentació de TextMesh Pro
TextMeshTextMesh Pro és un sistema fàcil d'utilitzar per a text d'alta qualitat. Té moltes opcions per a l'aparença i el format del text i és una manera senzilla d'afegir un toc professional a la interfície d'un projecte. La publicació mostra com preparar els tipus de lletra per utilitzar-los a TextMesh Pro, crear nous objectes TextMesh Pro i modificar aquests objectes.
1.Creeu un objecte de text TextMesh Pro:
1. Mitjançant la llista desplegable GameObject o fent clic amb el botó dret a la finestra de la jerarquia, seleccioneu IU > TextMesh Pro – Text.
2. Si és la primera vegada que utilitzeu TextMesh Pro (TMP) en un projecte, Unity us ofereix importar els paquets TMP Essentials i Examples & Extras (si encara no heu importat el paquet d'actius TextMesh Pro). Feu clic a Importa TMP Essentials i tanqueu la finestra.
La importació de TMP també es pot fer en el moment de la creació del projecte com a paquet d'actius inclòs.
3. Si el text no és visible a la pestanya Escena, ressalteu-lo a la jerarquia i premeu la tecla F del teclat mentre el punter del ratolí es troba a la vista Escena.
4. Feu clic al bloqueig de l'extrem superior dret de l'inspector per centrar-vos en l'objecte TextMesh Pro Text.
5. A la configuració de la transformació del rectangle, establiu la mida de l'àrea de text a 300 x 100.
La transformació rectangle controla la posició i la mida de l'àrea de text.
6. A la secció Configuració del tipus de lletra de l'inspector UGUI de Text Mesh Pro, activeu l'ajustament i el desbordament de text.
TextMesh Pro ofereix una varietat d'opcions de disseny i visualització.
7. Proveu de canviar la configuració predeterminada del material i diversos paràmetres de tipus de lletra. Podeu definir el color del tipus de lletra canviant el color del vèrtex o a la configuració del material. Feu clic al triangle del material que hi ha a la part inferior de l'inspector per revelar la configuració del tipus de lletra, el contorn i la subposició (ombra).
Feu clic a les barres grises fora de les dues caselles de selecció per mostrar o amagar les propietats d'aquesta configuració de tipus de lletra específica.
8. Marqueu la casella de la meitat dreta de la secció Esquema i feu clic a un altre lloc de la secció per obrir Configuració.
9. Ajusta el color i el gruix del text.
Afegir un esquema al vostre text pot facilitar-ne la visualització en entorns ocupats.
10. Proveu de canviar la configuració de la subposició i la configuració del primer pla. Feu clic a l'engranatge de l'extrem superior dret i seleccioneu Restableix per tornar a la configuració predeterminada.
En aquest menú podeu tornar a la configuració original del material, transferir les propietats del material i crear presets de material.
11. Experimenteu amb els valors predefinits del material de la lletra i ajusteu-los com vulgueu.
TextMesh Pro inclou tres valors predefinits de materials que us permeten explorar ràpidament els efectes de diferents configuracions.
2. Accés als objectes TextMeshPro en codi:
Aquí estem utilitzant l'espai de noms del sistema al nostre script per accedir a les funcions de data i hora. TextMesh Pro només requereix l'espai de noms TMPro.
1. A la llista desplegable GameObject, seleccioneu Crear buit i anomeneu-lo ClockDisplay.
2. Creeu un script nou anomenat "Clock" i adjunteu-lo a ClockDisplay. Feu doble clic a Rellotge a la finestra del projecte per obrir Visual Studio o MonoDevelop. Suprimiu el mètode Start() ja que no el farem servir per a aquest exercici.
3. Introduïu el següent a la línia 4:
utilitzant TMPro;
utilitzant el sistema;
4. A la línia 8, introduïu el següent:
public TMP_Text clockText;
5. A Actualització, a la línia 12, introduïu el següent:
clockText.text = DateTime.Now.ToString();
6. Ara s'ha completat l'script del rellotge.
Deseu els canvis i torneu a Unity.
L'script del rellotge acabat:
7. Arrossegueu l'objecte TextMesh Pro creat a l'exercici 1 a l'àrea marcada Clock Text a l'Inspector del rellotge.
8. Premeu Reproduir per iniciar la demostració. La data i l'hora actuals es mostren mitjançant la configuració del material especificada al TextMesh Pro Text Inspector.
9. Quan hagis acabat, surt del mode de reproducció.
3.Creeu un tipus de lletra per utilitzar-lo amb TextMesh Pro
1. Si encara no teniu una carpeta de recursos a Actius, creeu-ne una i dins d'aquesta carpeta creeu una carpeta anomenada Fonts. Deseu el vostre recurs de font creat aquí.
2. Arrossegueu un fitxer de tipus de lletra (OpenType o TrueType) a la carpeta Recursos.
3. A la llista desplegable Finestra, seleccioneu TextMesh Pro > Font Asset Creator.
4. Feu clic al cercle que hi ha al costat de la ranura de l'origen del tipus de lletra i seleccioneu el vostre tipus de lletra.
També podeu arrossegar un tipus de lletra directament des de la vista Projecte a la ranura. Els actius de tipus de lletra es poden reutilitzar en tots els projectes.
5. Feu clic a Genera atles de fonts.
6. Feu clic a Desa.
7. Aneu a Actius > Recursos > Tipus de lletra, poseu un nom al vostre tipus de lletra i feu clic a Desa.
8. Si encara no apareix a l'Inspector, feu clic a l'objecte TextMesh Pro Text a la finestra Jerarquia per ressaltar-lo.
9. Feu clic al cercle que hi ha al costat de Font Asset i seleccioneu el Font Asset que acabeu de crear.
10. Entra al mode de reproducció per veure el teu nou recurs de font en acció.
11. Sortiu del mode de reproducció.
TextMesh Pro és molt versàtil. Es pot utilitzar per a qualsevol situació on es necessiti text, inclosos jocs, aplicacions gràfiques, vídeos i molt més.
TextMesh Pro: conceptes bàsics
En aquest tutorial veurem els objectes GUI TextMesh Pro i TextMesh Pro. TextMesh Pro s'utilitza juntament amb els GameObjects habituals i es col·loca en una escena a l'espai 3D. És ideal per a aplicacions XR on el text sovint forma part de l'escena existent i no es fa referència als menús 2D. El component TextMesh Pro UGUI funciona amb el sistema Canvas i està pensat per substituir i ampliar el component de text de la IU amb una funcionalitat millorada.
Els temps foscos
Tots els components de text a Unity utilitzen textures per emmagatzemar glifs: la representació visual dels caràcters. Els components de text més antics (TextMesh i UI Text) utilitzen mapes de bits rasteritzats per representar aquests glifos. TextMesh Pro utilitza principalment SDF (camps de distància signats) per aproximar la forma dels caràcters abans de convertir-los en una textura. Imagineu que estem intentant representar una forma en una quadrícula de 10 x 10 píxels sense ser massa tècnics. En una textura de mapa de bits, cada posició de la quadrícula podria contenir un píxel blanc, gris o negre, depenent de la informació de color en aquesta posició concreta. En una textura SDF, cada posició de la quadrícula contindria una distància a la característica més propera de la forma, donant lloc a una millor representació de la forma original dins d'una quadrícula fixa de píxels.Quan un shader de mapa de bits dibuixa aquesta forma a una mida 1:1, simplement està fent una cerca de textura per a la ubicació de píxel especificada. Si conté un píxel, es dibuixarà; En cas contrari, aquest no és el cas. Les textures contenen un nombre finit de píxels. Quan s'apropa o es redueix, l'ombrejat ha d'ajustar la mida de cada píxel en proporció a la resolució de pantalla del dispositiu. Això farà que aquesta forma resultant sigui en blocs, borrosa o massa nítida. Un shader SDF realitza la mateixa cerca de textures, però aquesta vegada retorna un exemple de distància. Depenent de la distància, l'ombrejat dibuixa un píxel completament opac o un píxel alfa-mixt. Quan s'apropa o es redueix, l'ombrejador interpola entre exemples de distància, permetent que les formes (text) es representin netament a Unity, independentment de la resolució de la pantalla, el zoom i l'escala. Per renderitzar el text del mapa de bits de manera neta, els glifs s'han de dibuixar en una proporció 1:1, amb cada glif tornat a mostrejar per a cada mida de lletra. Tanmateix, les textures SDF només han de contenir una única representació de cada glif, el que resulta en un ús molt més eficient de l'espai de textures. Les imatges següents mostren les principals diferències visuals entre els sistemes antics i els nous. La bellesa d'aquests exemples és que, malgrat la qualitat de representació superior d'SDF, tant l'SDF com el text rasteritzat utilitzen el mateix nombre de polígons (quaders) per representar el text. Això vol dir que el rendiment de TextMesh Pro no es veurà afectat. Afegim un objecte GUI TextMesh Pro i TextMesh Pro a la nostra escena i observem cada objecte a l'inspector.
Afegint TextMesh Pro als vostres GameObjects
Ambdós mètodes creen un nou GameObject amb quatre components nous:
RectTransform: Un contenidor per al vostre objecte de text, similar als que s'utilitzen a Microsoft Office o Photoshop. Podeu canviar la mida, la posició i la rotació del vostre contenidor.
Representador de malla: Renderitza i col·loca el teu text a l'espai 3D.
TextMeshPro - Text: The Component principal on podeu escriure text, seleccionar l'element de la font, la configuració predeterminada del material, la mida de la lletra, canviar els estils de paràgraf, habilitar colors/gradients i un munt d'altres elements.
Opcions de format i estil: Intenta jugar-hi.
Material per defecte: El material utilitzat per Font Asset al qual es fa referència al component TextMeshPro. Els materials defineixen l'aspecte dels vostres GameObjects. També és on definiu l'aspecte del vostre text i trobareu opcions que van des de contorns fins a brillantors, bisellats fins a textures i molt més.
Configuracions addicionals: Aquests paràmetres us permeten ajustar les vores del vostre text, assignar recursos sprites i personalitzar en quina capa hi ha el text, entre altres opcions.
Abans d'introduir text, assegureu-vos que l'embolcall i el desbordament estiguin habilitats al component TextMesh Pro. Aquestes opcions limiten el text a l'objecte Rect Transform.
La mida automàtica ajusta dinàmicament la mida de mostra del tipus de lletra perquè coincideixi amb la transformació del rectangle. Aneu amb compte quan utilitzeu la mida automàtica. Activar-lo us donarà una mida de mostra òptima (per exemple, per a aplicacions mòbils on pot ser difícil predir la resolució objectiu per a cada dispositiu). Tanmateix, s'hauria de desactivar un cop hàgiu decidit una bona mida per evitar una sobrecàrrega de rendiment innecessària.
Afegint TextMesh Pro a la vostra interfície
Afegir TextMeshPro a una interfície d'usuari és un procés molt similar: navegueu per la jerarquia a UI > Text - TextMeshPro. És el mateix que la versió anterior, excepte per al renderitzador del llenç. Això crea un nou Canvas GameObject amb un TextMesh Pro GameObject. La criança significa que el text es mou al llarg del llenç. Els components de la UI TextMesh Pro es representen mitjançant aquest objecte Canvas en lloc d'un representador de malla Unity.
Originally posted 2020 03:30:12.