Unity使用TextMeshPro多字体和材质热更

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

最近Unity项目中使用到TextMeshPro做聊天,需要支持部分字体带描边,部分字体不带描边。想到的决解方案是:TextMeshPro支持多字体展示(具体可以查看组件的官方案例Link Example),就做了两个字体一个是带描边的一个是不带描边的。

但是有个问题是多出来的一个字体需要放在Resources目录下生效,为了决解这个问题查看了TextMeshPro组件字体加载的源码,可以采用对资源字体热更加载,再缓存到TextMeshPro组件的字体管理器中TMPro.MaterialReferenceManager.AddFontAsset

       BaseAssetAsyncLoader loader = AssetBundleManager.Instance.LoadAssetAsync("fontname", typeof(TMPro.TMP_FontAsset));
        TMPro.MaterialReferenceManager.AddFontAsset((TMPro.TMP_FontAsset)loader.asset);

代码思路如上LoadAssetAsync是热更资源加载封装方法,TMPro.MaterialReferenceManager是组件字体管理类。在lua边调用也一样。

方案优化:

前面的部分字体带描边,部分字体不带描边,也可以使用material属性在同一种字体中切换不同的材质来实现。即:字体默认材质不带描边,需要带描边的通过富文本标签来切换。只需要将上面方案的富文本字体标签<font></font>换成<material></material>。然后这个材质需不需要热更就看你自己需要,热更的思路和字体一样,方法API如下:文章来源地址https://www.toymoban.com/news/detail-599138.html

 TMPro.MaterialReferenceManager.AddFontMaterial

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

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

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

相关文章

  • Unity TextMeshPro解决中文乱码以及修改默认字体

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

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

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

    2024年04月26日
    浏览(44)
  • Unity中TextMeshPro的使用

     在Unity中有自带的Text组件,这个组件已经能够满足我们日常开发中绝大多数的开发字体显示需求了,我们为什么还要使用这个TextMeshPro组件呢?这是因为Text使用的是基于位图的渲染技术而TextMeshPro基于的则是SDF算法即基于网格的文本渲染技术,并且TextMeshPro相比于Text拥有更

    2024年01月17日
    浏览(40)
  • Unity的TextMeshPro使用概览

    一、生成动态字体 1.字体文件:比如windows系统的fonts文件夹中 2.导入unity,create——Text Mesh Pro——Font Asset 3.字体补充:建一个txt文件,收录常用汉字(中文标点符号也要自己处理),导入unity,然后选中生成的SDF字体,更新字体图集 4.选择合适的分辨率,太小会导致字体放大

    2023年04月09日
    浏览(32)
  • Unity中使用TextMeshPro打出Emoji表情

    最近遇到一个需求,在聊天框中支持用户的Emoji输入,查了半天资料没有一个能说清楚的,于是自己研究琢磨了下。 最终效果 最终效果可以在APP输入框中使用系统的输入法输入emoji表情并显示,如下 1.1 准备好emoji素材 找到emoji图片,注意需要是 unicode.png 格式命名的。github上

    2024年01月18日
    浏览(51)
  • Unity TextMeshPro使用技巧-添加描边渐变色

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

    2024年02月16日
    浏览(50)
  • Unity - TextMeshPro

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

    2023年04月08日
    浏览(38)
  • Unity - TextMeshPro显示中文

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

    2024年02月14日
    浏览(46)
  • 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日
    浏览(32)
  • 【Unity】TextMeshPro描边功能

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

    2024年03月12日
    浏览(61)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包