Unity手游漢化筆記③:UABE替換BMFont


總的筆記:https://www.cnblogs.com/guobaoxu/p/12055930.html


目錄

一、Demo

二、分析思路

三、替換

四、總結

五、補充

工具:

  Unity版本:2018.4.5f1

  Bitmap Font Generator:簡稱BMFont,就是常用的那個做位圖字體的工具,地址:http://www.angelcode.com/products/bmfont/

  AssetStudio:地址:https://www.perfare.net/tag/assetstudio

  UABE:地址:https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor

一、Demo

  BMFont主要是NGUI在用,所以先做一個簡單的Demo,用UGUI在屏幕上寫一行字,采用黑體做成的BMFont,先用BMFont軟件做,再導入Unity,Demo效果如下。目標是給他換成別的字體。

二、分析思路

  BMFont由兩部分組成,一張圖+一個文本(fnt后綴名),但是在導入Unity的時候,NGUI插件還加了一個Prefab和一個Material,不管怎么樣,先用AssetStudio來預覽,首先圖是找到了,這個肯定是要改的,也比較簡單,然后是找到了一個MonoBehavior,參數預覽如下:

  顯然BMFont的文本被改寫成了這個MonoBehavior,那么替換就很簡單了,再做一個含有新字體的APK,先用UABE導出需要替換的這兩個部分,再導回去就結束了

三、替換

  和TTF不同,BMFont一般不會包含很多字符,所以用UABE來DUMP文本的話並不會很大。首先是這MonoBehavior的替換,分別Dump出新舊字體的參數文本,把新字體里面的指針都改成和舊字體一樣,如下圖紅圈覆蓋部分,然后把新字體的參數導入給舊字體。

  圖片替換就比較簡單了,直接找到圖片對應的Texture2D,右側Plugins-Edit-Load新圖,即可。

  最后保存重新打包APK就完成了,最終效果如下

四、總結

  完整操作:

  ① 用新字體做一個簡易Demo

  ② 用新字體的MonoBehavior和圖片分別替換

  ③ 實際上在MonoBehavior里面有一個指針指向了Material,如果替換之后效果不理想,可以把他也替換了,和替換MonoBehavior的時候相似,內部的指針必須保持

五、補充

  在實際應用中,我曾經遇到了文本和圖片還保留着的情況,測試過,沒有了MonoBehavior要替換,取而代之的是TextAsset和Texture2D要換,這兩個UABE都有插件,替換起來很方便。而且只需要用BMFont做出新字體就可以了,不需要用Unity。


免責聲明!

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



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