天天看點

Unity導入模型的中文紋理檔案問題

Unity導入模型經常出現紋理丢失的問題。本人做了個測試,發現紋理如果使用中文名稱或者紋理處于中文目錄下,都會出現問題。

測試如下:

使用max建立4個測試模型。從左邊到右邊的4個模型,使用的紋理路徑分為别:

中文圖檔.JPG;  En_img.JPG;  中文檔案夾\En_img_in_ZH.JPG;  中文檔案夾\中中圖檔.JPG

Unity導入模型的中文紋理檔案問題

将場景導出為test.PBX,将PBX檔案和然後将4個紋理圖檔拷貝到Unity的Assets目錄下。

這裡注意。由于Unity會對每一個紋理檔案檔案生成全局的唯一ID,是以就算你把所有的紋理檔案丢在Unity工程的一個目錄下也可以找到。

不過這帶來的問題是紋理名不能有重名。

将test.PBX拖入場景,發現隻有不在中文目錄下的英文紋理名能被正确加載。

Unity導入模型的中文紋理檔案問題

同時可以注意到,Unity成成的Materials檔案夾内,紋理名為中文的.mat檔案都變成了亂碼。

Unity導入模型的中文紋理檔案問題

同樣的,放在中文路徑下的紋理,會出現找不到紋理檔案。

Unity導入模型的中文紋理檔案問題

當然,在這裡可以手動指定紋理檔案。如果模型多的話自然是很麻煩的事。

總結一下,導出模型時,紋理要注意以下幾點:

1、模組化的時候,紋理名不要使用中文。

2、模組化的時候,紋理檔案不要放在中文目錄下。但是可以放在Unity工程裡面的中文目錄下。

3、工程中每個紋理名不要重名。

4、修改了紋理以後,在Unity中删除模型的Materials檔案夾,然後重新導入PBX即可更新。

繼續閱讀