unity Sprite Editor 無法修改 Sprite
今天遇到一個奇怪的問題, 將素材用 texture pack 導入到 unity, 要使用 Sprite editor 設定 border, 發現左下角這個素材一直點不到, 不管怎麼點綠色的選取都會選到最上方的素材, 而且這時候會發現有兩個綠色選取框, 正常的情況應該是像右側圖一樣.
測試換圖發現就是某幾個素材有毛病, 一開始以為是 alpha 間格太小, 調整了 texture packer 設定還是沒用, 最後想說自己修改 sprite 設定看能不能解決問題, 結果發現了奇怪的地方
Sprite Editor 修改的配置最終是在 Atlas_CardPK.png.meta 裡面的, 而 texture packer 導出的是 Atlas_CardPK.tpsheet, 修改這個沒有任何效果
而在 Atlas_CardPK.png.meta 發現了出問題的地方, 如下圖, SpriteID: 00000000000000000800000000000000, InternalID: 0
這時候把 SpriteID 自行修改附值, 修改沒有重複的隨意值如下
切換回 unity 開啟 Sprite Editor 隨便修改一個值點 Apply , 再切回去 Atlas_CardPK.png.meta 發現 unity 已經自動修改 SpriteID, 之後 texture packer 再重新生成倒出資源都不會有問題
這個問題應該是 unity temp 緩存的 uuid 有問題才會造成 texture packer 匯出資源無法獲取正常 SpriteID, 只要生成正常了就好了