Unity中使用TextMeshPro打出Emoji表情 您所在的位置:网站首页 怎么用emoji表情 Unity中使用TextMeshPro打出Emoji表情

Unity中使用TextMeshPro打出Emoji表情

2023-07-25 14:46| 来源: 网络整理| 查看: 265

文章目录 1 制作Emoji图集1.1 准备好emoji素材1.2 下载 TexturePackerGUI 软件1.3 制作图集并输出 2 制作TextMeshPro素材资源2.1 导入 TextMeshPro 库2.2 制作 TextMeshPro 的 Sprite Assets 3 打出完美的emoji表情3.1 将上一步的 Sprite Assets 引用到 TextMeshPro 的设置中3.2 调整 TexturePackerGUI 输出的细节

最近遇到一个需求,在聊天框中支持用户的Emoji输入,查了半天资料没有一个能说清楚的,于是自己研究琢磨了下。 最终效果 最终效果可以在APP输入框中使用系统的输入法输入emoji表情并显示,如下 UI-哈哈-final

1 制作Emoji图集 1.1 准备好emoji素材

找到emoji图片,注意需要是 unicode.png 格式命名的。github上一些开源项目有这些图,或者到这个链接(提取码: 0uN0 )下载

Emoji图片

准备使用。

1.2 下载 TexturePackerGUI 软件

到这个链接下载并安装,打开软件 TexturePackerGUI

语言的切换在这里 语言切换

1.3 制作图集并输出

制作图集

将Emoji图片文件夹拖入到左侧栏目里,同时右侧的数据格式切记选择 JSON(Array), 而不是 Unity的texture和json格式. 点击发布精灵表,输出保存即可。 输出图集

sprite-output

2 制作TextMeshPro素材资源 2.1 导入 TextMeshPro 库

项目中在 PackageManager中导入 TextMeshPro , 注意版本为Pre-Release的3.2.x的而不是当前最新的Release 3.0.x TMP

在 Project Settings 可以打开Pre版本的展示 PackageManager-Pre

不过可能是网络因素或者中国版因素,很大可能开启了pre版本拉取依旧package manager里不展示,如果这样的话可以到 TextMeshPro的github源码库下载并导入该库 TMP-github

记得将Essential素材导入 TMP-essential

2.2 制作 TextMeshPro 的 Sprite Assets

打开 Sprite Importer 开始制作TextMeshPro的SpriteAssets TMP-Importer

将1.3制作输出的文件拖入,勾选 use filenames as Unicode sprite-output

然后Create Sprite Asset,没问题的话会输出结果 sprite-output-create

再点击 Save Sprite Asset 保存即可 sprite-output-save

建议将这些素材放到TMP Essential目录里,刚好他里面也有个emoji的demo sprite-output-folder

3 打出完美的emoji表情 3.1 将上一步的 Sprite Assets 引用到 TextMeshPro 的设置中

选中 TMP Settings 将上一步导出的 Sprite Assets 拖入设置为 Default Sprite Assets TMP Settings

此时就可以测试TextMeshPro打字打emoji了,win10的默认微软输入法和市面上的输入法一般都支持直接打emoji,例如键盘输入拼音 haha 候选里面就会有emoji 输入法哈哈

UI结果如下所示,不尽人意,图片内容有裁剪和其他内容,并且图片位置下移或不对劲 UI-哈哈

3.2 调整 TexturePackerGUI 输出的细节

按照如下设置配置 TexturePackerGUI packer配置1 packer配置2

重要的几个点为布局里的

大小限制-POT(2的幂)强制正方形-勾选缩放模式-平滑算法-网格/条带允许旋转-不勾选

做到上述配置,再次导出并制作Sprite Assets, 并在 TMP Settings 里拖入新的Sprite Assets即可观察效果。 建议新制作导出制作Sprite Assets是重新命名保存个新的文件并在TMP重新拖动,防止Unity不更新素材文件等。 到这里,图片可以正常显示了。 UI-哈哈-new

不过位置依旧不对,需要将图集的锚点重新设置,按照实际图片的需求设置并导出测试。我使用的emoji图片需要以下设置。 在 TexturePackerGUI 左边的列表随便选中一张图双击进入详情,将锚点设置为下面这样,默认应该是预定义里的中央0.5;0.5 ,自己调整并且点击那个回车按键,这样新导入的图片就会使用这个配置。我这里设置为0.8并且按了回车。然后将左边的图片文件夹选中点 delete 按键删了,重新导入,这时所有图片都是这个锚点配置了,重新点击发布精灵表 即可 Sprite锚点

最终的效果如图,这样就基本OK了 UI-哈哈-final

这个链接(提取码: 3pv3 )可以下载最终导出的json和png直接制作sprite assets

至此,就结束了TextMeshPro制作带unicode的emoji表情功能的sprite assets

如果您觉得对您有帮助,可以点这里请我喝杯咖啡,同时相关资源也会同步免费发布



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有