Unity3D下NGUI插件使用中文TrueTypeFont(ttf)字库教程
2015-12-03 15:30
495 查看
原文 http://www.cnblogs.com/kazzakyoung/archive/2013/03/21/2974019.html
使用环境:需要Unity 4.x的版本,NGUI本教程使用的是2.5.0版本
1、新建一个新的项目
2、导入NGUI2.5.0版本的插件包
3、导入修改后的NGUI_277c_DynamicFonts_modify插件包,修改后的插件包见http://115.com/lb/5lb3of5
备注:原先的动态字体插件包对NGUI2.3.6以及之后的版本有兼容问题,笔者已经做了修改适应NGUI2.5.0,经测试目前没有明显bug,动态插件包的原作者地址http://www.tasharen.com/forum/index.php?topic=2707.25
4、打开windows控制面板中的字体文件夹
5、测试使用华文行楷的字体,直接拖入到unity3d的project文件夹中就可以了
拖入后,如下显示
6、新建一个材质ttfMaterial
7、材质的shader选择Transparent Colored(DynamicFont)
8、在unity的Hierarchy中新建一个空物体(GameObject),改名为ttfFont
点击物体的inspector面板中的Add Component,选择NGUI->UI->Font
9、FontType选择Dynamic,显示如下
10、将先前生成的STXINGKA字体和ttfMaterial分别投入到Font和Material下面
其中,Size代表生成的字体大小,Style可以选择斜体、粗体等
11、将Hierarchy中的ttfFont物体拖入到Project中,变为预置物体(Prefab),ttf动态字体就完成了
12、清空Hierarchy,加入NGUI的层次结构
13、加入一个背景,选择了插件自带例子中的Fantasy Atlas作为素材(这一步可以省略,只是为了让字体看的更加突出一点)
14、加入一个label
15、将刚才拖为预置物体的ttfFont直接拖入到UILabel的材质上面,就可以了
16、字体显示效果如下,如果想让字体显示更大或者更加清晰,可以在第10步制作字体的时候将字体的size选择更大的字号
目前存在的问题:字体无法换行,如果想显示多行字体,必须使用多个label,初步猜想是在解析内容的时候,没有加入换行符的解析,笔者有空将研究代码,看看有没有可能解决
使用环境:需要Unity 4.x的版本,NGUI本教程使用的是2.5.0版本
1、新建一个新的项目
2、导入NGUI2.5.0版本的插件包
3、导入修改后的NGUI_277c_DynamicFonts_modify插件包,修改后的插件包见http://115.com/lb/5lb3of5
备注:原先的动态字体插件包对NGUI2.3.6以及之后的版本有兼容问题,笔者已经做了修改适应NGUI2.5.0,经测试目前没有明显bug,动态插件包的原作者地址http://www.tasharen.com/forum/index.php?topic=2707.25
4、打开windows控制面板中的字体文件夹
5、测试使用华文行楷的字体,直接拖入到unity3d的project文件夹中就可以了
拖入后,如下显示
6、新建一个材质ttfMaterial
7、材质的shader选择Transparent Colored(DynamicFont)
8、在unity的Hierarchy中新建一个空物体(GameObject),改名为ttfFont
点击物体的inspector面板中的Add Component,选择NGUI->UI->Font
9、FontType选择Dynamic,显示如下
10、将先前生成的STXINGKA字体和ttfMaterial分别投入到Font和Material下面
其中,Size代表生成的字体大小,Style可以选择斜体、粗体等
11、将Hierarchy中的ttfFont物体拖入到Project中,变为预置物体(Prefab),ttf动态字体就完成了
12、清空Hierarchy,加入NGUI的层次结构
13、加入一个背景,选择了插件自带例子中的Fantasy Atlas作为素材(这一步可以省略,只是为了让字体看的更加突出一点)
14、加入一个label
15、将刚才拖为预置物体的ttfFont直接拖入到UILabel的材质上面,就可以了
16、字体显示效果如下,如果想让字体显示更大或者更加清晰,可以在第10步制作字体的时候将字体的size选择更大的字号
目前存在的问题:字体无法换行,如果想显示多行字体,必须使用多个label,初步猜想是在解析内容的时候,没有加入换行符的解析,笔者有空将研究代码,看看有没有可能解决
相关文章推荐
- Unity3D Android手机开发环境配置,可真机发布调试
- Unity嵌入Android后Android视图获取不到事件焦点
- unity3d 发布后动态修改地形高度源码
- Unity 通过 www 下载 assetbundle , 在 iOS9 设备无法下载的问题
- unity3d利用sharesdk分享内容至微信、新浪微博、qq空间等国内主流社交平台(ios篇)
- Unity性能优化-总篇
- Unity5的uGUI中实现文字渐变效果(Gradient)
- Unity实现一个morpher/blendShape
- [shader]Unity3D地形
- 通过Scroll View实现简易背包的滑动效果
- win8.1 unity静默调用打印机
- unity 球体表面平均分割点
- unity 球体表面平均分割点
- unity基础概念
- unity3d脚本控制骨骼旋转
- Unity手游之路<十三>手游代码更新策略探讨
- Unity手游之路<十二>手游资源热更新策略探讨
- Unity手游之路<十一>资源打包Assetbundle
- Unity 行为树 Behavior Designer
- Unity下SpriteSheet 使用