Unity3D下NGUI插件使用中文TrueTypeFont(ttf)字庫教程


原創教程,如需轉載,請注明作者和出處,謝謝

使用環境:需要Unity 4.x的版本,NGUI本教程使用的是2.5.0版本

1、新建一個新的項目

image

2、導入NGUI2.5.0版本的插件包

image

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控制面板中的字體文件夾

image

5、測試使用華文行楷的字體,直接拖入到unity3d的project文件夾中就可以了

拖入后,如下顯示

image

6、新建一個材質ttfMaterial

image

7、材質的shader選擇Transparent Colored(DynamicFont)

image

8、在unity的Hierarchy中新建一個空物體(GameObject),改名為ttfFont

點擊物體的inspector面板中的Add Component,選擇NGUI->UI->Font

imageimage

9、FontType選擇Dynamic,顯示如下

image

10、將先前生成的STXINGKA字體和ttfMaterial分別投入到Font和Material下面

其中,Size代表生成的字體大小,Style可以選擇斜體、粗體等

image

11、將Hierarchy中的ttfFont物體拖入到Project中,變為預置物體(Prefab),ttf動態字體就完成了

image

 

12、清空Hierarchy,加入NGUI的層次結構

image

13、加入一個背景,選擇了插件自帶例子中的Fantasy Atlas作為素材(這一步可以省略,只是為了讓字體看的更加突出一點)

image

14、加入一個label

image

15、將剛才拖為預置物體的ttfFont直接拖入到UILabel的材質上面,就可以了

image

16、字體顯示效果如下,如果想讓字體顯示更大或者更加清晰,可以在第10步制作字體的時候將字體的size選擇更大的字號

image

 

目前存在的問題:字體無法換行,如果想顯示多行字體,必須使用多個label,初步猜想是在解析內容的時候,沒有加入換行符的解析,筆者有空將研究代碼,看看有沒有可能解決


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM