[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使用图片显示数字(CustomFont)记录备忘

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

Unity的UGUI中使用CustomFont(BMFont)

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

Unity 自定义字体 Custom Font 原理 二

Unity 自定义字体 Custom Font 原理 二接上一篇做好的自定义字体库,以它为例 选中字体库,在Inspector面板显示出来它的所有属性 下面挑选几个属性:(1)Ascii Star...

BMFont 使用方法 三

BMFont 使用方法 三将图片制作成字库 从网上随便下载一个数字图片 由于本人嫌麻烦,对PS也不熟练。就直接用截图把数字截成 10 个 数字 打开BMFont 将数字图片加入到 BMFont...

BMFont 使用方法 二

BMFont 使用方法 一接上一篇 BMFont使用方法一字体设置,导出设置不变 变化的为字符的选择 如果我们需要的字符比较多,但是又不是选择字库的全部字。总不能一个一个选吧 这个时候就使用另一...

使用UGUI实现数字变化,可以在前后加图片

using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic;...

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

说在前面 这是我的第一篇博客, 之后慢慢试水搬一些自己曾用到的博客,还有一些自己尝试出来的东西。我深知自己还远远不够,若是有人看到了我的博客,请给我提意见吧~ 若是转载 ,请注明出处喵喵丸的Bl...

UGUI 使用BMFont

UGUI 使用BMFont首先要知道 Custom Font 的原理,不知道的同学可以先看这篇[Custom Font 原理](http://blog.csdn.net/liqiangeastsun/...

Unity 自定义字体 新功能 一

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

UGUI-血条

UGUI 血条血条制作要解决的问题就是坐标转换,即将角色的3D世界坐标转换为屏幕坐标,再由屏幕坐标转换为UI的2D世界坐标,然后将UI血条的坐标设置成UI的2D世界坐标。下面是制作的详细步骤-使用UG...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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