您的位置:首页 > 移动开发 > Unity3D

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,初步猜想是在解析内容的时候,没有加入换行符的解析,笔者有空将研究代码,看看有没有可能解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: