[Unity基础]导入贴图、模型等资源文件时自动设置参数

代码设置Unity资源导入参数

 

脚本继承至AssetPostprocessor, 存放在Editor目录下!该类官方文档:https://docs.unity3d.com/ScriptReference/AssetPostprocessor.html

该类下有很多种资源导入完成消息通知:

OnPostprocessAudio音效导入完成

OnPostprocessMaterial材质导入完成

OnPostprocessModel模型导入完成

OnPostprocessTexture贴图导入完成

OnPostprocessAllAssets所有资源导入完成 。。。等等

还有资源导入前:

OnPreprocessTexture图片导入之前调用。。。等等

using UnityEngine;
using System.Collections;
using UnityEditor;
 
///


/// AssetPostprocessor: 贴图、模型、声音等资源导入时调用,可自动设置相应参数
/// 导入图片时自动设置图片的参数
///

public class TextureImportSetting : AssetPostprocessor{
 
    ///
    /// 图片导入之前调用,可设置图片的格式、Tag……
    ///

    void OnPreprocessTexture()
    {
        TextureImporter importer = (TextureImporter)assetImporter;
        importer.textureType = TextureImporterType.Sprite; // 设置为Sprite类型
        importer.mipmapEnabled = false; // 禁用mipmap
        //importer.spritePackingTag = "tag"; // 设置Sprite的打包Tag
 
        Debug.Log("OnPreprocessTexture");
    }
 
    ///
    /// 图片已经被压缩、保存到指定目录下之后调用
    ///

    ///
    void OnPostprocessTexure(Texture2D texture)
    {
        Debug.Log(texture.name);
    }
 
    ///
    /// 所有资源被导入、删除、移动完成之后调用
    ///

    ///
    ///
    ///
    ///
    static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
    {
        foreach (string str in importedAssets)
        {
            Debug.Log("Reimported Asset: " + str);
        }
        foreach (string str in deletedAssets)
        {
            Debug.Log("Deleted Asset: " + str);
        }
 
        for (int i = 0; i < movedAssets.Length; i++)
        {
            Debug.Log("Moved Asset: " + movedAssets[i] + " from: " + movedFromAssetPaths[i]);
        }
    }
}
 

你可能感兴趣的:([Unity基础]导入贴图、模型等资源文件时自动设置参数)