怎么使用BMFont制作美术字体
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,怎么使用BMFont制作美术字体,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。生成 Number.fnt、Number_0.png 两个
千家信息网最后更新 2025年01月24日怎么使用BMFont制作美术字体
怎么使用BMFont制作美术字体,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
生成 Number.fnt、Number_0.png 两个文件,将其拖入Unity 相应位置,继续下一步
箭头所指就是我们要得到的最终目标,在文本处字体使用它就可以了。
在使用 Tools -> BMFont Maker 之前得先完成以下步骤:
using UnityEngine; using UnityEditor; public class BMFontEditor : EditorWindow { [MenuItem("Tools/BMFont Maker")] static public void OpenBMFontMaker() { EditorWindow.GetWindow(false, "BMFont Maker", true).Show(); } [SerializeField] private Font targetFont; [SerializeField] private TextAsset fntData; [SerializeField] private Material fontMaterial; [SerializeField] private Texture2D fontTexture; private BMFont bmFont = new BMFont(); public BMFontEditor() { } void OnGUI() { targetFont = EditorGUILayout.ObjectField("Target Font", targetFont, typeof(Font), false) as Font; fntData = EditorGUILayout.ObjectField("Fnt Data", fntData, typeof(TextAsset), false) as TextAsset; fontMaterial = EditorGUILayout.ObjectField("Font Material", fontMaterial, typeof(Material), false) as Material; fontTexture = EditorGUILayout.ObjectField("Font Texture", fontTexture, typeof(Texture2D), false) as Texture2D; if (GUILayout.Button("Create BMFont")) { 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; } targetFont.characterInfo = characterInfo; if (fontMaterial) { fontMaterial.mainTexture = fontTexture; } targetFont.material = fontMaterial; fontMaterial.shader = Shader.Find("UI/Default");//这一行很关键,如果用standard的shader,放到Android手机上,第一次加载会很慢 Debug.Log("Create Font <" + targetFont.name + "> Success"); Close(); } } }
将这个类放入工程中,这样在 Tools 中才可以找到 BMFont Maker,它的作用是赋予字体的详细信息,由于它是借助 NGUI 来实现的工具,所以得加上 NGUI 中的以下类:
看完上述内容,你们掌握怎么使用BMFont制作美术字体的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
字体
美术
制作
内容
方法
更多
问题
束手无策
为此
一行
两个
位置
作用
信息
关键
原因
对此
就是
工具
工程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中职计算机网络技术的网课
数据库技术与应用课后思考题
数据库链接地址怎么看
数据库 中间件技术
网络安全伪装攻击
数据库评价是什么
乡村网络安全课堂
免root导出数据库
北京灵指互动网络技术有限公司
云领客网络技术有限公司
网络安全小学
一般遇到网络安全后你会怎么做
994065网络安全
中科院网络安全硕士生就业
自架服务器
北京软件开发公司视频
浦东新区数据软件开发报价表
辽宁服务器电源报价多少钱
根域名服务器的基本情况
互联网公司的服务器有什么用
百度时代 网络技术
江苏视频分布式存储数据库
H3C服务器来电开机
服务器架设传奇卡顿
羽芝网络技术官方
群硕软件开发 面试题
数据库有.sp文件
fb数据库安装
服务器管理地图
国内知名软件开发培训机构