Unity3D 导入贴图、模型等资源文件时自动设置参数


脚本继承至AssetPostprocessor, 存放在Editor目录下!

 

using UnityEngine;
using System.Collections;
using UnityEditor;

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

    /// <summary>
    /// 图片导入之前调用,可设置图片的格式、Tag……
    /// </summary>
    void OnPreprocessTexture()
    {
        TextureImporter importer = (TextureImporter)assetImporter;
        importer.textureType = TextureImporterType.Sprite; // 设置为Sprite类型
        importer.mipmapEnabled = false; // 禁用mipmap
        //importer.spritePackingTag = "tag"; // 设置Sprite的打包Tag

        Debug.Log("OnPreprocessTexture");
    }

    /// <summary>
    /// 图片已经被压缩、保存到指定目录下之后调用
    /// </summary>
    /// <param name="texture"></param>
    void OnPostprocessTexure(Texture2D texture)
    {
        Debug.Log(texture.name);
    }

    /// <summary>
    /// 所有资源被导入、删除、移动完成之后调用
    /// </summary>
    /// <param name="importedAssets"></param>
    /// <param name="deletedAssets"></param>
    /// <param name="movedAssets"></param>
    /// <param name="movedFromAssetPaths"></param>
    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]);
        }
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM