Unity中TextMeshPro的使用

这篇具有很好参考价值的文章主要介绍了Unity中TextMeshPro的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity中TextMeshPro的使用

前言

 在Unity中有自带的Text组件,这个组件已经能够满足我们日常开发中绝大多数的开发字体显示需求了,我们为什么还要使用这个TextMeshPro组件呢?这是因为Text使用的是基于位图的渲染技术而TextMeshPro基于的则是SDF算法即基于网格的文本渲染技术,并且TextMeshPro相比于Text拥有更强的抗锯齿效果。说人话就是TextMeshPro在字体放大的时候不会变模糊但是Text在字体变大的时候会出现模糊的情况,如下:
unity textmeshpro 使用,unity,游戏引擎
并且TextMeshPro相比于Text组件来说能够支持更加丰富的显示类型,例如:超链接、富文本、文本描边、图文混排等等。


一、TextMeshPro的创建和使用

1.导入字体、创建一个存储字体的.txt文件

从外部拖入一个我们想要使用的字体到我们的工程中即可
unity textmeshpro 使用,unity,游戏引擎
字体存储文件直接在文件夹下创建即可,如下:
unity textmeshpro 使用,unity,游戏引擎

2.创建字体资源

1.打开Font Asset Creator 如下:

unity textmeshpro 使用,unity,游戏引擎

2.在我们初次打开的时候会自动弹出提示框,我们点击Import TMP Essentials即可:

unity textmeshpro 使用,unity,游戏引擎
 在导入之后我们可以看到我们的文件夹中新增了一个TextMeshPro文件夹,这里面包含了一些基础字体和材料、shader等文件,尽量不要删除,否则会导致字体创建、显示报错。
unity textmeshpro 使用,unity,游戏引擎
再回到我们刚刚打开的Font Asset Creator窗口,我们可以根据自己的需求设置图集的分辨率,并且将我们先前导入的字体填入Source Font File,并且将Character Set设置成从文件获取,然后将我们已创建好的字体文件指定。如下:
unity textmeshpro 使用,unity,游戏引擎
然后我们点击Generate Font Atlas按钮,创建对应的字体资源然后点击存储选择存储位置即可,由于我们指定的字体资源文件是新建的.txt文件,里面是没有任何内容的,所以当前检测出的字符数量是0个,如下:
unity textmeshpro 使用,unity,游戏引擎
存储后的字体资源如图所示:
unity textmeshpro 使用,unity,游戏引擎
自此我们的字体资源已经创建完成了,我们可以先创建一个TextMeshPro文本,将我们的字体资源赋值给它,当然由于我们的字体资源里面的字符是0个,是无法正常显示中字的,如果能显示是因为我们使用的字体资源是先前我们导入时的基础资源,替换成我们刚刚创建的字体资源文件。如下:
unity textmeshpro 使用,unity,游戏引擎
unity textmeshpro 使用,unity,游戏引擎

3.更新字体资源

我们创建的字体资源不包含我们的目标中字,所以我们需要更新我们的资源字库,首先我们需要在我们先前创建的字体资源.txt文件中加入我们想要显示的字符保存即可,如下:
unity textmeshpro 使用,unity,游戏引擎
我们更新好字体资源.txt资源之后就需要更新我们的字体资源了,依然需要打开我们先选中我们先前创建的字体然后点击Update Atlas Texture打开我们的Font Asset Creator面板,指定好我们的字体和文件,然后点击更新保存即可,如下:
unity textmeshpro 使用,unity,游戏引擎

unity textmeshpro 使用,unity,游戏引擎
自此我们的资源就更新完成了,而我们的字也能正常的显示了。如下:
unity textmeshpro 使用,unity,游戏引擎

对了此时我们使用的时候,console面板是会报警告说需要我们需要将我们的字体图集需要设置成可读的。我们只需要点击右侧顶部将模式切换成Debug并且勾选Is Readable即可。如下:
unity textmeshpro 使用,unity,游戏引擎

unity textmeshpro 使用,unity,游戏引擎

二、TextMeshPro的一些常用使用

首先对于这些修改我们只需要找到字体资源的材质资源,然后修改材质对应的一些属性即可。

1.文本的描边效果

unity textmeshpro 使用,unity,游戏引擎
unity textmeshpro 使用,unity,游戏引擎

2.文本的光照效果

unity textmeshpro 使用,unity,游戏引擎

3.文本的外发光效果

unity textmeshpro 使用,unity,游戏引擎

三、拓展和总结

1.关于更新字体库

在我们的日常开发过程中,我们经常会需要添加许多的字体,有些我们可以预先想到然后添加到资源文本中,但是肯定会有漏掉的,所以为了保险起见我们可以在Unity中新增一个更新字体的按钮,当我们完善部分功能后就可以点击按钮更新字库,这样会方便很多。

2.是否设置成动态字体资源

有些情况下我们可以使用动态字库来避免频繁的更新字库,但是这种是在PC端使用,实际打包之前也是要进行一次静态更新的,所以我个人不是很推荐这种方法,具体的看大家的需求即可。

总结

记录一下学习的知识,假如有误希望大家评论指正,一起学习!文章来源地址https://www.toymoban.com/news/detail-796993.html

到了这里,关于Unity中TextMeshPro的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity TextMeshPro使用技巧-添加描边渐变色

    需要修改描边颜色,先以为要去改源码,后面发现TextmeshPro(后面叫Tmp)本来就支持, 选择这个shader,然后添加描边的渐变色图,这样描边也可以显示多种颜色了,下面的Thickness调整的是描边清晰度

    2024年02月16日
    浏览(42)
  • Unity - TextMeshPro显示中文

    unity自带的字体资源(Font Asset)都无法显示中文字符,可进行以下操作自行生成支持中文的字体资源。 https://github.com/DavidSheh/CommonChineseCharacter 个人开发者推荐 思源系列字体 若只是学习交流直接从 C:/Windows/Fonts 中选择字体 直接将字体文件拖入编辑器的Project窗口即可 选择 W

    2024年02月14日
    浏览(40)
  • Unity - TextMeshPro

    TextMeshPro 是 Unity 的终极文本解决方案。它是 Unity 的 UI 文本和旧版文本网格的完美替代品。 TextMeshPro(也称为 TMP)功能强大且易于使用,它使用高级文本渲染技术以及一组自定义着色器;提供显着的视觉质量改进,同时在文本样式和纹理方面为用户提供难以置信的灵活性。

    2023年04月08日
    浏览(28)
  • unity TextMeshPro 富文本

    b粗体标签/b i斜体标签/i u下划线标签/u   s删除线标签/s sup上标标签/sup前面后边上标签 5sup。/supC sub下标标签,如:/subHsub2/sub0    size=48文字大小/size size=55%文字大小-百分比/size size=+18默许大小上再添加文字大小/size size=-18默许大小上减去指定文字大小/size pos=40间隔左侧的缩进

    2024年04月29日
    浏览(23)
  • 【Unity】TextMeshPro描边功能

    有的小伙伴第一次使用TextMeshPro的时候,会找不到TextMeshPro的描边功能,对此,我来简单的讲述一下。

    2024年03月12日
    浏览(51)
  • Unity [TextMeshPRO]动态字体显示中文

    我们知道Unity的Text组件在新版本中已经标记为legacy,TextMeshPRO因为有着更加出色的效果被Unity官方奉为主流。 言归正传,如果我们想要用TextMeshPRO]显示中文应该这么处理呢? 首先,我们肯定要导入一份中文字体 因为静态字体的文章较多,这里不再赘述 然后我们在字体上右键

    2024年02月12日
    浏览(40)
  • Unity TMP (TextMeshPro) 创建字体材质

    完整名称:Text Mesh Pro ,unity新一代主流字体插件 1.1 组件变化 内置的Text组件以及与内置Text组件绑定的Button、DropDown、InputField均被替换为使用TextMeshPro的版本 内置的Text组件以及与内置Text组件绑定的Button、DropDown、InputField则被移动到Legacy菜单 1.2 变化说明 旧的组件只是移动到

    2024年02月10日
    浏览(29)
  • Unity3D使用C#脚本修改TextMeshPro的内容(以显示系统时间为例)

    在网上找了很多都没有涉及到这个TextMeshPro内容修改,踩了很多坑,记录一下 特别是using TMPro; public TextMeshProUGUI Text; GetComponent();

    2024年02月11日
    浏览(29)
  • Unity TextMeshPro解决中文乱码以及修改默认字体

    (自学unity问题产生及解决记录贴) 环境及版本:windows,unity 2021.3.20f1c1 一、创建TextMeshPro输入中文产生乱码 问题:TextMeshPro中文显示乱码 解决方法: 使用系统自带字体 在C:WindowsFonts路径下找一个字体,以微软雅黑为例,复制到unity目录下(unity项目中,在project右键Show in E

    2023年04月12日
    浏览(32)
  • Unity TextMeshPro 动态扩充字库和设置默认字体

    情况1:用了TextMeshPro,动态字体,但是超出一定数量后,还是会出现方框。 情况2:新创建的Text默认用的字体是Unity默认字体,还要手动挂下自己做的字体。 解决办法: 1:找到 TextMeshPro 的字体资源,在 GenerationSettings 中有一个 Multi Atlas Textures 选项,勾选上即可。 原因分析:

    2024年04月26日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包