在Unity的UGUI中使用EMOJI表情

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


由头

  • 项目中遇到有玩家名称里面有emoji,需要显示,于是开始着手弄这个功能。
  • 查了各种资料,发现ugui好像弄不了。先是在github上看了 https://github.com/mcraiha/Unity-UI-emoji 但是下载下来用不了,然后在 csdn 上也各种看了下,都写的有板有眼的但是用2021.3的unity都跑不出来博客里描述的效果。所以当时转向用textmeshpro弄这个emoji,所以才有了上一篇文章。
  • 这两天看到爱发电上有大佬因为上一篇文章打赏了一笔,所以顿感知识分享的重要性,可以让他人少走弯路节省时间变相的延长了生命。所以把后续用ugui解决emoji显示的也来写一篇。

EMOJI的UGUI解决方案

  • 最终参考了 https://github.com/zouchunyi/EmojiText 和 https://github.com/coding2233/TextInlineSprite 里的图文混排方案
  • 修改为了emoji图片显示,同时支持emoji的识别和输入
  • 优化了emoji图的占位空间,优化了emoji图集的生成
  • 增加了emoji图片的尺寸批量修改和四周留空白像素

Text支持Emoji

unity emoji系统,unity,游戏引擎,ui

将 Text组件替换为 EmojiText组件即可

InputField支持Emoji

unity emoji系统,unity,游戏引擎,ui

将 InputField里的Text的换成EmojiText,然后拖入InputField里的TextComponent即可
注意:当使用InputField的时候,需要将EmojiText的richText选项取消勾选

Canvas设置

unity emoji系统,unity,游戏引擎,ui

使用EmojiText的Canvas, Additinal Shader Channels 里 至少要勾选上 TexCoord1

EMOJI图集生成

unity emoji系统,unity,游戏引擎,ui

填写好输入和输出地址,点击开始即可

缺陷

EmojiText 不支持空格等空白字符输入,会导致计算位置等错误,所以已在代码中自动将所有空白字符剔除

EMOJI图片获取和批量修改

https://github.com/twitter/twemoji

  • 使用了该github收集的emoji图片,目前包含3689个emoji图片

  • 该图片为 72*72 大小的

  • 项目不需要那么大的图,所以需要整体缩放一下,同时为了显示效果还需要将四周留白几个像素不然效果会不好

  • 下面为python批量处理的代码

#! /usr/local/bin/python3
# -*- coding: utf-8 -*-

import sys
import os
import glob
from PIL import Image

def main():
    input_dir = 'input/'
    output_dir = 'output/'
    size_output = 32,32

    # 目录不存在则创建
    if not os.path.exists(output_dir):
        os.mkdir(output_dir)

    if os.path.exists(input_dir):
        paths = glob.glob(os.path.join(input_dir, '*.png')) # 遍历图片
        for path in paths:
            try:
                logo = Image.open(path)
                old_size = logo.size
                new_size = old_size[0]+2,old_size[1]+2
                new_im = Image.new("RGBA",new_size) # 创建一个比当前图片大的,然后把当前图片放到中央,这样四周就有了多余像素
                box = tuple((n - o) // 2 for n, o in zip(new_size, old_size))
                new_im.paste(logo, box)
                new_im.thumbnail(size_output)  # 缩放到指定大小
                new_im.save(output_dir + os.path.basename(path))

            finally:
                logo.close()
                new_im.close()

if __name__ == '__main__':
    main()

将output文件夹里的处理过的图片导入unity,然后选中所有图片勾选上 read/write 然后apply,方可使用上面的图集生成工具进行操作
unity emoji系统,unity,游戏引擎,ui


如果您觉得对您有帮助,可以点这里请我喝杯咖啡,同时相关资源也会同步免费发布文章来源地址https://www.toymoban.com/news/detail-794822.html

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

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

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

相关文章

  • uniapp - [全端兼容] 详细使用 emoji 表情包,在输入框中发送及显示 emoji 表情(全平台小程序/ H5 / App通用,类似微信聊天的小表情,支持文字与表情混合在一起,后端易存储)

    网上的教程都太乱了,各平台之间不兼容、各种显示表情的 BUG 一大堆问题,很难进行复制使用。 本文 实现了在 uniapp 全端兼容(h5网页 / 小程序 / 安卓苹果app / nvue等)项目开发中,详细引入并使用 emoji 表情库插件,支持表情的自定义增删、表情样式控制等, 全平台通用插

    2024年02月15日
    浏览(224)
  • HTML emoji整理 表情符号

    参考链接: https://blog.csdn.net/qq_53679247/article/details/127383775 https://chat.xutongbao.top/#/ai/chat 

    2024年02月09日
    浏览(33)
  • ChatGPT实现markdown 格式与 emoji 表情

    书写文章时,巧妙的使用一些小图标,可以给文章增加不少的灵动感,读者也会感觉更加轻松。恰当的图标也能增进读者对内容的理解。ChatGPT 目前不能直接联网,但可以使用 emoji 表情文字来达到类似的效果。我们在不少 GitHub 的项目介绍和个人介绍页面上,都可以看到在列

    2024年02月07日
    浏览(34)
  • 表情符号(emoji)大全,只此一文便够了

    本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 全文介绍 emoji 表情符号的相关知识、资源、输入等,以及符号收集,便于复制粘贴。 建议收藏,取用方便。 【原创:AhcaoZhu大侠】 😀😁😂🤣😃😄😅😆😉😊😋😎😍😘🥰😗😙🥲😚☺️🙂🤗🤩🤔

    2024年02月02日
    浏览(29)
  • 【动画进阶】有意思的 Emoji 3D 表情切换效果

    最近,群里面的同学发了这么一个非常有意思是动画效果: 原效果地址 -- CodePen Demo -- Letter Hop 当然,原效果,主要使用了 GSAP 动画库以及一个 3D 文字 JavaScript 库: 但是,这个效果,其实本身并不复杂。 本文,我们将不借助任何动画库,尝试用最简单的 CSS 和 JavaScript 代码还

    2024年02月14日
    浏览(26)
  • Java 21增强对Emoji表情符号的处理了

    现一个 Java 21 中有意思的东西! 在 java.Lang.Character 类中增加了用于确定字符是否为 Emoji 表情符号的 API,主要包含下面六个新的静态方法: 这些静态方法通过接收字符的 codePoint 来判断是否为表情符号来返回 boolean 值。 所以,我们可以用 isEmoji 方法来判断字符串中是否有表情

    2024年02月05日
    浏览(35)
  • 微信消息收发与微信内部emoji表情转义

    目录 微信内部emoji表情转义与消息收发 一、概述 二、常用标准emoji表情字符、微信内部转义符、unicode对照表 1、比如 2、微信聊天窗口emoji表情字符 2.1、PC端表情选择,01~03排: 2.2、PC端表情选择,04~06排: 2.3、PC端表情选择,07~09排: 2.4、PC端表情选择,10~12排: 2.5、PC端表情

    2024年02月12日
    浏览(41)
  • Android一步一步教你实现Emoji表情键盘

    背景: 说到聊天,就离不开文字、表情和图片,表情和图片增加了聊天的趣味性,让原本无聊的文字瞬间用表情动了起来,今天给大家带来的是表情键盘,教你一步一步实现,先来看下效果图: 效果图 功能: 1、如何控制表情键盘与输入法的切换 2、如何解析表情 3、如何处

    2024年02月16日
    浏览(30)
  • iOS开发-聊天emoji表情与自定义动图表情左右滑动控件

    iOS开发-聊天emoji表情与自定义动图表情左右滑动控件 之前开发中遇到需要实现聊天emoji表情与自定义动图表情左右滑动控件。使用UICollectionView实现。 UICollectionView是一种类似于UITableView但又比UITableView功能更强大、更灵活的视图,这是源于它将UICollectionView对cell的布局交给了

    2024年02月15日
    浏览(40)
  • pytest pytest-emoji通过表情包展示执行状态

    pytest-emoji 是一个用于在 Pytest 测试运行期间显示 emoji 表情的插件。它可以为测试结果添加一些有趣的表情符号,以增加测试报告的可读性和趣味性。 使用 pytest-emoji 插件非常简单,只需按照以下步骤进行操作: 首先,确保已经安装了 pytest ,可以使用以下命令来安装它: 然

    2024年02月03日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包