Unity踩坑記錄
1.問題:
字體間相互依賴
項目中導入的兩種字體“ConstantiaBold”與“ConstantiaRegular”,打AB時發現了互相依賴,能通過AssetDatabase.GetDependencies(ttfPath)方法找到兩者之間的依賴關係。
而這兩個資源本沒有什麼關聯,後來看到文章後知道:
字體爲Dynamic類型時,其會根據Font Names建立關聯,此處的Font Names不是指字體文件的文件名,而是指字體內部名(TrueTypeFontImporter.fontTTFName)。
因爲這裏的名稱一樣,所以資源導入時編輯器做了關聯。
解決方法:參考鏈接:https://blog.csdn.net/weixin_34293141/article/details/89999755
1/ 較爲合理的解除關聯的方法:用FontCreator重命名字體內部名,使獲取的TrueTypeFontImporter.fontTTFName不相同即可。
步驟如下:
1)用FontCreator打開ConstantiaRegular.ttf文件後,通過【字體】【屬性】打開屬性面板。
2)切換到【擴展】頁籤,修改【字體族】爲你想要的FontNames,如:“ConstantiaRegular”。
3)導出:【文件】【導出字體爲】選擇TrueType字體,字體名稱選擇【版本重新生成】,ConstantiaRegular.ttf。
可以看到特別乾淨了:
2/ 較爲方便的解除關聯的方法:修改ttf對應的meta文件,將其中的fallbackFontReferences:[]修改爲
修改兩個字體的meta文件,fallbackFontReferences:[]修改爲:
fallbackFontReferences:[]
-
然後看編輯器裏關聯就沒有了:
ontReferences:[]
-
然後看編輯器裏關聯就沒有了: