本文始發於:https://www.cnblogs.com/wildmelon/p/16144087.html
一、參考資料
二、說明
Unity 提供了 AssetPostProcessor 允許開發者掛接到導入管線並在導入資源的前后運行腳本。可用於項目中強制執行某些最低標准。每次導入資源或者資源的導入設置發生更改時將回調此類。
AssetPostProcessor 中可以獲取到資源的導入器 AssetImporter,通常是在 OnPreXXX 回調中對 assetImporter 進行預處理以影響資源導入的結果。
通常,預處理可根據文件的后綴(png/jpg/...)、與美術協定的資源命名格式、當前導入的平台、當前資源的路徑來對項目中的資源進行約束。
常用的回調接口包括:
- OnPreprocessTexture,導入紋理,可能是最常用的回調,對各種圖片資源進行預處理(壓縮格式,讀寫開關,最大紋理大小)
- OnPreprocessAudio,導入音頻剪輯
- OnPreprocessModel,導入模型,根據模型資源的命名規則或者存放路徑進行分類處理
- OnPreprocessAsset,在導入所有資源之前獲取通知
三、AssetPostprocessor
可配合 ScriptableObject 和 Preset 將部分硬編碼的數據進行封裝,可以更方便地進行修改和調試
using UnityEditor;
public class TexturePostprocessor : AssetPostprocessor
{
void OnPreprocessTexture()
{
TextureImporter textureImporter = assetImporter as TextureImporter;
textureImporter.isReadable = false;
}
}