今天我們來看一下怎么自定義NGUIAtlas,制作屬于自己風格的UI。
第一部分:自定義 Atlas
1 . 首先我們要準備一些圖標素材,也就是我們的UI素材,將其導入到unity工程中。
2. 全選我們需要用到的UI素材。選擇菜單NGUI-->Open the Atlas Maker(快捷鍵 Alt +shift+M)。打開Atlas Maker窗口,如圖

我們可以看到,剛才選擇的圖片素材已經在下面的Spirit窗口中列出來了。
3. 在Create右側為Atlas起個名稱,其余默認即可(這里第二個參數Select可以讓我們在現有的Atlas基礎上添加新的圖片進去)。點擊 Create,NGUI會自動為我們完成創建。等待一會完成之后,回到Project視圖,可以看到剛才選擇的圖片的目錄下多了三個物體,如圖

分別是Atlas的材質球,Atlas,Atlas組合后的圖片。
4. 現在我們可以使用自己定義的Atlas了,新建一個UI,然后選擇菜單NGUI—>Open the widget wizard,打開widget窗口,把我們剛才新建的Atlas拖到Atlas窗口,然后我們在創建Button等的時候,就可以選擇我們自己的UI圖片。
第二部分: 自定義Font.
自定義字體常用的有兩種方法,第一種方法是導出一些我們需要的文字,單獨制作字體。第二種是全部導入整個字體文件,然后動態使用需要的字體。
第一,單獨選擇使用到的字體。這種方法需要用到一個小軟件:bmfont,位圖字體生成工具。下載鏈接見附件,內附使用說明,完全按照默認安裝即可。安裝完成后打開,界面如圖,

這里中間的列表是我們現有字體的文字圖集列表。右側是不同的分類。選擇菜單 options,font settings,打開字體設置窗口

在這里設置我們需要的字體,比如我們這里選擇的是微軟雅黑,編碼格式使用默認的Unicode,字體大小設置為32,其他默認即可,點擊OK。
然后是選擇我們需要的文字,因為在這里列出了所有的雅黑字體的文字,我們有時候不需要這么多,我們就要選擇我們需要的文字導出。首先我們打開記事本,輸入我們需要的文字。然后保存,在保存的時候注意使用Utf8編碼保存

回到bmfont窗口,選擇菜單,edit-->Select chars from file(從文件選擇字符)。找到我們剛才保存的Txt文件,然后點擊打開。bmfont會自動為我們選擇我們需要的字符。設置字體輸出格式:點擊 Options-->Export options打開輸出設置窗口,如圖

設置輸出尺寸為2048,這里的大小根據我們選擇的字符多少確定,如果字符數少,可以選擇1024或者更少,一般常用中文字體加一塊大概四千左 右,2048大小的圖片即可完全容納。設置圖像深度為32比特,因為我們需要用到Alpha通道。在Presets選項下選擇帶有Alpha通道的輸出設 置,字體顏色可以選擇白色或者黑色,設置Textures為PNG格式,點擊OK,回到主界面。
導出字體:選擇菜單Options-->Save bitmap font as。打開保存窗口,命名保存,然后打開保存的目錄,我們可以看到,我們導出了兩個文件,一個帶有我們選擇文字的Png格式的圖片,另一個記錄字符信息的 txt文本文件。拷貝導出的兩個文件到Unity工程目錄下。
制作字體:選擇菜單NGUI-->Open the Font Maker,打開字體制作窗口,如圖:

在Type中選擇bitmap,將我們剛才導出字體的Txt文本文件拖到Font Data槽中,Texture設置為剛才導出的字符圖片,輸入字體名稱,其余默認,點擊Create the font。完成字體的創建。以后我們就可以在任何地方使用我們創建的字體了。這個方法有個缺點就是我們必須事先知道我們所要用到的字符,然后導入制作字 體。假如輸入我們沒有用到的字符,將無法顯示。如何解決這樣的問題呢?那就是動態字體啦。
第二種制作字體方法,動態字體。
1. 首先我們導入需要的字體,從Windows/fonts目錄下拷貝出我們需要的字體,粘貼到Unity工程目錄下。此過程需要一段時間的導入。導入完成后,我們可以看到字體包括兩個子文件,一個材質球和一個貼圖文件。
2. 制作動態字體,選擇菜單NGUI--->Open the Font Maker,打開字體制作窗口,將Type設置為dynamic方式,拖放我們導入的字體文件到 Font TFF下, 設置我們需要的 Font Size。還可以設置字體方式為加粗,斜體等效果。
3. 點擊Create the font 完成動態字體創建。此方法創建的字體優點就是可以使用該字體包含的任何文字,不用擔心找不到字符的問題。