一、效果图

二、步骤

  1. 将美术做好的字体分块导入BMFont,使用BMFont工具生成艺术字库;
  2. 将上面的数据导入unity资源目录下:*.fnt文件中记录每个文字的状态信息;
  3. 导入*.png图片并设置:勾选AlphaFromGrayscal;
  4. 右键创建材质球,材质球的Shader指定为GUI/Text Shader,并将Font Texture 换成上面的*.png贴图;
  5. 右键创建Custom Font,指定其Default Material为刚刚创建的材质;
  6. 关于常用的Custom Font参数介绍:
  7. 关于Uv(x,y)的计算以这张图片为例:
    图片大小512 x 32 ,而导入时的每个字符图片大小为29 x 27
  8. 设置好每个字符的参数后,就可以创建Text测试了,将Font替换成刚刚完成的字体文件,就可以开始使用啦!

三、优缺点分析

优点:将美工给的图片做成Custom Font 后,在做UI界面时再也不需要每个字贴一张图片。这时候,只需要做成Text,直接输入需要的文字即可;

缺点:Custom Font 不能改变字体大小、加粗、倾斜等常用字体功能。

四、部分常见问题解决办法

    1. 字体重叠,不能自动换行问题:
      调整第6步参数中的行间距Line Spacing ,至少等于字符高度。例如,原字符为29 x 27 ,那么行间距至少要设置为字符高度27,或者大于27都可;
    2. 字体旋转,不正常显示问题:
      取消勾选第6步参数中每个字符的Flipped。勾选Flipped会使字符逆时针旋转90度;

如何用Unity制作自定义字体——Custom Font的更多相关文章

  1. Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由Route&Navigation

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  2. fontforge制作自定义字体及在手机上应用举例——张鑫旭

    一.看似无关紧要的事件背景 之所以花时间折腾fontforge这个软件,去制作什么自定义的字体是有原因滴. 之前提过,最近我抽空将公司的手机软件HTML5网页化.期间碰到这么一个问题,页面低栏上的电话 ...

  3. bmp制作自定义字体(cocostudio使用)

    工具需求:bmpfont 1.步骤 (1)制作 * 把自己的字体放到一个txt文件中,写个脚本抽离出来, 重复了没有关系 * Edit->Select chars from fils(注意:Ed ...

  4. ugui 自定义字体

    Unity/UI —— 使用字符图片自定义字体(Custom Font) ---[佳] https://blog.csdn.net/qq_28849871/article/details/777190 ...

  5. iOS自定义字体

    1.下载字体库,如:DINCond-Bold.otf 2.双击,在mac上安装 3.把下载的字体库拖入工程中: 4.配置info.plist文件 5.xib方式设置自定义字体:Font选Custom, ...

  6. Unity3d之-使用BMFont制作美术字体

    一.需求 游戏开发中经常遇到需要以美术字(而非字库)做数字显示的情况,通常美术会提供一组包含单个数字(也会有其它字符)的图片,可能是一张整图,也可能是每个数字分开的散图. 在此我以一张整图这种情况为例 ...

  7. CSS学习笔记----CSS3自定义字体图标

    响应式网页字体图标 作者:大漠 日期:2014-01-28 点击:3220 @font-face Responsive 本文由大漠根据Jason的<Responsive Webfont Icon ...

  8. NGUI系列教程四(自定义Atlas,Font)

    今天我们来看一下怎么自定义NGUIAtlas,制作属于自己风格的UI.第一部分:自定义 Atlas1 . 首先我们要准备一些图标素材,也就是我们的UI素材,将其导入到unity工程中.2. 全选我们需 ...

  9. css3 自定义字体的使用方法

    @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许 ...

随机推荐

  1. 一次性插入多条sql语句的几种方法

    第一种:通过 insert select语句向表中添加数据 从现有表里面把数据插入到另外一张新表去前提必须先有test_2表的存在,并且test_2表中的列的数据类型必须和test表里面列的数据类型一 ...

  2. spark1.3编译过程中遇到的一个坑

    在编译spark1.3.0时: export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m&q ...

  3. cmd执行mysql操作

    (以下已安装到本机的mysql为例) 登录mysql数据库,如果没有在环境变量配置path到mysql中的bin目录,需要手动进入该目录中 执行:mysql -u用户名 -p密码 (注意:只要进入了m ...

  4. Robotium怎样判断测试结果

    Robotium判断测试结果的方法主要有三类:assert.is.search.assert方法除了Robotium API,还有Junit中的所有断言方法,Junit的断言方法下篇详解. void ...

  5. null值与空值比较

    JAVA中判断字符串或者数值是否为空时,常用到  .equals函数对空值进行判断 例如  values[5]为参数值 "".equals(values[5]) 常在if语句判断中 ...

  6. SQL Server 自定义聚合函数

    说明:本文依据网络转载整理而成,因为时间关系,其中原理暂时并未深入研究,只是整理备份留个记录而已. 目标:在SQL Server中自定义聚合函数,在Group BY语句中 ,不是单纯的SUM和MAX等 ...

  7. Google黑板报: 数学之美系列(网上找的原链接)

    转载地址:http://blog.sina.com.cn/s/blog_47cccb02010009u0.html 系列一 -- 统计语言模型 http://googlechinablog.com/2 ...

  8. python selenium 操作chrome

    1.下载chromedriver.exe 入在chrome 浏览器目录下 from selenium import webdriverimport os chromedriver = "C: ...

  9. top命令如何列出所有进程

    今天在工作中遇到一个问题,想通过top命令来查看系统内所有进程,上网找到了办法记录下来. 命令:top -bn1

  10. SQL日期格式化应用大全

    Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...