项目中需要用到很多的美术字,在网上查了可以用BmFont制作,但是要把图片单独切割出来 还要一个一个导入 设置id 大小等等 真的是炒鸡繁琐 后来别人分享了另一个插件 外国大佬制作的,很牛逼 也挺好用 ,链接 但是还是逃脱不了要一个一个字敲 还是觉得很麻烦呢 。所以我制作了一个工具

效果图

1.原理

unity其实一直就有一个custom font功能,网上也能找到很多博客.

然后我们只要设置相关信息

有多少个文字,就设置相应size大小

Index:就是字符十进制索引

UV:文字在图片中的UV信息

Vert:垂直大小取决于字符的像素大小,例如 您的字符均为128x128,在Vert Width和Height中分别输入128和–128将得到适当比例的字母。 垂直Y必须为负。

Advance:从此字符的原点到下一个字符的原点的所需水平距离,差不多也就是宽了

主要 就是每个字的Index

具体可以看看unity的官方文档和另一个文章

https://docs.unity3d.com/Manual/class-Font.html

http://www.manew.com/thread-110484-1-1.html

例如我们在制作数字(0-9)字体的时候就需要 一张数字图片,然后设置Character Rects,文档中说的很清楚,Index就是指的当前字的 ASCII码的索引(十进制),例如0=48 1=49…..

如果我们想设置更多的文字,也是可以的,因为Unity支持Unicode,但是我们需要一些步骤,将文字->16进制->十进制

这里有个在线的转换工具:http://www.ab126.com/goju/1711.html

关于编码可以查看这篇文章:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html

代码

string content = "你好";for (int i = 0; i < content.Length; i++){var bytes = Encoding.Unicode.GetBytes(content[i].ToString());var stringBuilder = new StringBuilder();for (var j = 0; j < bytes.Length; j += 2){//x2是十六进制 两位如果没有用 0补充stringBuilder.AppendFormat("{0:x2}{1:x2}", bytes[j + 1], bytes[j]);}Debug.Log(stringBuilder.ToString());//你->4f60//好->597dint index = Convert.ToInt32(stringBuilder.ToString(), 16);Debug.Log(index);//你->20320//好->22909}

或者

 string str = "你好";for (int i = 0; i < str.Length; i++){Debug.Log(System.Convert.ToInt32(str[i]));//log: 20320//log: 22909}

然后我们把字体的”你”的Index设置成20320即可.

2.需要准备些什么

  1. 要一个text文本确保是utf-8格式,里面文字内容
  2. 要一个艺术字图片,图片大小随便定义,但是要规整的图片 而且自己要知道每个图片字的长宽
  3. 图片的话尽量要规整哦

3.如何使用

最后点击生成就行了 在包中我做了两个示例(图片不好看轻喷 )

4.注意

  1. 文本和图片字顺序要一一对应
  2. 有个很致命的问题 我当时开发的使用的是5.6.2是没有啥问题 但是低于5.6.2会发生字体生成的字体 不会显示 这个时候只要复制(Ctrl+D)一份生成的字体就可以了,这个估计是官方bug

还有什么问题直接github上面提问

附上地址:https://github.com/ZeroUltra/Custom-Font

Unity自定义字体 包括中文相关推荐

  1. Unity 自定义字体 新功能 一

    Unity 自定义字体 新功能 一 首先找一个字体库,我用的 Windws 系统,直接找微软的字拿来用, 在 目录下 C:\Windows\Fonts 随便找一个字体 在此我就拿 华为琥珀 字体(字体 ...

  2. vue2.x使用jodit富文本编辑器,并配置自定义字体和中文

    最近在做邮箱系统时,需要用到功能比较齐全的富文本编辑器,比如表格的全部功能,完整颜色板:筛选了多款编辑器,最终拟定了两种,一个是百度的UEditor,一个是Jodit. UEditor参考网址: Jo ...

  3. Unity/UI —— 使用字符图片自定义字体(Custom Font)

    前言 在Unity的UI设计中,我们经常会遇到需要自定义字体的情况.毕竟Unity自带的字体只有Arial一种,根本无法满足人民群众对于美的向往.当然,全能的Unity支持我们导入或创建字体,并可以在 ...

  4. Unity自定义美术字体(图片字体fontsettings)

    目录 本文内容 效果 工具代码 制作美术字体 1 资源 1.1 资源方式 1.2 资源命名 1.3 资源命名配置 2 打包字体 2.1 创建字体 2.2 更新字体 3 字体使用 本文内容 开发过程有个 ...

  5. unity 使用BMFont 制作自定义字体

    unity cocos 使用BMFont,生成自定义字体 1.BMFont下载地址 http://www.angelcode.com/products/bmfont/ 本篇讲解如何利用美工提供的字符图 ...

  6. unity 字体width_Unity中制作自定义字体

    使用Unity中的Sprite.Unity支持把一个Sprite切割成多个. 需要手动做的工作是将图集的TextureType设置为Sprite,然后把SpriteMode设为Multiple,打开S ...

  7. 【Unity】UGUI 如何使用CustomFont(自定义字体)

    说在前面 若是转载 ,请注明出自喵喵丸的博客 (http://blog.csdn.net/u011643833/article/details/49102423) 正体 最近需求做一个界面上Text, ...

  8. android自带中文字体,Android更换系统默认显示的字体使用自定义字体

    序言 上一篇Android 自定义字体,更换系统默认显示的字体使用自定义字体有讲到怎样指定控件显示指定字体,怎样整个软件显示指定字体,怎样WebView加载指定字体,但是还留下一个怎样修改整个系统的默 ...

  9. 自定义字体 (暂不支持中文)

    视频: http://player.vimeo.com/video/15017698?title=0&byline=0&portrait=0 <script src=" ...

最新文章

  1. 检测缓存文件是否超时
  2. 2020,人工智能和深度学习未来的五大趋势
  3. 建房子之前先挖地基 - Java BlockingQueue理解
  4. New Companies(关联查询+group by)
  5. 江西一级b计算机考试报名,全国计算机等级考试一级b
  6. C# 学习笔记1 .NET平台,C#的重要概念
  7. POJ_2112 Optimal Milking(网络流)
  8. linux网络代码结构
  9. CGI form标签学习
  10. 管理信息系统第一次作业
  11. 二代测序 下载 NCBI sra 文件
  12. Meta-Tracker(ECCV 2018)视频目标跟踪源码运行笔记——Testing模式
  13. Android无障碍服务( Accessibility Service)应用
  14. 卓一电子 智能防雷定时插座 ZYT21时控开关 定时功能设置说明书
  15. 项目要求完成杀毒软件,可是为什么网上关于杀毒软件的资料那么少啊
  16. Android常用的第三方开源库和框架
  17. [数据结构]~二叉树
  18. 富受贿数额为45437元
  19. 数据恢复软件下载地址
  20. 设计模式篇:单例模式

热门文章

  1. 2022深圳国际电子设备及检测仪器展览会
  2. CSS表格边框避免重叠的问题
  3. 浅谈PPT配色方案的认识与使用
  4. AVR系列单片机的基本架构(翻译自俄语讲义)
  5. 克里金插值(Kriging)在MATLAB中的实现(克里金工具箱)
  6. 基于SSM的网红书购物商城(源码+论文+开题报告+答辩PPT)
  7. SQL注入原理及防范
  8. Nginx去配置socket的时候,发现nginx没有配置ws/wss协议,配置步骤如下
  9. 综合性实验五、有限状态机的硬件描述语言设计方法
  10. protel99se封装库中的三个文件夹说明