ShoeBox 快速建立Unity美术字库(NGUI以及UGUI)
来源:互联网 发布:网络大学 编辑:程序博客网 时间:2024/04/29 13:16
昨天经同事介绍,使用ShoeBox建立Unity的美术字库,爽死了!让bmfont什么的见鬼去吧!基于原有的说明文档,还是有点不直接,让我误会了好一段时间,所以还是决定自己写一下。先给出下载地址:http://renderhjs.net/shoebox/官网,免费下载,.air格式文件,之前需要下载安装Adobe Air:https://get.adobe.com/cn/air/然后安装的过程就不详细说了,直接上正轨。1、美术给出效果图,字体他们爱怎么搞就怎么搞,唯一注意的就是字之间的间距需要足够大,最好每个字都在一个固定的框框内,以便ShoeBox进行切割。如图:
2、好,现在开始程序的事情了,打开ShoeBox,找到GUI/ BitmapFont:
3、右键点击Bitmap Font,打开设置:
注意几项:
File Name: 输出文件的名字
Txt Chars : 对应的文字符号,顺序要根据图标显示的,从左到右,从上到下一次排列,不然就会出现张冠李戴的问题了,比如这里0要在9之后~不是排在第一位,就是因为美术给出的图片0就是在9后面的。
Txt Line Height:行高,不用说了吧
设置完毕之后,点一下Apply,好了。
4、用鼠标将美术提供的图片拖进Bitmap Font内,对!就是拖!为了防止你们想象不到,我还是截个图吧:
如果你是在setting打开的情况下进行拖拽,你就可以看到一下的预览图:
是否一目了然?
5、最后点一下Save Font,就生成了一下两个文件:
那个txt文件其实就是fnt啦,see,这个生成过程是不是比bmfont生成图片,然后再让美术替换图片要爽得多~
再附录一篇网上转载得比较多的文章:
http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts
剩下的,如果你是使用的NGUI,那么就打开Font Maker,原来怎么办就怎么办。这个我就不多说了。
如果你是是用的UGUI,就要建立一个Common Font,然后需要对每个元素进行复制,以下有一段通过txt信息对Common Font进行赋值的核心代码:
BMFontReader.Load(bmFont, fntData.name, fntData.bytes); // 借用NGUI封装的读取类 CharacterInfo[] characterInfo = new CharacterInfo[bmFont.glyphs.Count]; for (int i = 0; i < bmFont.glyphs.Count; i++) { BMGlyph bmInfo = bmFont.glyphs[i]; CharacterInfo info = new CharacterInfo(); info.index = bmInfo.index; info.uv.x = (float)bmInfo.x / (float)bmFont.texWidth; info.uv.y = 1 - (float)bmInfo.y / (float)bmFont.texHeight; info.uv.width = (float)bmInfo.width / (float)bmFont.texWidth; info.uv.height = -1f * (float)bmInfo.height / (float)bmFont.texHeight; info.vert.x = 0; info.vert.y = -(float)bmInfo.height; info.vert.width = (float)bmInfo.width; info.vert.height = (float)bmInfo.height; info.width = (float)bmInfo.advance; characterInfo[i] = info; } // Create custom font Font font = new Font(); font.name = FontName; font.characterInfo = characterInfo; font.material = CreateFontMeterial(); // 创建材质,里面绑定对应的字体贴图,以及渲染用的shader // Save font. string fontFile = ExportFile + ".fontsettings"; AssetDatabase.DeleteAsset(fontFile); AssetDatabase.CreateAsset(font, fontFile);
至于你怎么利用这段代码,我就不管了。
如何使用Common Font,更详细的文章:
http://blog.sina.com.cn/s/blog_89d90b7c0102vk20.html
- ShoeBox 快速建立Unity美术字库(NGUI以及UGUI)
- UGUI(十)美术字库
- unity 按钮绑定事件(NGUI UGUI)
- Unity UGUI与NGUI的比较,NGUI完胜UGUI
- 【Unity&UGUI&NGUI】浅谈UGUI和NGUI两者的优劣
- Unity教程之-UGUI美术字体的制作与使用
- 【Unity&Atlas】NGUI与UGUI打包图集的步骤以及比较
- Unity富文本(UGUI/NGUI/Debug)
- Unity中NGUI与UGUI的区别
- 【Unity&NGUI&UGUI】2D精灵物体变色彩透明以及图片高亮变色的方法
- Unity ShoeBox Extract Sprites 到 Unity 格式
- UGUI运用美术字体
- UGUI运用美术字体
- UGUI运用美术字体
- Unity新UI系统UGUI与NGUI效率对比
- unity UGUI实现类似NGUI切换Sprite的方式
- Unity NGUI和UGUI与模型、特效的层级关系
- Unity NGUI和UGUI与模型、特效的层级关系
- Yarn资源分配示例
- 云服务器 ECS CentOS 7配置默认防火墙 Firewall
- windows 各版本激活方式
- httputils查询网络资源
- Codeforces Round Intel Code Challenge Final Round B.Batch Sort
- ShoeBox 快速建立Unity美术字库(NGUI以及UGUI)
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) A题
- 在寻找NSRunLoopCommonModes和NSDefaultRunLoopMode区别时发现
- 正向代理与反向代理
- [kuangbin带你飞]专题四 最短路练习 A POJ 2387
- position属性(absolute; relative; fixed)以及相关属性z-index
- Spring切入点表达式常用写法
- AsyncTask与FutureTask运用介绍
- iwebshop sql语句拼接