unity制作图片字体

参考http://blog.sina.com.cn/s/blog_6768751b0101niao.html
http://forum.china.unity3d.com/thread-20425-1-1.html

有时候美术会给出一系列的艺术字,例如数字0,1,2,3,4,5,6,7,8,9,这些字以图片的形式给开发人员,这时候图片的用法怎么用呢?

第一种想到的方法是把图片按字命名,然后以字为key存成字典,获取的时候通过字去获取(如代表数字1的图片命名为1,字典key为1,获取时通过Dictionary[1])。

这种方式太过老土~~~~,于是有了第二种,把美术图片做成一个字体(改字体无法调节字体大小,只能通过缩放调整)

一.根据美术图片制作.fnt文件
1.下载bmfont软件,打开后选择选择Options---Font setting.

Font :字体,Size:字体的大小, Match char height: 匹配字符的高度    Bold:字体加粗, Ltalic:斜体
    Font  smoothing:让字体平滑   Level:就是字体的水平距离

2.字体设置好了,导入字体图片。选择Edit—Open Image Manager 。Import Image 导入图片,Delect删除选中的图片,图片导入的时候要保证id不一样,id值随意。

3.保存字体为.fnt文件Option-Save bitmap font as...,生成一个.fnt和.png文件。

二.根据上一步.fnt和.png文件,生成字体。
1.导入Font Setter Packer插件,导入上一步生成的.fnt和.png文件
2.设置.png文件

3.打开Unity中菜单栏中Window->Font Editor窗口

4.选择需要编辑的字体图片文件,选择设置的图片

5.进入自动设置模式,其实是半自动,因为还是要手动输入对应的字母或汉字

6.逐个输入对应的字母或汉字,每输入完一个以后按回车键会自动进入下一个字母的输入模式,所有字母都输入完成后按Stop退出自动模式

7.点击+1,增加一个空格字符,并将空格字符对应的位置放在合适的位置,调整好宽度和高度(可以不要)

8.设置字符对应区域的锚点的垂直位置,注意,同一行的锚点必须保证在同一水平线上,可以直接用鼠标拖动调整锚点位置,也可以直接通过修改Y的值来精确设置锚点的垂直位置

9.打包

10.使用
此时可以看到asset文件夹下多出来几个文件font-1(Font),font-1(Font)(Packed),font-1(Material),font-1(Material)(Packed),font-1(Packed),其中带Packed的都是打包后生成的文件,而红框内的文件是打包之前的,打包完成以后我们不再需要它们,删除。在场景内新建一个UI->Text对象,Text的Font属性选择为我们刚刚创建好的font-1(Font)(Packed)文件,Materia属性选择font-1(Material)(Packed),在Text属性随便输入一句话。需要注意的是,由于Bitmap字体的特殊性,我们无法通过直接设置Font size的大小来设置字体的显示大小,但是我们可以通过设置文字对象的缩放大小来达到这个目的。此外,如果你的图片字体比较大,那么你可能看不到任何文字显示,这时候你需要调整文字对象的width和height到合适的大小来使文字得到显示。(如果打开发现字体图片或材质丢失,手动拉进去就好了,第二次就不会出现丢失了了)。

原文地址:https://www.cnblogs.com/wang-jin-fu/p/8279083.html

时间: 2024-11-07 12:09:47

unity制作图片字体的相关文章

Unity3D中使用BMFont制作图片字体 (NGUI版)

[旧博客转移 - 发布于2015年9月10日 16:07] 有时美术会出这种图片格式的文字,NGUI提供了UIFont来支持BMFont导出的图片字体 BMFont原理其实很简单,首先会把文字小图拼成一张大图(合成一张图上传GPU性能会高一些) 然后生成一份配置,描述了每张小图字符的Unicode编码(这里是10进制),坐标,宽高,偏移量,等等信息 下面说一下制作步骤 BMFont安装:http://pan.baidu.com/s/1jGvTAzc 打开BMFont 选择:Edit/Open I

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

一.需求 游戏开发中经常遇到需要以美术字(而非字库)做数字显示的情况,通常美术会提供一组包含单个数字(也会有其它字符)的图片,可能是一张整图,也可能是每个数字分开的散图. 在此我以一张整图这种情况为例,来说明美术字体的具体制作流程.整图如下: 二.准备 整个制作过程需要用到三样工具: 字体数据制作工具 图片切割工具 字体生成工具 1.字体数据制作工具 字体数据制作工具名为BMFont,是一个Windows上的可执行软件,下载网址为:http://www.angelcode.com/product

详解利用ShoeBox制作位图字体

http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts?utm_source=tuicool 1 ShoeBox 简介 ShoeBox官网 ShoeBox是一个基于AdobeAIR实现的免费跨平台的工具.这个工具使用拖放.剪切板的工作流程方式,能够很方便的处理游戏图片.创建位图字体等. 支持引擎 2 功能概括介绍 ShoeBox虽小,五脏俱全.作者做这个工具足见是用了心,如果各位想

unity制作简单血条

学习Unity已经10天了,也没发现有什么长进,真的急.昨天仿着官方Demo做了个射击游戏轮廓,其中需要给每个怪做一个血条. 搜了一些,挺复杂的,用NGUI或者UGUI,外加很长的代码...不过还是找到了一篇简单的. 但是那一篇把所有的东西都放一起了,不太好,我在这整理分离一下. 背景: 官方Demo恶魔射手.其中每个怪都有一个EnemyHealth脚本,该脚本主要有怪物的血量等,然后有个TakeDamage()函数来计算伤害后的血量. 开始: 1.制作图片: PS一张细长的红色图片作为血量:

Unity 制作滚动物品界面

Unity 制作滚动物品界面: 第一种方式: (panel的方式实现) 1. 创建一个GameObject(A),添加UIPanel和UIScrollView           2. 物品放入A中,添加Drag Scroll View 和 box Colliders(一般是添加一个Grid,物体放入Grid,把Grid放入A) 注意事项: 1. 动态加载的物品坐标不正确,使用Grid组件Reposititon(),进行更新 代码实现: using UnityEngine; using Syst

使用一般处理程序(IHttpHandler)制作图片水印

做网站的时候经常需要将图片加上网站名称的水印.这样做可以使别人转载图片的时候出现图片出处 ,利于网站宣传.但是如果利用ps来一个一个加水印工作量非常浩大,而且修改了之后就没法还原.这 篇教程教大家利用一般处理程序(Handler)制作图片水印,这种水印的优点是一经修改全站适用,而且不改变原来的图片. 制作水印分为两种方法,一种是利用局部Handler,给指定路径的图片添加水印:另一种是利用全局Handler.前者可以灵活的选择指定的图片添加水印,但是不方便的是每次做链接的时候都要 加入Handl

Unity制作游戏中的场景

Unity制作游戏中的场景 1.2.3  场景 在Unity中,场景(Scene)就是游戏开发者制作游戏时,所使用的游戏场景.它是一个三维空间,对应的三维坐标轴分别是X轴.Y轴和Z轴本文选自Unity 2D游戏开发从入门到精通清华大学出版社. 要创建一个新的场景,只需单击File|New Scene命令,或者按下快键键Ctrl+N,如图1-16所示. 图1-16  创建程序的命令,以及场景 默认情况下,新创建游戏项目的同时,也新创建了游戏的场景,只不过还没有保存罢了.使用快捷键Ctrl+S即可保

Android攻城狮Gallery和ImageSwitcher制作图片浏览器

使用Gallery 和 ImageSwitcher 制作图片浏览器 Gallery介绍 我们有时候在手机上或者PC上看到动态的图片,可以通过鼠标或者手指触摸来移动它,产生动态的图片滚动效果,还可以根据你的点击或者触摸来触发其他事件响应.同样的,在Android中也提供这种实现,这就是通过Gallery在UI上实现缩略图浏览器. ------------------------- 谷歌已经将Gallery列为过期的控件,建议使用HorizonScrollView或者ViewPager. -----

WPF设置VistualBrush的Visual属性制作图片放大镜效果

原文:WPF设置VistualBrush的Visual属性制作图片放大镜效果 效果图片: 原理:设置VistualBrush的Visual属性,利用它的Viewbox属性进行缩放. XAML代码:// Window1.xaml<Window x:Class="MagnifyingGlass.Window1"    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns