[UGUI]UGUI使用图片文字(Custom Font)

原创 2015年07月09日 22:08:39
  1. 如果你需要为NGUI导出素材,建议从开头开始看,如果是为UGUI导出字体素材,可以直接跳到第7步。
  2. 先清理一遍Character。 方法: Edit>Clear all chars in font
  3. 在BMFont中逐个导入贴图(在此以数字0~9为例):Edit>Open Image Manager. 点击Image>Import Image。不能批量导入,也不能批量编辑,虽然是免费的,但这软件做的也太他妈傻逼了,但问题就在于还没有更好的替代品,也只能忍了
  4. 设置好ID,这里的ID就是ASCII码,例如0是48,1是49,以此类推。可以在BMFont的字符窗口看到ID,鼠标悬停的字符,右下角有一对数字,前者即ASCII码(后者是Unicode码)
  5. Options>Export Options里设置贴图大小(大小自己看着给,2的N次方尺寸,多试几次,用Options>Visualize来预览,不要浪费,更不要一张图装不下,生成了两张),Padding和Spacing设置为0(因此在做贴图的时候要留点空白边).
  6. 导出Font,会生成两个文件,一个fnt,一个图片,fnt可以为NGUI所用,这里就不多说了,UGUI中使用的Custom Font只能用到图片。
  7. BMFont的工作至此技术,下面的都是在Unity中的操作。其实不用BMFont也可以做这个工作,直接在Photoshop里按照固定的尺寸和网格把图片依次排列也可以达到这个效果,因为后面我们只需要一张PNG的图片。
  8. 把PNG图片导入Unity工程
  9. 创建材质球,使用Unlit>Transparent材质,关联上述贴图
  10. 创建Custom Font,将上述材质球关联到Default Material中。
  11. 先将Character Rects的size设置为1,然后设置第一个元素的参数
  12. Index为字符的Ascii码,例如0为48. 本例中还有个办法,可以设置Custom font的Ascii Start Offset为48,然后从0-9的Index依次设置成0-9,结果是完全一样的。
    Uv:整张贴图左下角为(0,0)点,右上为(1,1)点,因此如果是一个尺寸为256*256的图片,划分方式是4*4,那么第一个物体的Uv是这样的: X:0 Y:0.75 W:0.25 H:0.25 (Y是0.75因为是从下往上数,第一个字符的图片左下角的Y位于3/4处。宽度和高度是0.25,因为每个字符的宽和高都占据了整张图宽和高的1/4,其他Uv划分方法的图片类推,不多解释了)
    Vert是实际尺寸和偏移,X:0 Y:0 W:64 H:-64 偏移为0,像素宽是64,注意,高度是-64,至于为什么是负数,应该也是从左下角往右上角开始算起。(不得不说这个设置也很二,非要很别扭的填一个负数)
    Width是64(说实话不明白这里为什么又填写一次宽度)
  13. 第一个填写好以后,再把Character Rects的Size改成需要的字符数量,本例为10。这样新增的字符都会复制第一个字符的设置。只需要改动Index和Uv中的Y了。
  14. 设置好字体以后,创建一个Text,关联上一步的字体,还要设置Material为第9步创建的材质(这样才能正确显示字体效果)。之后就可以输入你创建的自定义字体了,当然,只能显示你创建了的字符,本例中是0~9。整个过程非常低效,期待有增强插件出现
版权声明:请尊重原创内容,转载请注明来源及链接。

Unity-【编辑器扩展】一键批量修改预设UGUI Text字体

我们做项目的时候经常会遇到要换个字体的工作情况,比如美工同学觉着字体不好看或者要做其它语言版本什么的。遇到这种情况我们总不能一个标签一个标签的去找到它们把字体换了,累不累就不说了,万一漏了也是麻烦事。...

【Unity3D ugui】使用艺术字

目录(?)[-]为什么要写这篇艺术字制作流程最终效果需要注意的问题为什么要写这篇其实很早之前就有大神研究出来如何在ugui中使用艺术字,这里奉上文档。之所以再来重复一遍,是因为今天遇到一个问题:在手机...
  • Kaitiren
  • Kaitiren
  • 2015年08月04日 19:52
  • 13459

【UGUI】美术字体的制作与使用

原文:http://www.unity.5helpyou.com/3211.html 游戏制作中,经常需要使用各种花哨的文字或者数字,而字体库往往不能达到我们需要的效果,因此需要一种用图片替代文...

UGUI字体不清楚——终极探索

scale with screen时,会有问题 主要问题是pixel perfect的问题,当位置不为整数时,显示会出现模糊现象需要注意的是text组件为居中时,上下居中需要text组件的高度为2...

UGUI运用美术字体

在游戏的制作中,美术字的运用是美化游戏的常用手段。比如普攻,暴击打出的战斗飘字就常常利用不同的美术字来做出区别。那么在Unity中如何把美术字运用起来呢?且看下文: 1、道具准备。 BMFont:位...

UGUI中使用位图艺术字(使用BMfont的两种方式)

第一种方式实现:   NGUI中有 动态字体, BMFont (从官网下载就是一个  .exe  文件! http://www.angelcode.com/products/bmfont/  ) BM...

用BMFont做UGUI美术字体

项目中经常会用到数字图片来显示玩家战力、战斗中的伤害数等,可以借助BMFont来制作一种字体,步骤如下: 1,先位图字体制作工具在电脑上安装好BMFont软件(位图字体制作工具),安装好之后打开如下:...

unity uGui使用图片显示数字(CustomFont)记录备忘

因为自己在学习unity,最近需要用到图片数字,百度了一下,发现还真有些关于Ugui的,自己总结记录下,以防忘记. 现在我们有的假设是这样的图片 新建一个材质球,Shader设置我自己试了,很多...

Unity的UGUI中使用CustomFont(BMFont)

Unity的UGUI的文字渲染效率应该是挺高的,一般来说用默认的Text控件,TTF的Font就满足需求了。不过有时候需要渲染艺术字体的时候还是需要用到BMFont。 一、BMFont的基础使用,创...

UGUI 使用BMFont

UGUI 使用BMFont首先要知道 Custom Font 的原理,不知道的同学可以先看这篇[Custom Font 原理](http://blog.csdn.net/liqiangeastsun/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[UGUI]UGUI使用图片文字(Custom Font)
举报原因:
原因补充:

(最多只允许输入30个字)